Está en la página 1de 28

Busqueda con

satisfaccin de
restricciones
Inteligencia Artificial

Introduccin
Satisfaccin de restricciones (Constraints
Satisfaction Problems)INTRODUCCIONMuchos de
los problemas que se plantean en Inteligencia Artificial
pueden formalizarse como un problema de satisfaccin
de restricciones (CSP) y, luego, resolverse utilizando las
tcnicas de resolucin que se han desarrollado para
CSPs. Este mtodo genrico de resolucin de problemas
ha demostrado ser altamente competitivo en reas tan
diversas como visin artificial, planificacin, scheduling,
razonamiento temporal y verificacin de circuitos.
Adems, tiene la ventaja de que la modelizacin de los
problemas es muy natural y declarativa, de manera que
se formaliza lo que se ha de satisfacer sin necesidad de
indicar como se tiene que satisfacer..

Introduccin
La programacin con restricciones (PR) ha
generado gran expectacin entre expertos
de muchas reas debido a su potencial
para la resolucin de problemas reales. La
idea es resolver problemas declarando
restricciones sobre la regin factible del
mismo y encontrar soluciones que
satisfagan todas las restricciones y en su
caso optimicen criterios determinados

Definicin:
Un problema de satisfaccin de restricciones (PSR) est
definido por un conjunto de variablesX= {X1, X2 Xn}
es un conjunto finito de variables,D= {D1, D2 Dn} es
un conjunto finito de dominios, yR= {X1, X2 Xn} es un
conjunto finito de restricciones.Cada variable Xi tiene un
dominio Di de posibles valores. Cada restriccin Ri
comprende algn subconjunto de variables y especifica
las combinaciones de valores permisibles para cada
subconjunto. Si los dominios de las variables son
discretos o continuos, finitos o infinitos, se pueden
distinguir distintos tipos de PSRs, se tratarn problemas
con dominios discretos y finitos.

Definicin
Una restriccion en la que interviene una unica variable es una
restriccion unaria, y una restriccion en la que intervienen dos
variables es una restriccin binaria. Una restriccion unaria en
la que interviene la variable Xi, y una restriccion binaria en la
que intervienen las variables la representaremos por Ri Xi e Xj
la representamos por Rij.Un estado del problema est
definido por una asignacin de valores a algunas o a todas las
variables, {Xi=vi, Xj= vj,}. Una asignacin que no viola
ninguna restriccin se llama consistente o asignacin vlida.
Una asignacin completa es una en la que cada variable es
mencionada, una solucin a un PSR es una asignacin
completa que satisface a todas las restricciones.Una
asignacion de un valor del dominio a cada variable de un CSP
es una solucion del CSP si dicha asignacion satisface todas las
restricciones.

Conceptos Bsicos
La programacin de restricciones puede dividirse en dos
ramas claramente diferenciadas:
la satisfaccin de restricciones y la resolucin de
restricciones. Ambas comparten la misma terminologa,
pero sus orgenes y tcnicas de resolucin son diferentes.
La satisfaccin de restricciones trata con problemas que
tienen dominios finitos, mientras que la resolucin de
restricciones est orientada principalmente a problemas
sobre dominios infinitos o dominios ms complejos.. Los
conceptos clave en esta metodologa corresponden a los
aspectos de:

Conceptos Bsicos
La modelizacin del problema, que permite representar un
problema mediante un conjunto finito de variables, un dominio
de valores finito para cada variable y un conjunto de
restricciones que acotan las combinaciones vlidas de valores
que las variables pueden tomar.
Tcnicas inferenciales que permiten deducir nueva informacin
sobre el problema a partir de la explcitamente representada.
Estas tcnicas tambin permiten acotar y hacer ms eficiente el
proceso de bsqueda de soluciones.
Tcnicas de bsqueda de la solucin, apoyadas generalmente
por criterios heursticos, bien dependientes o independientes
del dominio. El objetivo es encontrar un valor para cada variable
del problema de manera que se satisfagan todas las
restricciones del problema.

Modelizacin del CSP


Generalmente la declaracin de un
problema se suele expresar de muchas
maneras diferentes, e incluso en lenguaje
natural. Una parte muy importante para la
resolucin de problemas de la vida real es
el modelado del problema en trminos de
CSPs, es decir, variables, dominios y
restricciones.

Clasificacin segn el
tipo de restricciones:
Restricciones de obligacin (hard constraints).
Restricciones de preferencia (soft constraints).
Clasificacin segn los dominios:
Dominios discretos (finitos o infinitos).
Dominios continuos.
Clasificacin segn el nmero de variables implicadas en
las restricciones
Restricciones binarias.
Restricciones mltiples.

Tipos de Problemas de
Satisfaccin de
Restricciones.
Segn el tipo de restricciones
Restricciones de obligacin
Restricciones de preferencia

Segn los dominios


Dominios discretos
Dominios continuos

Segn el nmero de variables implicadas


Restricciones binarias
Restricciones mltiples

Restricciones de
obligacin (hard
constraints)
Establecen condiciones para las variables
que necesitan ser satisfactorias.
Son aquellos que definitivamente
queremos que sean ciertos.
Podemos relacionarlos con un mecanismo
ensamblado satisfactoriamente.
Estn presentes siempre en problemas
prcticos.

Hard Constraints Soft


Constraints

