problemas de satisfacción de restricciones mg. samuel oporto díazlima, 11 de junio 2005...

74
Problemas de Satisfacción de Restricciones Mg. Samuel Oporto Díaz Lima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

Upload: gervasi-toca

Post on 21-Feb-2015

9 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

Problemas de Satisfacción de Restricciones

Mg. Samuel Oporto Díaz Lima, 11 de Junio 2005

INTELIGENCIA ARTIFICIAL

Page 2: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

22 /42/42

Tabla de Contenido

• Introducción.• Problema de satisfacción de restricciones• Búsqueda backtraking para CSP• Búsqueda local para CSP• Estructura de los problemas

Page 3: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

33 /42/42

INTRODUCCION

Page 4: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

44 /42/42

Introducción

• Anteriormente se vio que los problemas pueden resolverse buscando en un espacio de estados.

• Estos estados pueden evaluarse por heurísticas específicas para el dominio y probados para verificar si son estados meta.

• Desde el punto de vista del algoritmo de búsqueda, cada estado es una caja negra sin estructura interna discernible.

• Solo es accesada por las rutinas específicas del problema (la función de sucesor, la función heurística y la prueba de meta).

Page 5: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

55 /42/42

Introducción

• En los problemas de satisfacción de restricciones (PSR), los estados y la prueba de meta siguen a una representación estándar, estructurada y muy simple.

• Los algoritmos de búsqueda pueden ser definidos de tal manera que tomen ventaja de la estructura de los estados y usen heurísticas de propósito general en vez de específicas del problema, para permitir la solución de problemas grandes.

Page 6: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

66 /42/42

Introducción

• Tal vez lo más importante es que la representación estándar de la prueba de meta revela la estructura del problema mismo.

• Esto lleva a los métodos para descomposición de problemas y a un entendimiento de la conexión íntima entre la estructura del problema y la dificultad para resolverlo.

Page 7: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

77 /42/42

PROBLEMA DE SATISFACCION DE RESTRICCIONES

Page 8: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

88 /42/42

Problemas de Satisfacción de Restricciones

• Un problema de satisfacción de restricciones (o PSR) se define por un conjunto de variables, X1, X2, …, Xn, y un conjunto de restricciones, C1, C2, …, Cm.

• Cada variable Xi tiene un dominio no vacío Di de posibles valores.

• Cada restricción Ci involucra algún subconjunto de las variables y especifica las combinaciones permisibles de valores de ese subconjunto.

Page 9: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

99 /42/42

Problemas de Satisfacción de Restricciones

• Un estado del problema se define por una asignación de valores a alguna o todas las variables, {Xi = vi, Xj = vj, …}.

• Una asignación que no viola ninguna restricción es llamada consistente o legal.

• Una asignación completa es una en la cual cada variable es mencionada.

• Una solución a un PSR es una asignación completa que satisface todas las restricciones.

Page 10: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1010 /42/42

Problemas de Satisfacción de Restricciones

• Problema: Colorear el mapa de Australia, usando los colores rojo, verde o azul, de tal forma que dos regiones vecinas no tengan el mismo color. Australia

delOeste

Territoriodel

Norte

Australiadel Sur

Queensland

Nueva Galesdel Sur

Victoria

Tasmania

Page 11: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1111 /42/42

Problemas de Satisfacción de Restricciones

• Formulación como PSR:– Variables: las regiones de Australia

• AO (Australia del Oeste)

• TN (Territorio del Norte)

• Q (Queensland)

• NGS (Nueva Gales del Sur)

• V (Victoria)

• AS (Australia del Sur)

• T (Tasmania)

Page 12: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1212 /42/42

Problemas de Satisfacción de Restricciones

• Formulación como PSR:– Dominios: El dominio de cada variable es el conjunto {rojo,

verde, azul}.– Restricciones: Las restricciones requieren que regiones vecinas

tengan distintos colores. Por ejemplo, las combinaciones permisibles para AO y TN son los pares:

