1 capítulo 5 satisfaccion de restricciones sección 1-3
TRANSCRIPT
![Page 1: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/1.jpg)
1
Capítulo 5
SATISFACCION DE RESTRICCIONES
Sección 1-3
![Page 2: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/2.jpg)
2
Bosquejo
El problema de satisfacción de restricciones (CSP)
Backtracking en CSPsLa búsqueda local para CSPs
![Page 3: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/3.jpg)
3
El problema de restricción (CSPs)
• El problema estándar de búsqueda:• La condición es una “caja negra” – cualquier estructura
de datos que soporta la función sucesor, cualquiera función heurística, y cualquiera meta experimenta CSP:
• La condición está definida por la variable Xi con valores de dominio Di
• La prueba de meta es jugar especificando las restricciones y combinaciones admisibles de valores para los subconjuntos de variables
• El ejemplo simple de un lenguaje formal de representación
• Deja los algoritmos útiles multiusos con más poder que los algoritmos estándar de búsqueda
![Page 4: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/4.jpg)
4
Ejemplo: coloración de un Mapa
• Variable WA, NT, Q, NSW, V, SA, T• Dominio Di = { rojo, verde, azul }• Las restricciones: Las regiones adyacentes deben tener colores
diferentes• v.g., WA ≠ NT, o (WA, NT) { (rojo, verde), (rojo, azul), (verde, rojo),
(verde, azul), (azul, rojo), (azul, verde) }
![Page 5: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/5.jpg)
5
Soluciones: asignaciones completas y coherentes
{WA, rojo}, {NT, verde}, {Q, rojo}, {NSW, verde}, {SA, azul}, {T, verde}, {V, rojo}
Ejemplo: coloración de un Mapa
![Page 6: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/6.jpg)
6
Gráfico de restricciones
• CSP binario: Cada restricción relaciona dos variables• Gráfico de restricciones:
nodos variables, arcos restricciones
![Page 7: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/7.jpg)
7
Variedades de CSPs• Las variables discretas
• Los dominios finitos• n variables, el tamaño de dominio d O(dn) asignaciones completas
• Los dominios infinitos• Los enteros, los instrumentos de cuerda, etc.• v.g., El trabajo programando, variedad de días de
principio /fin para cada trabajo• Restricción nescesita un lenguaje de programación• v.g., StartJob1 + 5 antes StartJob3
• Las variables continuas• v.g., El principio/fin toma el tiempo para
observar• Las restricciones lineales recientes en el
tiempo la programación de polinomios lineales
![Page 8: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/8.jpg)
8
Variedades de restricciones• Unas restricciones implican una sola
variable • v.g., SA ≠ ‚ verde
• Las restricciones binarias implican pares de variables• v.g., SA ≠ WA
• Las restricciones de orden superior involucran 3 o más variables• v.g., Las restricciones de columna de la
criptoaritmética
![Page 9: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/9.jpg)
9
Ejemplo: Criptoaritmética
• Las variables: F T U W R O X1 X2 X3
• Los dominios: {0,1,2,3,4,5,6,7,8,9}• Las restricciones: Alldiff (F,T,U,W,R,O)
– O + O = R + 10 · X1
– X1 + W + W = U + 10 · X2
– X2 + T + T = O + 10 · X3
– X3 = F, T ≠ 0, F ≠ 0
––
–•
![Page 10: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/10.jpg)
10
Los CSPs del mundo real
• Problemas de asignación- v.g., Quien y que clase enseñe
• Problemas temporales- v.g., ¿Cuál clase es ofrecida cuándo y
dónde?• Planificación del transporte• Planificación de fábricas
• Note que muchos problemas del mundo real implican variables de valores reales
![Page 11: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/11.jpg)
11
Formulación estándar (incremento) de búsqueda
Comencemos con el acercamiento directo, luego arreglémoslo
• Las condiciones están definidas por los valores asignados hasta ahora
• La condición inicial: La asignación vacía { }• La función sucesora: Asigne un valor a una variable que
no entre en conflicto con asignación actual falle si no hay asignaciones legales
• La prueba de meta: La asignación actual es completa
• Esto es lo mismo para todos los CSPs• Cada solución aparece a profundidad n (no. de variables)
use búsqueda a lo profundo• El camino es irrelevante, así es que también puede usar
formulación de condición completa
![Page 12: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/12.jpg)
12
Búsqueda hacía atras
![Page 13: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/13.jpg)
13
Ejemplo: de búsqueda hacía atras
![Page 14: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/14.jpg)
14
Ejemplo: de búsqueda hacía atras
![Page 15: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/15.jpg)
15
Ejemplo: de búsqueda hacía atras
![Page 16: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/16.jpg)
16
Ejemplo: de búsqueda hacía atras
![Page 17: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/17.jpg)
17
Búsqueda hacía atrás mas eficiente
• Los métodos multiusos pueden dar ganancias enormes en la velocidad:• ¿Cuál variable debería ser asignada
después?• ¿El que hace el pedido deberían
probar sus valores?• ¿Podemos detectar un fracaso
inevitable antes de que pase?
![Page 18: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/18.jpg)
18
La variable más restringida
• Escoger la variable con menos valores permitidos
• El faltante heurístico del mínimo de a.k.a. se aprecia (MRV)
![Page 19: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/19.jpg)
19
La variable restringida• La pregunta de desempate entre la mayoría de
variables restringidas• La variable restringida:
- Escoja la variable con las la mayoría de restricciones en las variables restantes
![Page 20: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/20.jpg)
20
El valor restringido
• Dada una variable, escoger el valor menos restringido
• Combinando estas heurísticas - 1000 reinas
![Page 21: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/21.jpg)
21
Contener para enviar• Registrar los valores permitidos para las variables
disponibles• Terminar cuando alguna variable no tenga valores
permitidos
![Page 22: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/22.jpg)
22
Contener para enviar• Registrar los valores permitidos para las variables
disponibles• Terminar cuando alguna variable no tenga valores
permitidos
![Page 23: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/23.jpg)
23
Contener para enviar• Registrar los valores permitidos para las variables
disponibles• Terminar cuando alguna variable no tenga valores
permitidos
![Page 24: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/24.jpg)
24
Contener para enviar• Registrar los valores permitidos para las variables
disponibles• Terminar cuando alguna variable no tenga valores
permitidos
![Page 25: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/25.jpg)
25
Propagación de restricciones
• Contener para enviar información de las variables disponibles, pero no provee detección para todos los fracasos:
• ¡NT y SA ambos no pueden ser azules!• La propagación de restricciones
repetidamente implementa restricciones localmente
![Page 26: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/26.jpg)
26
Consistencia formada • La forma más simple de propagación de cada arco
consistente• X Y si consistente• Pues cada valor de x, allí permite X
![Page 27: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/27.jpg)
27
Consistencia formada• La forma más simple de propagación de cada arco
consistente• X Y si consistente• Pues cada valor de x, allí permite X
![Page 28: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/28.jpg)
28
Consistencia formada• La forma más simple de propagación de cada arco
consistente• X Y si consistente• Pues cada valor de x, allí permite X
Si la X pierde un valor, entonces los vecinos de X necesitan ser a los que se tomarón
![Page 29: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/29.jpg)
29
Consistencia formada• La forma más simple de propagación de cada arco
consistente• X Y si consistente• Pues cada valor de x, allí permite X
Si la X pierde un valor, entonces los vecinos de X necesitan ser a los que se tomaronLa consistencia formada detecta el fracaso antes que la comprobación delanteraPuede ser dirigida como un preprocesador o después de cada asignación
![Page 30: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/30.jpg)
30
El algoritmo de la consistencia formada AC-3
Complejidad: O(n2d3)
![Page 31: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/31.jpg)
31
Búsqueda local para CSPs
• La búsqueda hacia arriba, simulado la busqueda de forja simulada, típicamente trabaja con condiciones "completas", i.e., Se asignan todas las variables
• Para aplicar a los CSPs:- Deje las condiciones con restricciones - Los operadores reasignan variables a los valores
• Selección variable: Al azar seleccione cualquier variable estando dentro
- Escoja un valor que viole las menos restricciones- i.e., La búsqueda hacía arriba con un número total de = h(n)
de restricciones violadas
![Page 32: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/32.jpg)
32
Ejemplo: 4 reinas• Condiciones: 4 reinas en 4 columnas• Acciones: Mueva a la reina en su columna• Prueba de meta: Ningún ataque• Evaluación: = h(n) el número de ataques
• Condición inicial aleatoria. Puede solucionar n-reinas en tiempo casi constante para n arbitraria con alta probabilidad (v.g., n= 10,000,000)
![Page 33: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3](https://reader035.vdocuments.pub/reader035/viewer/2022062512/5528bde4497959977d8fae32/html5/thumbnails/33.jpg)
33
Resumen
• Los CSPs son problemas especiales:- Condiciones definidas por los valores de un conjunto fijo de
variables- Prueba de meta definida por las restricciones en los valores de
las variables
• Búsqueda hacia atrás = primera en la profundidad con una variable asignada por nodo
• El ordenamiento de las variables y las heurísticas de selección de valor ayudan significativamente
• La comprobación para enviar impide asignaciones para fracasos posteriores
• La propagación de restricciones (v.g., La consistencia formada) hace trabajo adicional para restringir valores y detectar incongruencias
• El minimo conflicto iterativo es usualmente efectivo en la práctica