Está en la página 1de 4

c 


    
   


Un problema que satisface restricciones (o) es un tipo especial de problema que satisface
algunas propiedades estructurales adicionales además de los requisitos básicos de los
problemas en general.?

×
 
 ?

 los   se definen mediante los valores de un conjunto de variables.?


 y la `  especifica un conjunto de restricciones que los valores deben
satisfacer.?

Ror ejemplo, el problema de las 8 reinas podría considerarse como un R  en el que las
variables son las ubicaciones de cada una de las ocho reinas: los posibles valores serian los
cuadrados del tablero; y las restricciones especifican que no debe haber dos reinas en una
misma fila, columna o diagonal.?

La solución de un R  especifica valores para todas las variables de manera tal que se
satisfagan las restricciones. La  `    y la     

  

 VL  también se pueden considerar como casos de R . Diversos tipos de
problemas de diseño y programación se pueden formular como R , por lo que constituyen
una sub clase muy importante. Aunque  
 
  
 ``` 
 , debido a su especial estructura, se obtienen mejores
resultados utilizando algoritmos diseñados especialmente para los R .?

Las restricciones son de diverso tipo. Las unarias se refieren al valor de una sola variable.?

` ?


Las variables correspondientes al dígito del extremo izquierdo de una de las hileras de
un problema de criptoarimética tienen la restricción de no ser nunca 0.?
 Las binarias se refieren a pares de variables.?
 Las restricciones del problema de las 8 reinas son todas binarias.?
 Las restricciones de orden superior entrañan una restricción de adición y pueden llegar
a tener varias variables.?
 Y, por último, las restricciones pueden ser absolutas, y cuya violación rige una solución
potencial, o restricciones de preferencia, y que dirán qué tipo de solución es la que se
prefiere.?

Ñada variable, V i, de un R  tiene un 


 Di, que es el conjunto de posibles valores que
puede adoptar la variable. El dominio puede ser   o 

.?

` ?

Al diseñar un carro, entre las variables pueden figurar los pesos de las componentes (continuo)
y los fabricantes de los componentes (discreto).?

La    

 especifica el subconjunto permisible para el dominio; una   


  entre dos variables especifica el subconjunto permisible del producto cruz de los dos
dominios. En el caso de los R  discretos, cuyos dominios son finitos, las restricciones se
representan sencillamente enumerando las combinaciones permitidas de los valores.?

` ?

en el problema de las 8 reinas, si V es la hilera que ocupa la primera reina en la primera


columna y V2 es la hilera ocupada por la segunda reina en la segunda columna. Los dominios
de VJ y V2 son {1,2,3,4,5,6,7,8}. La restricción de la imposibilidad de un ataque que vincula a
V y V2 se representa mediante un conjunto de pares de valores permisibles para V y para V2:
{(1,3), (1,4), (1,5),..., (2,4), (2,5),...}, etcétera. En conjunto, la restricción de imposibilidad de.
ataque entre V y V2 rige 22 de 64 posibles combinaciones. Utilizando esta idea de la
enumeración, todo R  discreto puede reducirse a un R  binario.?

No es posible enumerar de esta misma forma las restricciones relativas a variables continuas.
Rara la resolución de los R  continuos se necesita un álgebra muy compleja. En este objetivo
se tratarán sólo restricciones discretas, absolutas, binarias (o unarias). Tales restricciones son
contadas todavía con la suficiente expresividad que les permite manejar una amplia gama de
problemas y utilizar muchas de los más interesantes métodos de solución.?

Rrimero hay que considerar cómo puede aplicarse un algoritmo de búsqueda de propósito
general a un R .?

 El estado inicial será el estado en el que todas las variables todavía no están
asignadas.?
 Los operadores asignarán un valor a una variable, tomándolo del conjunto de los
valores posibles.?
 Ñon la prueba de meta se verifica si todas las variables están asignadas y si se
satisfacen todas las restricciones.?

Nótese que la profundidad máxima del árbol de búsqueda se fija como n, la cantidad de
variables, y que la profundidad de todas las soluciones es n. Ror lo tanto, es confiable emplear
la búsqueda preferente por profundidad, puesto que no existe el riesgo de ir demasiado
profundo y tampoco se necesita ningún límite de profundidad arbitrario.?