{(rojo, verde), (rojo, azul), (verde, rojo), (verde, azul), (azul, rojo), (azul, verde)}

– Esta restricción puede representarse como AO TN.

Page 13: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1313 /42/42

Problemas de Satisfacción de Restricciones

• Formulación como PSR:– Solución: Hay muchas soluciones posibles, como

{AO = rojo, TN = verde, Q = rojo, NGS = verde, V = rojo, AS = azul, T = rojo}

Page 14: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1414 /42/42

Problemas de Satisfacción de Restricciones

• Es útil visualizar un PSR como un grafo de restricciones.

• Los nodos del grafo corresponden a las variables del problema, y los arcos corresponden a las restricciones. AO

TN

AS

Q

NGS

V

T

Page 15: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1515 /42/42

Problemas de Satisfacción de Restricciones

• Es útil visualizar un PSR como un grafo de restricciones.

• Los nodos del grafo corresponden a las variables del problema, y los arcos corresponden a las restricciones.

AO

TN

AS

Q

NGS

V

T

Page 16: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1616 /42/42

Problemas de Satisfacción de Restricciones

• Tratar un problema como un PSR tiene importantes beneficios:– La representación de estados en un PSR sigue un patrón

estándar (un conjunto de variables con valores asignados), por lo que la función de sucesor y la prueba de meta pueden ser escritos de una manera genérica que se aplica a todos los PSR.

– Se pueden desarrollar heurísticas efectivas que no requieren experiencia adicional específica del dominio.

– La estructura del grafo de restricciones puede usarse para simplificar el proceso de solución en algunos casos, dando una reducción exponencial en complejidad.

Page 17: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1717 /42/42

Problemas de Satisfacción de Restricciones

• A un PSR se le puede hacer una formulación incremental como un problema de búsqueda estándar de la siguiente manera:– Estado inicial: La asignación vacía { }, en la cual todas las

variables están sin asignar.– Función de sucesor: Un valor puede ser asignado a una

variable sin asignar, siempre y cuando no entre en conflicto con variables previamente asignadas.

– Prueba de meta: La asignación actual está completa.– Costo de ruta: Un costo constante (por ejemplo, 1) para cada

paso.

Page 18: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1818 /42/42

Problemas de Satisfacción de Restricciones

• Cada solución debe ser una asignación completa y por lo tanto tiene una profundidad n si hay n variables.

• Por esta razón, los algoritmos de búsqueda primero en profundidad son populares para los PSR.

• También ocurre que la ruta por la cual se alcanza una solución es irrelevante. Por lo tanto, también se puede usar una formulación de estado completo, en la cual cada estado es una asignación completa que puede satisfacer o no las restricciones. Los métodos de búsqueda local trabajan bien con esta formulación.

Page 19: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

1919 /42/42

Problemas de Satisfacción de Restricciones

• El tipo más simple de PSR involucra variables que son discretas y tienen dominios finitos.

• Los problemas de coloreo de mapas son de este tipo. Incluso el problema de las 8 reinas puede plantearse como PSR:– Variables: Q1, …, Q8 (Posiciones de cada reina en las columnas

1, …, 8).– Dominios: Cada variable tiene el dominio {1, 2, 3, 4, 5, 6, 7, 8}.

• Los PSR de dominios finitos incluyen a los PSR booleanos, cuyas variables son verdadero o falso.

Page 20: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2020 /42/42

Problemas de Satisfacción de Restricciones

• Las variables discretas pueden también tener dominios infinitos, por ejemplo, el conjunto de los números enteros, o el conjunto de todas las cadenas de caracteres.

• Por ejemplo, cuando se requieren programar trabajos de construcción en el calendario, la fecha de inicio de cada trabajo es una variable, y sus valores posibles es el número de días enteros a partir de la fecha actual.

• Con dominios infinitos, ya no es posible describir las restricciones enumerando todas las combinaciones de valores permisibles.

Page 21: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2121 /42/42

