1 capítulo 5 satisfaccion de restricciones sección 1-3

33
1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

Upload: felipa-osuna

Post on 11-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

1

Capítulo 5

SATISFACCION DE RESTRICCIONES

Sección 1-3

Page 2: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

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

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

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

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

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

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

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

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

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

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

12

Búsqueda hacía atras

Page 13: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

13

Ejemplo: de búsqueda hacía atras

Page 14: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

14

Ejemplo: de búsqueda hacía atras

Page 15: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

15

Ejemplo: de búsqueda hacía atras

Page 16: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

16

Ejemplo: de búsqueda hacía atras

Page 17: 1 Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1-3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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