Captulo 5 SATISFACCION DE RESTRICCIONES Seccin 1 3

  • Slides: 33
Download presentation
Capítulo 5 SATISFACCION DE RESTRICCIONES Sección 1 -3 1

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

Bosquejo Ø El problema de satisfacción de restricciones (CSP) Ø Backtracking en CSPs Ø

Bosquejo Ø El problema de satisfacción de restricciones (CSP) Ø Backtracking en CSPs Ø La búsqueda local para CSPs 2

El problema de restricción (CSPs) • El problema estándar de búsqueda: • La condición

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 3

Ejemplo: coloración de un Mapa • • Variable WA, NT, Q, NSW, V, SA,

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) } 4

Ejemplo: coloración de un Mapa Soluciones: asignaciones completas y coherentes {WA, rojo}, {NT, verde},

Ejemplo: coloración de un Mapa Soluciones: asignaciones completas y coherentes {WA, rojo}, {NT, verde}, {Q, rojo}, {NSW, verde}, {SA, azul}, {T, verde}, {V, rojo} 5

Gráfico de restricciones • CSP binario: Cada restricción relaciona dos variables • Gráfico de

Gráfico de restricciones • CSP binario: Cada restricción relaciona dos variables • Gráfico de restricciones: nodos variables, arcos restricciones 6

Variedades de CSPs • Las variables discretas • Los dominios finitos • n variables,

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. , Start. Job 1 + 5 antes Start. Job 3 • 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 7

Variedades de restricciones • Unas restricciones implican una sola variable • v. g. ,

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 8

Ejemplo: Criptoaritmética • Las variables: F T U W R O X 1 X

Ejemplo: Criptoaritmética • Las variables: F T U W R O X 1 X 2 X 3 • 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 · X 1 – X 1 + W = U + 10 · X 2 9

Los CSPs del mundo real 1. Problemas de asignación - v. g. , Quien

Los CSPs del mundo real 1. 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 10

Formulación estándar (incremento) de búsqueda Comencemos con el acercamiento directo, luego arreglémoslo • Las

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 11

Búsqueda hacía atras 12

Búsqueda hacía atras 12

Ejemplo: de búsqueda hacía atras 13

Ejemplo: de búsqueda hacía atras 13

Ejemplo: de búsqueda hacía atras 14

Ejemplo: de búsqueda hacía atras 14

Ejemplo: de búsqueda hacía atras 15

Ejemplo: de búsqueda hacía atras 15

Ejemplo: de búsqueda hacía atras 16

Ejemplo: de búsqueda hacía atras 16

Búsqueda hacía atrás mas eficiente • Los métodos multiusos pueden dar ganancias enormes en

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? 17

La variable más restringida • Escoger la variable con menos valores permitidos • El

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) 18

La variable restringida • La pregunta de desempate entre la mayoría de variables restringidas

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 19

El valor restringido • Dada una variable, escoger el valor menos restringido • Combinando

El valor restringido • Dada una variable, escoger el valor menos restringido • Combinando estas heurísticas - 1000 reinas 20

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar cuando alguna variable no tenga valores permitidos 21

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar cuando alguna variable no tenga valores permitidos 22

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar cuando alguna variable no tenga valores permitidos 23

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar

Contener para enviar • Registrar los valores permitidos para las variables disponibles • Terminar cuando alguna variable no tenga valores permitidos 24

Propagación de restricciones • Contener para enviar información de las variables disponibles, pero no

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 25

Consistencia formada • La forma más simple de propagación de cada arco consistente •

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 26

Consistencia formada • La forma más simple de propagación de cada arco consistente •

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 27

Consistencia formada • La forma más simple de propagación de cada arco consistente •

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 28

Consistencia formada • La forma más simple de propagación de cada arco consistente •

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 tomaron • La consistencia formada detecta el fracaso antes que la comprobación delantera • Puede ser dirigida como un preprocesador o después de cada asignación 29

El algoritmo de la consistencia formada AC-3 Complejidad: O(n 2 d 3) 30

El algoritmo de la consistencia formada AC-3 Complejidad: O(n 2 d 3) 30

Búsqueda local para CSPs • La búsqueda hacia arriba, simulado la busqueda de forja

Búsqueda local para CSPs • La búsqueda hacia arriba, simulado la busqueda de forja simulada, típicamente trabaja 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 31

Ejemplo: 4 reinas 1. 2. 3. 4. Condiciones: 4 reinas en 4 columnas Acciones:

Ejemplo: 4 reinas 1. 2. 3. 4. 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) 32

Resumen • Los CSPs son problemas especiales: - Condiciones definidas por los valores de

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 33