Problemas de Satisfacción de Restricciones

• Con dominios infinitos, se debe usar entonces un lenguaje de restricciones.

• Por ejemplo, si Trabajo1 toma 5 días, y debe preceder a Trabajo3, entonces necesitaríamos un lenguaje de restricciones de desigualdades algebraicas tal como

InicioTrabajo1 + 5 InicioTrabajo3

• Existen algoritmos de solución especiales para las restricciones lineales de variables enteras (restricciones como la anterior, en la que cada variable aparece sólo en forma lineal).

Page 22: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2222 /42/42

Problemas de Satisfacción de Restricciones

• Puede demostrarse que no existe un algoritmo para resolver restricciones no lineales generales sobre variables enteras.

• En algunos casos, se puede reducir los problemas de restricciones enteras a problemas de dominio finito simplemente acotando los valores de todas las variables. Ejemplo: poniendo una cota superior igual a la de duración total de todos los trabajos a ser programados.

Page 23: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2323 /42/42

Problemas de Satisfacción de Restricciones

• Los PSR con dominios continuos son muy comunes en el mundo real y son ampliamente estudiados en el campo de la investigación de operaciones. Por ejemplo, la programación de experimentos en el Telescopio Espacial Hubble, que requiere una medición muy precisa del tiempo para las observaciones, para el inicio y fin de cada observación, y el manejo de variables continuas que deben obedecer una variedad de restricciones astronómicas, de precedencia y de energía.

• La categoría mejor conocida de PSR de dominio continuo es la de los problemas de programación lineal, donde las restricciones deben ser desigualdades lineales formando una región convexa.

Page 24: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2424 /42/42

Problemas de Satisfacción de Restricciones

• Los problemas de programación lineal pueden ser resueltos en tiempo polinomial en el número de variables. También se han estudiado otros problemas con diferentes tipos de restricciones y funciones objetivo (programación cuadrática, programación cónica de segundo orden, etc.)

Page 25: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2525 /42/42

Problemas de Satisfacción de Restricciones

• Los tipos de restricciones que se pueden tener son:– Restricciones unarias: restringen el valor de una sola

variable.• Ejemplo: A la gente de Australia del Sur no le gusta el color

verde. AS verde• Cada restricción unaria puede eliminarse simplemente

preprocesando el dominio de la variable correspondiente para eliminar cualquier valor que viole la restricción.

– Restricciones binarias: relacionan dos variables.• Ejemplo: Australia del Sur y Nueva Gales del Sur no pueden

tener el mismo color. AS NGS

• Un PSR binario es uno que tiene sólo restricciones binarias, y se puede representar con un grafo de restricciones.

Page 26: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2626 /42/42

Problemas de Satisfacción de Restricciones

• Las restricciones de alto orden involucran tres o más variables. Un ejemplo familiar de esto lo representan los problemas de criptoaritmética.

T W O+ T W OF O U R

Page 27: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2727 /42/42

Problemas de Satisfacción de Restricciones

• El hecho de que cada letra representa un dígito diferente se puede representar mediante una restricción de seis variables: TodasDif (F, T, U, W, R, O), o puede ser representado por la colección de restricciones binarias {F T, F U, …, R O}.

• Las restricciones de adición de las cuatro columnas también involucran varias variables:

O + O = R + 10 X1

X1 + W + W = U + 10 X2

X2 + T + T = O + 10 X3

X3 = F• X1, X2 y X3 son variables auxiliares que representan el dígito (0 o 1)

acarreado a la siguiente columna.

Page 28: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2828 /42/42

Problemas de Satisfacción de Restricciones

• Las restricciones de alto orden se pueden representar en un hipergrafo de restricciones:

F T U W R O

X3 X2 X1

Page 29: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

2929 /42/42

Problemas de Satisfacción de Restricciones

• Cada restricción de alto orden, con dominio finito, puede reducirse a un conjunto de restricciones binarias, si se introducen las variables auxiliares suficientes. Es por eso que se estudian preferentemente problemas sólo con restriccines binarias.

