1
Inteligencia
Inteligencia
Artificial I
Artificial I
Rafael Rivera LópezDepartamento de Sistemas y Computación Ago-Dic 2008 Veracruz, Ver. Ingeniería en Sistemas Computacionales 2
Técnicas de Búsqueda y
Satisfacción de
Restricciones
Unidad IV3
Satisfacción de
Satisfacción de
Restricciones
Restricciones
IV-2Introducción
Los problemas pueden resolverse buscando en un espacio de estados. 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).
5
Introducción
En los problemas de satisfacción de
restricciones (PSR), los estados tienen 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.
6
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.
7
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.
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 del Oeste Territorio del Norte Australia del Sur Queensland Nueva Gales del Sur Victoria Tasmania
9
Problemas de Satisfacción de Restricciones Formulación como PSR:
n Variables: las regiones de Australia
wAO (Australia del Oeste) wTN (Territorio del Norte) wQ (Queensland)
wNGS (Nueva Gales del Sur) wV (Victoria)
wAS (Australia del Sur) wT (Tasmania)
10
Problemas de Satisfacción de Restricciones Formulación como PSR:
n Dominios: El dominio de cada variable es el
conjunto {rojo, verde, azul}.
n 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)}
n Esta restricción puede representarse como AO
11
Problemas de Satisfacción de Restricciones Formulación como PSR:
n Solución: Hay muchas soluciones posibles,
como
{AO = rojo, TN = verde, Q = rojo, NGS = verde, V = rojo, AS = azul, T = rojo}
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
13
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 14
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:
n Variables: Q1, …, Q8(Posiciones de cada reina en las columnas 1, …, 8).
n 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.
15
Problemas de Satisfacción de Restricciones
Los tipos de restricciones que se pueden tener son:
n Restricciones unarias: restringen el valor de una sola variable.
wEjemplo: A la gente de Australia del Sur no le gusta el color verde. AS ≠ verde
wCada restricción unaria puede eliminarse simplemente preprocesando el dominio de la variable correspondiente para eliminar cualquier valor que viole la restricción.
n Restricciones binarias: relacionan dos variables.
wEjemplo: 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.
16
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
17
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.
18
Búsqueda backtracking para los PSR
AO = rojo AO = verde AO = azul
AO = rojo TN = verde AO = rojo TN = azul AO = rojo TN = verde Q = rojo AO = rojo TN = verde Q = rojo
19
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.
Búsqueda backtracking para los PSR
Propagando información a través de las restricciones
n Forward checking
wCuando 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.
21
Búsqueda backtracking para los PSR
Propagando información a través de las restricciones
n Forward checking Después que V=azul Después que Q=verde Después que AO=rojo Dominios Iniciales RVA A R V A R RVA A RVA R A V A R RVA VA RVA RVA RVA VA R RVA RVA RVA RVA RVA RVA RVA T AS V NGS Q TN AO