Upload
scribi361
View
28
Download
1
Tags:
Embed Size (px)
Citation preview
Tema 3: Problemas de Satisfacción deRestricciones
Serafín Moral (Antonio González)
Universidad de Granada
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Tema 3: Satisfacción de Restricciones
Contenido
Problemas de satisfacción de restricciones
Métodos de búsqueda
Búsqueda local para problemas de satisfacción derestricciones
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Problemas de Satisfacción de Restricciones
Un tipo particular de problemas que van a tener asociados
Métodos de búsqueda particulares
Heurísticas de propósito general
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Problemas de Satisfacción de Restricciones (PSRs)
Un problema de búsqueda standard
Un estado puede ser cualquier estructura de datos que sepueda evaluar y de la que podamos calcular los sucesores.
Un problema de satisfacción de restricciones
Un conjunto de variables (X1, . . . , Xn)
Cada variable Xi toma valores en un dominio Di .
Un conjunto de restricciones C1, . . . , Cm.
PSRs: objetivo
Encontrar una asignación para todas las variablesX1 = a1, . . . , Xn = an que verifique todas las restricciones.
Podemos diseñar algoritmos específicos para estos problemas,más potentes que los de propósito general.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Colorear mapas
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Variables WA, NT , Q, NSW , V , SA, T DominiosDi = {rojo, verde, azul}Restricciones: las regiones adyacentes tienen que tenercolores distintos WA 6= NT (si tenemos un lenguaje quepermita esta expresión), o de forma extensiva (WA, NT ) ∈{(rojo, verde), (rojo, azul), (verde, rojo), (verde, azul), . . .}
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Colorear mapas
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Las soluciones son asignaciones completas que verifican todaslas restricciones:
{WA = rojo, NT = verde, Q = rojo, NSW = verde,
V = rojo, SA = azul , T = verde}
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Problemas de Satisfacción de Restricciones (PSRs)
Una asignación que no viola ninguna restricción se llamaconsistente.
Una asignación completa es una asignación en la queaparecen todas las variables.
Una solución es una asignación completa y consistente.
Algunos PSRs requieren una solución que maximiza unafunción objetivo
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Problemas de Satisfacción de Restricciones (PSRs)
Saber si existe una solución de una problema PSR es, engeneral, es NP-completo
La obtención de soluciones óptimas es NP-difícil
Se requiere una gran eficiencia en los procesos debúsqueda
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Colorear mapas
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Las soluciones son asignaciones completas que verifican todaslas restricciones:
{WA = rojo, NT = verde, Q = rojo, NSW = verde,
V = rojo, SA = azul , T = verde}
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Grafo de restricciones
Problema binario: Cada restricción involucra, a lo más, dosvariables.
Grafo de restricciones: los nodos son variables, los arcosmuestran restricciones.
Victoria
WA
NT
SA
Q
NSW
V
T
Los algoritmos pueden usar esta estructura para mejorarla búsqueda. Por ejemplo, se ve que la asignación deTasmania es una problema independiente.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Tipos de enfoques
Formulación incrementalEstado inicial: la asignación vacía {}Función sucesor: un valor se puede asignar a cualquiervariable no asignada, a condición de que no suponganingún conflicto con variables antes asignadasTest objetivo: la asignación actual es completaCosto del camino: un costo constante para cada paso
Propiedades
Esta formulación es idéntica para todos los PSRs
Cada solución aparece a la misma profundidad n.Podemos buscar en profundidad.
El camino a la solución es irrelevante.
¡¡¡¡Hay n!dn hojas!!!!
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Tipos de enfoques
Formulación completa de estadosDado que el camino que alcanza una solución esirrelevante, se pueden manejar estados con asignacionescompletas.Uso de métodos de búsqueda local.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Tipos de problemas
Variables discretas y dominios finitosSi d es el tamaño máximo del dominio de cualquiervariable, entonces el número de posibles asignaciones esO(dn).
Dominios infinitosLenguaje de restricciones Comienzo1 + 5 ≤ Comienzo2
Restricciones linealesRestricciones no lineales
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Tipos de restricciones
Restricciones absolutasRestricciones unarias.Restricciones binarias.
Un PSR binario es un problema sólo con restriccionesbinarias y puede representarse como un grafo derestricciones.
Restricciones de orden más alto.
Restricciones de preferenciaA veces, la preferencia está asociada a un coste por cadavalor de cada variable
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Puzzles cripto-aritméticos
Hipergrafo de restricciones
OWTF U R
+OWTOWT
F O U R
X2 X1X3
Variables: F , T , U, W , R, O, X1, X2, X3
Dominios: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Restricciones:TodasDistintas(F , T , U, W , R, O)O + O = R + 10 · X1, etc.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Problemas de Propagación de Restricciones Reales
Problemas de asignación (por ejemplo, asignación deprofesores a clases)
Problemas de horarios (horas y aulas de las clases)
Problemas de configuración de hardware
Problemas de transporte
Organización de trabajos
Asignación de presupuestos
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Técnicas de búsqueda sin información
Uso de búsqueda en anchura: se genera un árbol conn!× dn hojas.
Propiedad crucial común a todos los PSRs: laconmutatividad (el orden de aplicación de cualquierconjunto de acciones no tiene ningún efecto sobre elresultado).[WA = red , NT = green] es lo mismo que [NT = green,WA = red ]
Debido a la conmutatividad, hay dnhojas
En cada nodo consideramos la asignación de un valor auna nueva variable.
La búsqueda en profundidad donde en cada paso seasigna sólo un valor a una variable, se llama algoritmo devuelta atrás.
Pueden resolver el problema de las n-reinas para n ≈ 25.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Algoritmo de vuelta atrás
Se llama a la función recursiva VUELTAATRAS({}, PSR)
VUELTAATRAS(Asignacion, PSR)
1: if Asignacion es completa then2: return Asignacion3: Seleccionar una variable no asignada X4: for Valor posible de X do5: if X = Valor es consistente con las asignaciones then6: Añadir X = Valor a Asignacion7: Sol ← VUELTAATRAS(Asignacion, PSR)8: if Sol no es No-Solucion then9: return VUELTAATRAS(Asignacion, PSR)
10: return No-solucion
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Algoritmo de vuelta atrás
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Algoritmo de vuelta atrás
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Algoritmo de vuelta atrás
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo: Algoritmo de vuelta atrás
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Árbol de nodos
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comparación de algoritmos
Tabla del número de nodos analizados
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Mejoras del algoritmo básico
¿Qué variable debe asignarse después, y en qué ordendeberían intentarse sus valores?
¿Cuáles son las implicaciones de las variables actualespara el resto de variables no asignadas?
Cuando un camino falla, ¿puede la búsqueda evitar repetireste fracaso en caminos siguientes?
¿Podemos aprovechar la estructura del problema?
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Variable y ordenamiento de valor
Mínimos valores restantes
Grado heurístico
Valor menos restringido
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Mínimo Valores Restantes
Heurística MVR o variable más restringida
Elegir la variable a la que le quedan menos valores posibles(está más restringida).
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comparación de algoritmos
Tabla del número de nodos analizados
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
El Grado Heurístico
Intenta reducir el factor de ramificación sobre futurasopciones,
Selecciona la variable, entre las no asignadas, que estéimplicada en el mayor número de restricciones
La heurística MVR es más poderosa, pero el gradoheurístico es útil en casos de empate
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
La Selección del Valor
Valor menos restringido
Dada una variable, elegir el valor que restringe menos losvalores de las variables no asignadas.
Allows 1 value for SA
Allows 0 values for SA
Se elige la opción Q = Roja.
Combinando estas heurísticas se puede resolver el problemade las 1000-reinas.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Propagación de la información a través de lasrestricciones
Comprobación hacia delante
Propagación de restricciones
Manejo de restricciones especiales
Vuelta atrás inteligente
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comprobación hacia delante
Idea
Siempre que se asigne una variable X , el proceso de búsquedahacia delante mira cada variable no asignada Y que esté relacionadacon X por una restricción y suprime del dominio de Y cualquier valorque sea inconsistente con el valor elegido para X . Si hay unavariable sin valores posible vuelve atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comprobación hacia delante
Idea
Siempre que se asigne una variable X , el proceso de búsquedahacia delante mira cada variable no asignada Y que esté relacionadacon X por una restricción y suprime del dominio de Y cualquier valorque sea inconsistente con el valor elegido para X . Si hay unavariable sin valores posible vuelve atrás.
WA NT Q NSW V SA T
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comprobación hacia delante
Idea
Siempre que se asigne una variable X , el proceso de búsquedahacia delante mira cada variable no asignada Y que esté relacionadacon X por una restricción y suprime del dominio de Y cualquier valorque sea inconsistente con el valor elegido para X . Si hay unavariable sin valores posible vuelve atrás.
WA NT Q NSW V SA T
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comprobación hacia delante
Idea
Siempre que se asigne una variable X , el proceso de búsquedahacia delante mira cada variable no asignada Y que esté relacionadacon X por una restricción y suprime del dominio de Y cualquier valorque sea inconsistente con el valor elegido para X . Si hay unavariable sin valores posible vuelve atrás.
WA NT Q NSW V SA T
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comprobación hacia delante
Idea
Siempre que se asigne una variable X , el proceso de búsquedahacia delante mira cada variable no asignada Y que esté relacionadacon X por una restricción y suprime del dominio de Y cualquier valorque sea inconsistente con el valor elegido para X . Si hay unavariable sin valores posible vuelve atrás.
WA NT Q NSW V SA T
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comparación de algoritmos
Tabla del número de nodos analizados
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Propagación de restricciones
La comprobación hacia delante no descubre todas lasinconsistencias, por ejemplo, después de asignar AO=R y Q=V,tanto TN como AS están Obligadas a tomar el valor A, perocomo son adyacentes no pueden tomar el mismo valor.
WA NT Q NSW V SA T
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Arcos consistentes
Una forma más sofisticada de comprobar que los valores sonconsistentes
Se basa en comprobar que toda arista ordenada (X , Y ) delgrafo de restricciones es consistente
Si las restricciones no son binarias, se puede aplicar pero esmás complejo. Habría que considerar las aristas consistentespara toda pareja ordenada (X , Y ) tales que haya una restricciónque involucre a ambas variables.
La consistencia de los arcos se puede hacer al principio y, deforma recursiva, habría que comprobar la consistencia de todoarco (X , Z ) después de que Z haya perdido alguno de susvalores posibles
Arco consistente: Un arco (X , Y ) es consistente si para todovalor posible x de X existe un valor posible y de la variable Y .
Si una arco no es consistente, se eliminan todos los valoresposibles de X para los que no exista un valor consistente de Y
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo
WA NT Q NSW V SA T
Y de esta forma, se comprueba que no existe ningún valorposible para SA con lo cual podemos realizar una vuelta atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo
WA NT Q NSW V SA T
Y de esta forma, se comprueba que no existe ningún valorposible para SA con lo cual podemos realizar una vuelta atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo
WA NT Q NSW V SA T
Y de esta forma, se comprueba que no existe ningún valorposible para SA con lo cual podemos realizar una vuelta atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo
WA NT Q NSW V SA T
Y de esta forma, se comprueba que no existe ningún valorposible para SA con lo cual podemos realizar una vuelta atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Ejemplo
WA NT Q NSW V SA T
Y de esta forma, se comprueba que no existe ningún valorposible para SA con lo cual podemos realizar una vuelta atrás.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Algoritmo
El siguiente algoritmo se aplica al principio a todos los arcos(X , Y ) del grafo de restricciones y, se aplica a todo arco (Z , X )cada vez que X restringe el conjunto de valores posibles.
1: for Cada valor posible x de X do2: if No existe un valor y de Y que sea compatible con x
then3: Eliminar x del conjunto de valores posibles de X
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Manejo de Restricciones Especiales
Restricciones todas distintas TodasDistintas(X1, . . . , Xn)Se puede ver que hay inconsistencia si el número de valores posibles de todaslas variables es inferior al número de variables. Este criterio puede mejorar elcriterio de arcos consistentes.
Restricciones de recursos
T 1, T 2, T 3 y T 4 número de personas asignadas a cuatro tareas:como − maximo(10, T 1, T 2, T 3, T 4)Se puede comprobar la inconsistencia, sumando los valores mínimosposibles de cada variable. También se pueden suprimir los valores másaltos de una variable que son inconsistentes con los valores mínimos delas otras variables.Dos vuelos, 271 y 272 con capacidades 156, 385 respectivamente:Vuelo271 pertenece [0, 165] y Vuelo272 pertenece [0, 385]Restricción adicional: los dos vuelos juntos deben llevar a 420 personas,entonces se deduce:Vuelo271 pertenece [35, 165] y Vuelo272 pertenece [255, 385]Esto se conoce propagación de límites.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Vuelta atrás inteligente
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Vuelta atrás cronológica
Se visita el punto de decisión más reciente
Orden de actuación: Q, NGS, V , T , AS, AO, TN
{Q = rojo, NGS = verde, V = azul , T = rojo}
AS?Vuelta atrás a T inútil
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Vuelta atrás inteligente: salto atrás
Conjunto conflicto para la variable X es el conjunto devariables previamente asignadas Y , tales que el valorasignado a Y evita uno de los valores de X , debido a larestricción entre ambas.El método de salto-atrás retrocede a la variable másreciente en el conjunto conflicto.
Ejemplo
Conjunto conflicto para AS: {Q, NGS, V}
El método salto-atrás retrocede a V sin considerar T
La propagación hacia delante puede proporcionar elconjunto de conflicto inicial.Si desde Xi volvemos hasta Xj , porque Xi se ha quedadosin valores, entonces debemos de actualizar el conflicto deXj con: Conf (Xj)← Conf (Xj) ∪ Conf (Xi)− {Xj}.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Salto atrás dirigido por conflicto
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Orden de actuación: AO, NGS, T , TN, Q, V , ASAsignación parcial AO = Rojo, NGS = Rojo, T = RojoComprobar que cuando TN se queda sin valores,entonces su conjunto de conflicto es: {AO, NGS}.
Cuando AS falla, su conjunto de conflicto es {AO, TN, Q}.Volvemos a Q, con conflicto {TN, NGS}, que quedaactualizado a {AO, TN, NGS}.Volvemos a TN con conlicto {AO} qie se actualiza a{AO, NGS}
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Métodos de búsqueda local
Volvemos a la formulación completa de estados parainvestigar el uso de algoritmos de búsqueda local sobreestados completos.
Se aplican algoritmos de ascensión de colinas,enfriamiento simulado, genéticos, etc.
Se consideran asignaciones completas, peroinconsistentes. Se elige una variable al azar con un valorconflictivo.
Heurística de los mínimos conflictos: seleccionar el valorque cause el número mínimo de conflictos con otrasvariables
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Mínimos conflictos
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Comparación de algoritmos
Tabla del número de nodos analizados
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Mínimos conflictos: comportamiento
Con un estado inicial aleatorio, con esta heurística se puede resolverel problema de las n-reinas en tiempo constante y con una altaprobabilidad (por ejemplo con n = 10,000,000)Lo mismo parece ocurrir en una amplia gama de problemas desatisfacción de restricciones aleatorios excepto en una estrechabanda de la razón:
R =número de restricciones
número de variables
R
CPUtime
critical ratio
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Búsqueda local para problemas de satisfacción derestricciones
La técnica de los mínimos conflictos essorprendentemente eficaz para muchos PSRs, enparticular, cuando se parte de un estado inicial razonable.
Por ejemplo, se ha utilizado para programar lasobservaciones del telescopio Hubble, reduciendo el tiempoutilizado para programar una semana de observaciones,de tres semanas a alrededor de 10 minutos.
Otra ventaja es que se puede utilizar en ajuste onlinecuando las condiciones del problema cambian.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
La estructura de los problemas
Aprovecharse de la existencia de problemasindependientes.
Algoritmos eficientes en caso de estructuras de árbol.
A
B
C
D
E
F
A B C D E F
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Algoritmo en árboles
1: Elegir un nodo como raíz2: Ordenar los nodos desde esta raíz a las hojas, de forma
que el padre de cada nodo lo preceda en este orden.3: Elegir todos los nodos Xj en orden inverso y aplicar la
consistencia de arco entre Xi y Xj , donde Xi es el padre deXj . Eliminar los valores de Xi que sea necesario.
4: Recorrer los nodos en orden directo empezando por la raíz.Para cada nodo Xj elegir un valor que sea consistente conel elegido para su padre Xi
El algoritmo tiene complejidad O(nd2) donde n es el númerode variables y d el número de casos por variable.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Método del condicionamiento
Si el grafo no es un árbol, se puede tratar de conseguir unconjunto pequeño de variables S, tal que si las quitamos delgrafo de restricciones, nos queda un árbol.
Victoria
WA
NTQ
NSW
V
TT
Victoria
WA
NT
SA
Q
NSW
V
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Método de condicionamiento
1: Elegir un subconjunto S de variables que al quitarlas nosquede una estructura de árbol
2: for Cada posible asignacion consistente de valores s de Sdo
3: Quitar del resto de las variables, los valoresinconsistentes con estos valores
4: Resolver el problema de satisfacción de restriccionespara el resto de las variables (árbol)
5: Si se encuentra la solución, adjuntarla a S = s paraobtener una solución al problema original y parar
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones
Construcción de un árbol agrupando variables
¿Los grafos de restricción pueden reducirse a árboles? Si. Mediante un proceso deagrupación de variables:
Cada variable tiene que estar, al menos, en un grupo, pero puede estar envarios.
Si dos variables están unidas en el grafo, debe de existir un grupo que lascontenga
Si una variable está en dos grupos, debe de estar en todo grupo que seencuentre en el camino entre ambas.
Serafín Moral (Antonio González) Tema 3: Problemas de Satisfacción de Restricciones