• Hasta ahora se han descrito sólo restricciones absolutas (cualquier asignación completa que viole alguna de ellas, se descarta como solución).

• Muchos PSR del mundo real incluyen restricciones de preferencia, indicando cuales soluciones son preferibles. Estas restricciones pueden ser codificadas como costos sobre las asignaciones de variables individuales.

Page 30: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3030 /42/42

BUSQUEDA BACKTRACKING PARA CSP

Page 31: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3131 /42/42

Búsqueda backtracking para los PSR

• Usando la formulación antes mencionada para PSR, cualquier algoritmo de búsqueda visto anteriormente puede ser usado para resolverlos.

• Suponiendo que se usa búsqueda primero por amplitud, el factor de ramificación en el nivel superior es nd, en el siguiente nivel es (n – 1)d, y así sucesivamente para los n niveles. Se genera un árbol de n!dn hojas.

Page 32: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3232 /42/42

Búsqueda backtracking para los PSR

• Sin embargo, todos los PSR tienen la propiedad de la conmutatividad.

• Un problema es conmutativo si el orden de aplicación de cualquier conjunto dado de accioens no tiene efecto en la salida.

• Por lo tanto, todos los algoritmos de búsqueda en PSR generan sucesores considerando las posibles asignaciones para sólo una variable en cada nodo del árbol de búsqueda.

Page 33: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3333 /42/42

Búsqueda backtracking para los PSR

• La búsqueda backtracking es una búsqueda primero en profundidad que elige valores para una variable a la vez y “regresa” (“backtraks”) cuando a una variable no le quedan valores legales para asignarle.

Page 34: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3434 /42/42

Búsqueda backtracking para los PSR

AO = rojo AO = verde AO = azul

AO = rojoTN = verde

AO = rojoTN = azul

AO = rojoTN = verde

Q = rojo

AO = rojoTN = verde

Q = rojo

Page 35: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3535 /42/42

Búsqueda backtracking para los PSR

• La búsqueda backtracking simple es un algoritmo no informado, asi que no se espera que sea efectivo para problemas grandes.

Page 36: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3636 /42/42

Búsqueda backtracking para los PSR

Problema Back-

Tracking

BT+MVR Forward Checking

FC+

MVR

Conflictos Min.

USA (>1,000K) (>1,000K) 2K 60 64

n-Reinas (>40,000K) 13,500K (>40,000K) 817K 4K

Cebra 3,859K 1K 35K 0.5K 2K

Aleatorio 1 415K 3K 26K 2K

Aleatorio 2 942K 27K 77K 15K

K = miles de chequeos de consistencia, ( ) = no halló solución

Page 37: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3737 /42/42

Búsqueda backtracking para los PSR

• Los métodos de propósito general se hacen las siguientes preguntas:– ¿Qué variable debe asignarse en seguida, y en que orden

deben intentarse los valores?– ¿Cuáles son las implicaciones de las asignaciones actuales de

variables para las otras variables sin asignar?– Cuando una ruta falla (es decir, un estado es alcanzado en el

cual una variable no tiene valores legales) ¿Puede la búsqueda evitar repetir esta falla en rutas subsecuentes?

Page 38: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3838 /42/42

Búsqueda backtracking para los PSR

• Orden de las variables y de los valores– Por default, la siguiente variable a asignar se selecciona de una

lista estática de variables que rara vez produce una búsqueda eficiente.

– La idea intuitiva de elegir la variable que tenga el mínimo de valores legales es llamada la heurística del mínimo de valores remanentes (MVR). También se le llama la de la “variable más restringida” o de “falla-primero”, porque selecciona la variable que probablemente pronto causará una falla, podando el árbol de búsqueda.

Page 39: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

3939 /42/42

Búsqueda backtracking para los PSR

• Orden de las variables y de los valores– La heurística MVR no ayuda en absoluto para elegir la primera