En la implantación más intuitiva a una variable no asignada correspondiente a un estado


determinado, mediante un operador se le puede asignar un valor, en cuyo caso el factor de
ramificación puede llegar a tener el valor máximo, en el problema de las 8 reinas este valor es
de 64. Una mejor forma de resolverlo es aprovechar el hecho de que el orden de las
asignaciones de la variable es irrelevante para la solución final. Ñasi la totalidad de los
algoritmos del R  generarán sucesores al elegir valores exclusivamente para una sola
variable en cada nodo.?

` ?
En el problema de las 8 reinas, puede asignarse un cuadrado a la primera reina, en el nivel 0,
otra la segunda reina en el nivel 1 y así sucesivamente. Así, en el problema de las 8 reinas, se
genera un espacio de búsqueda del tamaño 8 .?
8

Mediante una búsqueda directa preferente por profundidad se evalúan todas estas
posibilidades. Ruesto que en los R  se consideran como casos especiales algunos muy
conocidos problemas NR completos, como el de 3 AT, no es de esperar un desempeño mejor
al de la complejidad exponencial en el peor de sus casos. in embargo, en la mayoría de los
problemas reales? puede aprovecharse la estructura del problema para eliminar una parte
considerable del espacio de búsqueda. La principal fuente de estructura en el espacio del
problema deriva de que en los 'R , la prueba de la meta se descompone en un conjunto de
restricciones impuestas a las variables, en vez de funcionar como una "caja negra".?

En la búsqueda preferente por profundidad en un R  se pierde tiempo empleado en ver


cuándo se violan las restricciones. Debido a la manera cómo se definen los operadores, es
imposible emplear uno de éstos para recuperar restricciones violadas.?

` ?

upóngase que ponemos las dos primeras reinas en la primera hilera superior. En una
búsqueda preferente por profundidad se procede a revisar todas las 86 posiciones posibles
para las seis reinas restantes, sin darse cuenta de que no se va a encontrar solución alguna en
ese sub árbol.?

La primera mejora que hay que hacer es incluir la realización de una prueba antes de que la
generación de sucesores proceda a verificar si como consecuencia de las asignaciones de
variable efectuadas hasta el momento se violó alguna restricción. El algoritmo respectivo,
denominado  , de marcha atrás para intentar otra acción.?

La búsqueda reversivatiene ciertas deficiencias obvias. upóngase que los cuadros elegidos
para las primeras seis reinas impiden la colocación de la octava reina, puesto que las primeras
pueden atacar los ocho cuadrados de la última columna. Una reversión probará a colocar la
séptima reina en todas las ubicaciones posibles, no obstante que el problema de antemano es
ya irresoluble, considerando las primeras seis elecciones realizadas. Mediante   


 ` puede evitarse este problema, pues al tratar de determinar de antemano si el
problema es irresoluble. Ñada vez que se asigna un valor específico a una variable, la
verificación anticipada borrará de los dominios de las variables que todavía no tienen valores
específicos aquellos que entren en conflicto con las variables que hasta ese momento hayan
sido asignadas. i uno de los dominios quedara vacío, la búsqueda de inmediato se revierte.
Ror lo general la verificación anticipada es mucho más rápida que la reversión y su
implantación es sencilla.?

La verificación anticipada es un caso especial de la   


`
  
  de arco. e
dice que en un estado hay 
  
  si toda variable tiene un valor en su dominio
congruente con todas las restricciones de dicha variable. La consistencia de arco se logra
borrando uno tras otro aquellos valores incongruentes con alguna restricción. Ñonforme se van
borrando los valores, si en éstos estaban basados también otros valores, éstos también se
volverán incongruentes. Es decir, en la consistencia de arco se produce una forma de
propagación de restricciones, conforme van disminuyendo las opciones. En algunos casos, el
logro de la consistencia de arco basta para resolver completamente un problema al reducir los
dominios de todas las variables a semifallos. Es frecuente emplear la consistencia de arco
como un paso previo al procesamiento, aunque también se puede emplear durante la
búsqueda misma.?

in embargo, se obtendrán mejores resultados si se escoge cuidadosa mente qué


variable concretar y qué valor se somete a prueba
BBLAFA

Rag. 89 - 91, 
 
    


 , tuart ussell, Reter
Norvig, ed. Rrentice Hall, 1996