Restricciones de
preferencia (soft
constraints)
Tienen algunos valores variables que estn
penalizados en la funcin objetivo, en el
dado caso que las variables no se puedan
satisfacer.
Son aquellos que nos gustara que fueran
verdaderos, pero no a expensas de otros.
No nos interesa tratar de vincular cada
punto exacto si solo puede serlo al romper
todos los vnculos.

Clasificacin segn los


dominios:
Dominios discretos (finitos o
infinitos)
Dominios continuos

La satisfaccin de restricciones trata con


dominios finitos, mientras que la resolucin
de restricciones est orientada principalmente
a problemas sobre dominios infinitos o
dominios ms complejos.

Dominios/Valores:
El dominio de una variable lo denotamos
por . A los valores individuales de un dominio
los representaremos mediante las primeras
letras del alfabeto, por ejemplo a, b, c, y al
igual que en las variables tambin pueden ir
seguidas de subndices. La asignacin de un
valor a a una variable x la denotaremos
mediante el par (x, a).

Restricciones N-arias
N-arias: son restricciones en las que participan N
variables (N>2).
Hoy en da muchos problemas de la vida real se
pueden modelar como problemas de satisfaccin de
restricciones (CSPs) no binarias (n-arias). Por
ejemplo en areas tales como inteligencia artificial,
investigacin operativa, bases de datos y sistemas
expertos, la importancia de los CSPs no binarios se
est incrementando paulatinamente. Sin embargo la
mayor a de los investigadores centran su atencin
en los CSPs binarios, tal vez por el hecho de que un
CSP no binario se puede transformar en uno binario.

CSPs binarios & n-arios


Un CSP no binario no se suele representar mediante un grafo, sino como un
hiper-grafo perdiendo toda la funcionalidad existente sobre la teora de grafos.
donde:
Nodos: Variables
Arcos: Relaciones binarias entre las variables.

C123

X1

X2

X3

C24567

X4

X5

X6

X7

Restricciones Binarias
Un CSP binario se acostumbra a representar
mediante un grafo de restricciones. Cada nodo
del grafo corresponde a una variable del
problema. Cada restriccin se representa por
una arista que tiene como etiqueta el nombre de
la restriccin. Si la restriccin es unaria, la arista
tiene como origen y final el mismo nodo. Si la
restriccin es binaria, conecta los nodos de las
dos variables que intervienen en la restriccin.
Una arista que conecta dos nodos Xi y Xj
representa dos arcos: el arco que va de Xi a Xj y
el arco que va de Xj a Xi.

La figura 3
muestra los
grafos de
restricciones
correspondientes
al problema de la
3-coloracion del
grafo de la figura
1 y al problema
de las 4 reinas.
Junto a cada
nodo, tambin
mostramos el
dominio de la
variable que
corresponde al
nodo

EJEMLPO 1:
El problema de la k-coloracion de un grafo consiste en decidir si
los nodos del grafo pueden colorearse empleando k colores de
manera que dos nodos adyacentes no esten coloreados con el
mismo color. Su representacion como un CSP se puede definir
de la siguiente forma:
X es el conjunto de nodos.
D asigna el dominio {1, 2,, k}a cada variable, donde cada elemento del dominio
denota uno de los posibles colores.
R contiene la restriccion Xi Xj para cada par (Xi, Xj) de nodos adyacentes.

La formalizacion del problema de la 3-coloracion para el


grafo de la figura 1 como un CSP es la siguiente:
Variables: X = {X1, X2, X3 }, una variable por nodo.
Dominios: Di = {azul, rojo, verde} , 1 =< i =< 3, un valor
por color.
Restricciones: nodos adyacentes tienen colores
diferentes.
R12 = { (azul, rojo), (azul, verde), (rojo, verde) }
R13 = { (azul, rojo), (azul, verde), (rojo, verde) }
R23 = { (azul, rojo), (azul, verde), (rojo, verde) }

Problema de las 8
reinas
El problema de las ocho reinas es un
pasatiempo en el que se colocan ocho
reinas sin que se amenacen.

BackTracking
Vuelta atrs (Backtracking) es una estrategia para
encontrar soluciones a problemas que satisfacen
restricciones.
backtracking se asemeja a un recorrido en profundidad
dentro de un grafo dirigido.
Construye soluciones parciales a medida que progresa el
recorrido; estas soluciones parciales limitan las regiones
en las que se puede encontrar una solucin completa.
Su principal virtud es que en la mayora de las
implementaciones se puede evitar combinaciones
reduciendo el tiempo de ejecucin.

Definicin: posicionar n reinas en un


tablero de
ajedrez n x n, de forma que no se
ataquen.
Formulacin: 1 reina por fila
variables: reinas, Xi reina en la fila isima
dominios: columnas posibles {1, 2, .
. . , n}
restricciones: no colocar dos reinas
en
la misma columna
la misma diagonal
Caractersticas:
CSP binario, discreto y finito

BackTracking

Problema de las 8
reinas
El problema de las ocho reinas tiene 92 soluciones, de las cuales
12 son esencialmente distintas, 92 soluciones existentes se
pueden obtener a partir de simetras, rotaciones y traslaciones
de las 12 soluciones nicas
1 -15863724
2 -16837425
3 -17468253
4 -17582463
5 -24683175
6 -25713864
7 -25741863
8 -26174835
9 --

Bibliografa y
referencias de internet:
http://users.dsic.upv.es/grupos/gps/papers
/372-370-1-PB.pdf

También podría gustarte