region a colorear del mapa de Australia, porque inicialmente cada región tiene tres colores legales.

– En este caso, la heurística de grado es utilizada. Intenta reducir el factor de ramificación para elecciones futuras seleccionando la variable que está involucrada en el mayor número de restricciones. AS tiene grado 5, las otras tiene 2 o 3, y T tiene 0.

– La heurística de MVR es una guía más poderosa, pero la heurística de grado puede ser muy útil para romper empates.

Page 40: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4040 /42/42

Búsqueda backtracking para los PSR

• Orden de las variables y de los valores– Una vez que una variable ha sido seleccionada, el algoritmo

debe decidir en qué orden examinar sus valores.– Para esto, la heurística del valor menos restrictivo puede ser

efectiva en algunos casos.– Esta heurística prefiere el valor que elimine la menor cantidad

de valores posibles de las variables vecinas en el grafo de restricciones.

– Por ejemplo, si se ha asignado AO=rojo, TN=verde, y se tiene que elegir Q. Si se elige azul, esto elimina el último valor legal que podíamos asignarle a AS. Por lo tanto, según la heurística del valor menos restrictivo, se debe asignar Q=rojo.

– La idea es contar siempre con la mayor flexibilidad posible para las asignaciones de variables subsecuentes.

Page 41: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4141 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Hasta ahora solo se han considerado las restricciones sobre

una variable solo cuando la variable se elige para asignarle valor.

– Observando algunas restricciones un poco antes durante la búsqueda, o incluso antes de que la búsqueda comience, se puede reducir drásticamente el espacio de búsqueda.

Page 42: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4242 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Forward checking

• Cuando una variable X es asignada, el proceso FC observa a cada variable sin asignar Y que esté conectada a X por una restricción y borra del dominio de Y cualquier valor que sea inconsistente con el valor elegido para X.

Page 43: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4343 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Forward checking

AO TN Q NGS V AS T

Dominios Iniciales RVA RVA RVA RVA RVA RVA RVA

Después que AO=rojo R VA RVA RVA RVA VA RVA

Después que Q=verde R A V R A RVA A RVA

Después que V=azul R A V R A --- RVA

Page 44: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4444 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Propagación de restricciones

• Aunque FC detecta muchas inconsistencias, no las detecta todas.

• En la tabla anterior, puede verse que cuando AO es rojo y Q es verde, tanto TN como AS son forzados a ser azules. Sin embargo, estos dos últimos son adyacentes y por lo tanto, no pueden tener el mismo color. FC no detecta esto como una inconsistencia, porque no mira más allá.

• La propagación de restricciones es el término general para propagar las implicaciones de una restricción sobre una variable en otras variables.

Page 45: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4545 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Propagación de restricciones

• La idea de consistencia de arco proporciona un método rápido de propagación de restricciones que es sustancialmente más fuerte que FC.

• “Arco” se refiere al arco dirigido en el grafo de restricciones, por ejemplo, el arco que va de AS a NGS.

• Dados los dominios actuales de AS y NGS, el arco es consistente si, para cada valor x de AS, hay algún valor y de NGS que sea consistente con x.

• En el renglón 3 de la tabla, se puede ver que el arco de AS a NGS es consistente, pero el arco inverso de NGS a AS no lo es. Este arco puede hacerse consistente borrando el valor azul del dominio de NGS.

Page 46: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4646 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Propagación de restricciones

• La verificación de consistencia de arco puede ser aplicada tanto como un paso de preprocesamiento antes de empezar la búsqueda, o como un paso de propagación (como FC) después de cada asignación durante la búsqueda.

• En cualquiera de los dos casos, el proceso debe ser aplicado repetidamente hasta que no quede ninguna inconsistencia, ya que la eliminacion de una de ellas puede crear otras nuevas.

• El algoritmo completo para consistencia de arco es llamado AC-3.

Page 47: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4747 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Propagación de restricciones

