problemas de satisfaccion de restricciones (psr)
DESCRIPTION
material de apoyo para la materia IA de la FCT UNC@TRANSCRIPT
![Page 1: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/1.jpg)
1FCT - UNCA Ing. Héctor Estigarribia
PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES
10/04/2014
INTELIGENCIA ARTIFICIAL - UNIDAD 5:
Problemas de satisfacción de restricciones
Búsqueda con vuelta atrás (Backtracking) para PSR
![Page 2: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/2.jpg)
FCT - UNCA Ing. Héctor Estigarribia 2
INTRODUCCIÓN• Hasta Ahora hemos tratado a los estados como si
fueran una caja negra sin una estructura perceptible interna.
• Los representamos por una estructura de datos arbitraria a la que se puede acceder solo son funciones específicas (función sucesor, heurística, test objetivo).
• Al tratar los estados como más que solo pequeñas cajas negras encontraremos nuevos poderosos métodos de búsqueda y entender mejor la estructura y complejidad del problema
10/04/2014
![Page 3: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/3.jpg)
FCT - UNCA Ing. Héctor Estigarribia 3
Problemas de Satisfacción de restricciones
• Un problema de satisfacción de restricciones (PSR) viene definido formalmente por los siguientes elementos:
• Un conjunto finito de variables X1, . . . , Xn
• Cada variable tiene un conjunto no vacío D de valores posibles.
• Un conjunto finito de restricciones C1, . . . , Cm
• Cada restricción implica un subconjunto de variables
10/04/2014
PSR: variables con restricciones sobre ellas
![Page 4: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/4.jpg)
FCT - UNCA Ing. Héctor Estigarribia 4
Problemas de Satisfacción de restricciones
• Un estado del problema está definido por una asignación de valores a una o todas las variables {Xi = vi… Xj = Vj}.
• Una asignación que no viola ninguna restricción Ci se le llama consistente o legal.
• Una asignación completa es una asignación en la que se menciona cada variable.
• Una solución de un PSR es una asignación completa que satisface todas las restricciones.
10/04/2014
![Page 5: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/5.jpg)
FCT - UNCA Ing. Héctor Estigarribia 5
Ejemplo
10/04/2014
Colorear cada región de rojo, verde o azul de modo que ninguna de las regiones vecinas tenga el mismo color.
Variables Regiones:{AO, TN, Q, NGS, V,AS, T}.Dominio de cada variable conjunto de colores: {rojo, verde, azul}Restricciones: que las
regiones vecinas tengan colores distintos
![Page 6: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/6.jpg)
FCT - UNCA Ing. Héctor Estigarribia 6
• Es bueno visualizar un PSR como un grafo de restricciones:
10/04/2014
Problemas de Satisfacción de restricciones
Nodos variablesArcos restricciones
![Page 7: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/7.jpg)
FCT - UNCA Ing. Héctor Estigarribia 7
• Formulación incremental de un PSR
10/04/2014
Problemas de Satisfacción de restricciones
Estado inicial ninguna variable asignada
Función de sucesor asignar un valor a una variable
Test objetivo asignación completa
Costo del camino constante, por ejemplo 1 para cada paso
![Page 8: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/8.jpg)
FCT - UNCA Ing. Héctor Estigarribia 8
Búsqueda con vuelta atrás (Backtracking)
para PSR• Con la formulación anterior, cualquier algoritmo
de búsqueda de los anteriores capítulos puede resolver la PSR.
• El término búsqueda con vuelta atrás se utiliza para la búsqueda primero en profundidad que elige valores para una variable a la vez y vuelve atrás cuando una variable no tiene ningún valor legal para asignarle.
10/04/2014
![Page 9: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/9.jpg)
FCT - UNCA Ing. Héctor Estigarribia 9
Búsqueda con vuelta atrás (Backtracking)
para PSR
10/04/2014
Parte del árbol de búsqueda generado por vuelta atrás para el problema de colorear el mapa de Australia
![Page 10: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/10.jpg)
FCT - UNCA Ing. Héctor Estigarribia 10
Búsqueda con vuelta atrás (Backtracking)
para PSR
10/04/2014
Parte del árbol de búsqueda generado por vuelta atrás para el problema de colorear el mapa de Australia
![Page 11: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/11.jpg)
FCT - UNCA Ing. Héctor Estigarribia 11
Búsqueda con vuelta atrás (Backtracking)
para PSR
10/04/2014
Parte del árbol de búsqueda generado por vuelta atrás para el problema de colorear el mapa de Australia
![Page 12: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/12.jpg)
FCT - UNCA Ing. Héctor Estigarribia 12
Búsqueda con vuelta atrás (Backtracking)
para PSR
10/04/2014
• ¿Que variable debe asignarse después?• ¿Cuáles son las implicaciones de las
asignaciones de las variables actuales para las otras variables no asignadas?
• Cuando un camino falla, ¿puede la búsqueda evitar repetir este fracaso en los caminos siguientes?
![Page 13: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/13.jpg)
FCT - UNCA Ing. Héctor Estigarribia 13
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valor
10/04/2014
• El algoritmo back tracking simplemente selecciona la siguiente variable no asignada en el orden dado por la lista de variables.
• Una vez asignada, ayuda a hacer más eficiente la búsqueda, pues las siguientes variables a asignar ya tienen más restricciones.
![Page 14: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/14.jpg)
FCT - UNCA Ing. Héctor Estigarribia 14
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valor
10/04/2014
Ejemplo: Ao rojo, TN verde, solo queda AS azul.Entonces es mejor asignar azul a AS que azul o rojo a Q .Luego de asignar AS, las opciones para Q, NGS y V están forzadas. Esta idea intuitiva (escoger la variable con menos valores “legales” se llama heurística de mínimos valores restantes (MVR).
![Page 15: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/15.jpg)
FCT - UNCA Ing. Héctor Estigarribia 15
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valor
10/04/2014
La heurística MVR no ayuda en la elección de la primera región a colorear en Australia, por que al principio cada región tiene 3 colores “legales”En este caso, el grado heurístico es más práctico. Intenta seleccionar la variable que esté implicada en el mayor número de restricciones.
2
2
3
3
3
5
0
La heurística MVR normalmente es más poderosa pero la heurística del grado puede usarse para romper empates
![Page 16: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/16.jpg)
FCT - UNCA Ing. Héctor Estigarribia 1610/04/2014
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valorLa heurística del valor menos restringido puede ser eficaz en algunos casos
Supongamos AO=rojo, TN=verde y que debemos continuar con Q
![Page 17: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/17.jpg)
FCT - UNCA Ing. Héctor Estigarribia 1710/04/2014
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valorLa heurística del valor menos restringido puede ser eficaz en algunos casos
Azul sería una opción mala, pues elimina el último valor legal de AS
![Page 18: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/18.jpg)
FCT - UNCA Ing. Héctor Estigarribia 1810/04/2014
Búsqueda con vuelta atrás (Backtracking) para
PSR.
Variable y ordenamiento de valorLa heurística del valor menos restringido puede ser eficaz en algunos casos
La heurística del valor menos restringido, prefiere rojo a azul para Q
En general, esta heurística trata de dejar la flexibilidad máxima de las asignaciones a las variables siguientes
![Page 19: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/19.jpg)
FCT - UNCA Ing. Héctor Estigarribia 19
PROPAGACIÓN DE LA
INFORMACIÓN A TRAVÉS DE LAS
RESTRICCIONES • Hasta ahora el algoritmo de
búsqueda considera las restricciones sobre una variable sólo cuando la variable es elegida.
• Mirando algunas restricciones antes en la búsqueda, o incluso antes de que haya comenzado la misma, podemos reducir drásticamente el espacio de ésta.
10/04/2014
![Page 20: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/20.jpg)
FCT - UNCA Ing. Héctor Estigarribia 20
COMPROBACIÓN HACIA ADELANTE
10/04/2014
Cuando se asigna una variable X , el proceso mira cada variable no asignada Y relacionada con X por una restricción
Entonces suprime del dominio de Y cualquier valor que sea inconsistente con el valor elegido para X
![Page 21: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/21.jpg)
FCT - UNCA Ing. Héctor Estigarribia 21
COMPROBACIÓN HACIA ADELANTE
10/04/2014
AO TN Q NGS V AS T
R V A
R V A
R V A
R V A
R V A
R V A
R V A
1- AO = ROJO
![Page 22: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/22.jpg)
FCT - UNCA Ing. Héctor Estigarribia 22
COMPROBACIÓN HACIA ADELANTE
10/04/2014
AO TN Q NGS V AS T
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A R V A R V A V A
R V A
R R V A
R R V A
Despues de AO=rojo
* La Comprobación hacia adelante suprime rojo de los dominios de TN y AS
1- AO = ROJO
![Page 23: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/23.jpg)
FCT - UNCA Ing. Héctor Estigarribia 23
COMPROBACIÓN HACIA ADELANTE
10/04/2014
AO TN Q NGS V AS T
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A R V A R V A V A
R V A
R A V R A
R V A A R V A
R V R V A
Despues de ao=rojo
* La Comprobación hacia adelante suprime rojo de los dominios de TN y AS
1- AO = ROJO
* La Comprobación hacia adelante suprime verde de los dominios de TN, AS y NGS
2- Q = VERDE
Despues de q=verde
* Los dominios de TN y AS se reducen a un solo valor
![Page 24: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/24.jpg)
FCT - UNCA Ing. Héctor Estigarribia 24
COMPROBACIÓN HACIA ADELANTE
10/04/2014
AO TN Q NGS V AS T
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A R V A R V A V A
R V A
R A V R A
R V A A R V A
R A V R A R V A
Despues de ao=rojo
* La Comprobación hacia adelante suprime rojo de los dominios de RN y AS
1- AO = ROJO
* La Comprobación hacia adelante suprime verde de los dominios de TN, AS y NGS
2- Q = VERDE
Despues de q=verde
* La Comprobación hacia adelante suprime azul del dominio de NGS y AS, se obtiene AS sin valores legales
3- V = AZUL
Despues de v=azul
* La comprobacion hacia adelante descubre que AO, Q, V es inconsistente y el algoritmo volverá atrás
![Page 25: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/25.jpg)
FCT - UNCA Ing. Héctor Estigarribia 25
Propagación de restricciones
• La comprobación hacia adelante descubre inconsistencias, pero no todas.
• En este punto tanto TN como AS están obligadas a ser azules.
• Pero son adyacentes y eso no puede ocurrir.• La CHA no la descubre como inconsistencia, pues
no mira lo suficientemente lejos.
10/04/2014
AO TN Q NGS V AS T
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A
R V A R V A R V A V A
R V A
R A V R A
R V A A R V A
R V R V A
Despues de ao=rojo
Despues de q=verde
![Page 26: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/26.jpg)
FCT - UNCA Ing. Héctor Estigarribia 26
Arco consistente
10/04/2014
• Proporciona un método rápido de propagación de restricciones que es más potente que la CHA.
• El “arco” se refiere a un arco dirigido en el grafo de restricciones, como el arco de AS a NGS.
• Considerando los valores actuales de AS y NGS, el arco es consistente si, para todo valor x de AS, hay algún valor y de NGS que es consistente con x.
![Page 27: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/27.jpg)
FCT - UNCA Ing. Héctor Estigarribia 27
Arco consistente
10/04/2014
• En la figura los dominios actuales de AS y NGS son {azul} y {rojo, azul}.
• Para AS=azul hay una asignación consistente para NGS (NGS=roja).
• Por tanto, el arco de AS a NGS es consistente.• Para la asignación NGS=azul no hay ninguna
asignación consistente para AS.• Por tanto, el arco de NGS a AS no es consistente.• El arco puede hacerse consistente suprimiendo el
valor azul del dominio de NGS
AO TN Q NGS V AS T
R V A R V A R V A R V A R V A R V A R V A
R V A R V A R V A R V A V A R V A
R A V R A R V A A R V A
R V R V A
![Page 28: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/28.jpg)
FCT - UNCA Ing. Héctor Estigarribia 28
Arco consistente
10/04/2014
• Podemos aplicar el arco consistente al arco de AS a TN:
• Ambas variables tienen el dominio {azul}.• El resultado es que azul debe suprimirse del
dominio de AS, dejando el dominio vacío.• Así, la aplicación del arco consistente ha causado la
detección temprana de una inconsistencia no descubierta por la CHA pura.
AO TN Q NGS V AS T
R V A R V A R V A R V A R V A R V A R V A
R V A R V A R V A R V A V A R V A
R A V R A R V A A R V A
R V R V A
![Page 29: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/29.jpg)
FCT - UNCA Ing. Héctor Estigarribia 29
Arco consistente
10/04/2014
• La comprobación de la consistencia del arco puede aplicarse como un pre proceso antes de comenzar el proceso de búsqueda o como un paso de propagación (como la CHA).
• En todo caso el proceso debe aplicarse repetidamente hasta que no permanezcan más inconsistencias.
• Siempre que un valor se suprime del dominio de alguna variable para quitar la inconsistencia de un arco, podría surgir una nueva inconsistencia de arco en arcos que señalan a aquella variable.
• Aunque sea considerablemente más costosa que la CHA, el coste suplementario por lo general vale la pena.
![Page 30: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/30.jpg)
FCT - UNCA Ing. Héctor Estigarribia 30
Vuelta atrás inteligente• El algoritmo backtracking tiene una
política muy simple para saber que hacer cuando falla una rama: hacia atrás hasta la variable anterior e intentar un valor diferente para ella.
• Esto se llama vuelta atrás cronológica(visita el punto de decisión mas reciente).
• Veamos que ocurre cuando aplicamos backtrack simple con una variable fija que ordena Q, NGS, V, T, AS, AO, TN.
10/04/2014
![Page 31: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/31.jpg)
FCT - UNCA Ing. Héctor Estigarribia 31
Vuelta atrás inteligente
10/04/2014
• Supongamos que hemos generado la asignación parcial Q – NGS – V – T.
• Cuando intentamos la siguiente variable AS vemos que cada valor viola una restricción.
• Volvemos hacia atrás hasta T e intentamos un nuevo color para Tasmania (Obviamente esto es inútil)
1
23
4
5
![Page 32: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/32.jpg)
FCT - UNCA Ing. Héctor Estigarribia 32
Vuelta atrás inteligente
10/04/2014
• Una aproximación más inteligente es ir hacia atrás hasta el conjunto de variables que causaron el fracaso.
• Este conjunto se llama conjunto conflicto: en el ejemplo el conjunto conflicto para AS es (Q, NGS, V).
• En general el conjunto conflicto para la variable X es el conjunto de variables previamente asignadas que están relacionadas con X por las restricciones.
• En este caso, el backtrack debería saltar sobre Tasmania e intentar un nuevo valor para V.
• Esto se implementa modificando el algoritmo de modo que acumule el conjunto conflicto mientras comprueba un valor legal para asignar.
![Page 33: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/33.jpg)
FCT - UNCA Ing. Héctor Estigarribia 33
Ejercicio• Coloree el mapa con 3 colores usando Vuelta
atrás, grado heurístico, MVR, CHA:
10/04/2014
![Page 34: Problemas de Satisfaccion de restricciones (PSR)](https://reader036.vdocuments.site/reader036/viewer/2022081512/559253141a28ab17498b463e/html5/thumbnails/34.jpg)
FCT - UNCA Ing. Héctor Estigarribia 34
BIBLIOGRAFÍA• INTELIGENCIA ARTIFICIAL: UN ENFOQUE
MODERNO. o STUART RUSSELL Y PETER NORVIG. o PEARSON EDUCATIONo 2da Edición, 2004.o 1240 páginas
• Capitulo 5, Paginas 155 a 180• http://es.wikipedia.org/wiki/Problema_de_satisfacci%C3%B3n_de_restricciones• http://users.dsic.upv.es/~msalido/papers/capitulo.pdf• http://www.cs.us.es/cursos/ia1/temas/tema-05.pdf• http://gpd.sip.ucm.es/rafa/docencia/pr/tema1.html#tema1primerprograma
10/04/2014