• Formas más fuertes de propagación se pueden definir usando la notación llamada k-consistencia.

• Un PSR es k-consistente si, para cualquier conjunto de k-1 variables y para cualquier asignación consistente a esas variables, un valor consistente puede siempre ser asignado a cualquier k-ésima variable.

• Por lo tanto, 1-consistencia significa que cada variable individual es consistente por sí misma; esto es también llamado consistencia de nodo. 2-consistencia es lo mismo que consistencia de arco. 3-consistencia significa que cualquier par de variables adyacentes puede siempre ser extendida a una tercera variable vecina, lo que se llama consistencia de ruta.

Page 48: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4848 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Propagación de restricciones

• Un grafo es fuertemente k-consistente si es k-consistente y además es también (k-1)-consistente, (k-2)-consistente, … y así hasta llegar a 1-consistente.

• Si se tiene un problema con n nodos, y se hace fuertemente n-consistente, entonces el problema se puede resolver sin backtracking.

• Sin embargo, cualquier algoritmo para establecer la n-consistencia debe tomar tiempo exponencial en n en el peor caso.

Page 49: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

4949 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Manejo de restricciones especiales

• Ejemplo, la restricción TodasDiferentes dice que todas las variables involucradas deben tener valores diferentes.

• Una forma simple de detectar la inconsistencia de esta restricción es: si hay m variables involucradas en la restricción, y si ellas tienen n posibles valores distintos cada una, y m > n, entonces la restricción no puede ser satisfecha.

Page 50: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5050 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Manejo de restricciones especiales

• Tal vez la restricción de alto orden más importante es la restricción de recursos, algunas veces llamada restricción cuandomucho.

• Por ejemplo, sean PA1, …, PA4 las cantidades de personal asignado a cada una de 4 tareas. La restricción de que no se asignen más de 10 personas en total se escribe como cuandomucho(10, PA1, PA2 PA3, PA4).

• Una inconsistencia puede detectarse simplemente checando la suma de los valores mínimos de los dominios actuales. Por ejemplo, si cada variable tiene el dominio {3,4,5,6}, la restricción cuandomucho no puede ser satisfecha.

Page 51: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5151 /42/42

Búsqueda backtracking para los PSR

• Propagando información a través de las restricciones– Manejo de restricciones especiales

• Para problemas grandes limitados en recursos, como problemas de logística involucrando miles de personas o cientos de vehículos, usualmente no es posible representar el dominio de cada variable como un conjunto de enteros y reducirlo gradualmente con los métodos de verificación de consistencia.

• Lo que se hace en estos casos es representar los dominios por medio de límites superiores e inferiores, y manejarlos por propagación de límites.

Page 52: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5252 /42/42

Búsqueda backtracking para los PSR

• Backtracking inteligente: mirando hacia atrás.– Cuando una rama de la búsqueda falla, el algoritmo de BT

regresa a la variable precedente e intenta un nuevo valor para ella.

– Esto es llamado Backtracking cronológico.– ¿Qué pasaría si en el problema de Australia se hubiera elegido

un orden de instanciación fijo Q, NGS, V, T, AS, AO, TN? Supón que ya se ha generado la asignación {Q=rojo, NGS=verde, V=azul, T=rojo}. Cuando se intenta asignar la siguiente variable, AS, todo falla. Regresar y cambiar el valor a T no soluciona el problema.

Page 53: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5353 /42/42

Búsqueda backtracking para los PSR

• Backtracking inteligente: mirando hacia atrás.– Un enfoque más inteligente que el BT es regresar hasta una de

las variables del conjunto que causaron la falla. Este conjunto es llamado el conjunto conflicto.

– El conjunto conflicto para la variable X es el conjunto de variables previamente asignadas que están conectadas a X por restricciones.

– El conjunto conflicto para AS es {Q,NGS,V}.

Page 54: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5454 /42/42

Búsqueda backtracking para los PSR

• Backtracking inteligente: mirando hacia atrás.– El método backjumping regresa a la variable más reciente en

el conjunto conflicto. En este caso, BJ brincaría sobre Tasmania y buscaría un nuevo valor para V.

– El algoritmo FC puede crear el conjunto conflicto mientras realiza su búsqueda (simplemente almacena lo que elimina).

– BJ ocurre cuando cada valor en el dominio está en conflicto con la asignación actual; FC detecta esto antes y previene que la búsqueda llegue a un nodo así. Por lo tanto, cada rama podada por BJ es también podada por FC, así que son redundantes.

Page 55: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5555 /42/42

Búsqueda backtracking para los PSR

• Backtracking inteligente: mirando hacia atrás.– BJ nota la falla cuando el dominio de una cariable queda vacío, pero en

muchos casos una rama está perdida mucho antes de que esto ocurra.

– Ejemplo, cuando se hace la asignación parcial {AO=rojo, NGS=rojo}. Si se intenta T=rojo, y luego se asignan TN, Q, V, AS, ninguna asignación funciona para estas últimas.

– ¿A dónde hacer backtrack? BJ no puede funcionar, porque TN SÍ tiene valores consistentes con las variables asignadas precedentes. TN no tiene un conjunto conflicto completo.

– Esto lleva a una noción más profunda del conjunto conflicto: si el conjunto de variables precedentes que causaron TN, junto con cualquier variable subsecuente, no tienen solución consistente.

– A este algoritmo se le llama backjumping dirigido por conflictos.

Page 56: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5656 /42/42

BUSQUEDA LOCAL PARA CSP

Page 57: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5757 /42/42

Búsqueda local para PSR

• Los algoritmos de búsqueda local son efectivos para resolver muchos PSR.

• Usan una formulación de estado completo: el estado inicial asigna un valor a cada variable, y la función sucesor usualmente trabaja cambiando el valor de una variable a la vez.

• El problema de las 8 reinas puede plantearse de dos formas:– Poner las 8 reinas en las 8 columnas al azar, y mover luego

cada reina a lo largo de su columna.– Poner las 8 reinas, una por columna en una permutación de las

8 columnas, y luego generar sucesores intercambiando dos reinas de columna.

Page 58: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5858 /42/42

Búsqueda local para PSR

• Para elegir un nuevo valor para una variable, la heurística más obvia es seleccionar el valor que resulte en el número mínimo de conflictos con otras variables – la heurística de conflictos mínimos.

Page 59: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

5959 /42/42

ESTRUCTURA DE LOS PROBLEMAS

Page 60: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6060 /42/42

La estructura de los problemas

• La única manera en la que podemos esperar tratar con el mundo real es, posiblemente, descomponiéndolo en muchos subproblemas.

• Por ejemplo, analizando el problema de colorear Australia para identificar su estructura, un hecho sobresale: Tasmania no está conectado al continente.

• Intuitivamente, es obvio que colorear Tasmania y colorear el continente son subproblemas independientes.

• Cualquier solución para el continente, combinada con cualquier solución para Tasmania, proporciona una solución para el mapa entero.

Page 61: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6161 /42/42

La estructura de los problemas

• La independencia puede ser confirmada simplemente observando los componentes conectados del grafo de restricciones.

• Los subproblemas completamente independientes son muy deseables, pero raros.

• En la mayoría de los casos, los subproblemas de un CSP están conectados. El caso más simple es cuando el grafo de restricciones forma un árbol: cualquier par de variables está conectado a lo mucho por una ruta.

Page 62: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6262 /42/42

La estructura de los problemas

A

B

C

E

D

F

Grafo de restricciones de un PSR estructurado como árbol

Page 63: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6363 /42/42

La estructura de los problemas

• Cualquier PSR estructurado como árbol puede ser resuelto en un tiempo lineal en el número de variables.

Page 64: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6464 /42/42

La estructura de los problemas

• El algoritmo es el siguiente:– PASO 1: Elija cualquier variable como la raíz del árbol, y ordene

las variables desde la raíz hasta las hojas de tal forma que el padre de cada nodo en el árbol lo preceda en el ordenamiento. Etiquete las variables X1, …, Xn en orden. Ahora, cada variable, excepto la raíz, tiene exactamente una variable padre.

Page 65: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6565 /42/42

La estructura de los problemas

A B C ED F

Un ordenamiento lineal de las variables consistente con el árbol con A como raíz

Page 66: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6666 /42/42

La estructura de los problemas

– PASO 2: Variando los valores de j desde n hasta 2 (disminuyendo de 1 en 1), aplique verificación de consistencia de arco al arco (Xi, Xj), donde Xi es el padre de Xj, removiendo valores del DOMINIO[Xi] conforme sea necesario.

– PASO 3: Variando los valores de j desde 1 hasta n (aumentando de 1 en 1), asigne cualquier valor para Xj consistente con el valor asignado para Xi, donde Xi es el padre de Xj.

Page 67: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6767 /42/42

La estructura de los problemas

• Ahora que se tiene un algoritmo eficiente para árboles, se puede considerar si grafos de restricciones más generales pueden reducirse a árboles de alguna manera.

• Hay dos maneras principales de hacer esto, una basada en remover nodos y otra basada en colapsar varios nodos juntos en uno.

Page 68: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6868 /42/42

La estructura de los problemas

• El primer enfoque involucra asignar valores a algunas variables de tal manera que las variables restantes formen un árbol.

• Considera el grafo de restricciones para Australia. Si se pudiera eliminar Australia del Sur, el grafo se convertiría en un árbol.

Page 69: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

6969 /42/42

La estructura de los problemas

AO

TN

AS

Q

NGS

V

T

AO

TN

Q

NGS

V

T

Grafo de Restricciones Original

Grafo de Restricciones después de quitar AS

Page 70: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

7070 /42/42

La estructura de los problemas

• Afortunadamente, esto se puede hacer fijando un valor para AS y borrando de los dominios de las otras variables cualquier valor que sea inconsistente con el valor elegido para AS.

• Ahora, cualquier solución para el PSR después de que AS y sus restricciones fueron removidas será consistente con el valor elegido para AS.

• El árbol restante puede se resuelto con el algoritmo para árboles ya mencionado.

Page 71: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

7171 /42/42

La estructura de los problemas

• El segundo enfoque está basado en la construcción de una descomposición en árbol del grafo de restricciones en un conjunto de subproblemas conectados.

• Cada subproblema se resuelve independientemente, y las soluciones resultantes son combinada.

• Como cualquier algoritmo del tipo divide-y-vencerás, éste trabaja bien si ningún subproblema es demasiado grande.

Page 72: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

7272 /42/42

La estructura de los problemas

AO

TN

AS

T

Una descomposición en árbol del grafo del

restricciones del problema del coloreo

de Australia

TN

AS

Q

AS

Q

NGS

AS NGS

V

Page 73: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

7373 /42/42

La estructura de los problemas

• Una descomposición en árbol debe satisfacer los siguientes tres requerimientos:– Cada variable en el problema original aparece en por lo menos

uno de los subproblemas.– Si dos variables están conectadas por una restricción en el

problema original, deben aparecer juntas (con su restricción) en por lo menos uno de los subproblemas.

– Si una variable aparece en dos subproblemas en el árbol que se está creando, debe aparecer en cada subproblema que forme parte de la ruta que conecta a los dos primeros subproblemas.

Page 74: Problemas de Satisfacción de Restricciones Mg. Samuel Oporto DíazLima, 11 de Junio 2005 INTELIGENCIA ARTIFICIAL

7474 /42/42

La estructura de los problemas

• Los problemas se resuelven independientemente. Si cualquiera de los subproblemas no tiene solución, entonces sabemos que el problema completo tampoco tiene solución.

• Si todos los subproblemas se pueden resolver, se intenta construir entonces una solución global al problema.