You are on page 1of 5

[SISTEMAS INTELIGENTES] IDSYSTEMS 2014

Leccion 4.3 Satisfaccion de restricciones Pgina 1



Leccion 4.3 Satisfaccion de restricciones

Problemas de satisfaccin de restricciones (CSPs) por sus siglas en Ingles, son problemas
matemticos definido como un conjunto de objetos tal que su estado debe satisfacer un nmero de
restricciones o limitaciones. CSPs representa las entidades de un problema como una coleccin
homognea finita de restricciones sobre variables, las que son resueltas por mtodos de satisfaccin de
restricciones. CSPs son el tema de una intensa investigacin en Inteligencia Artificial e Investigacion de
operaciones, dado que la generalidad en su formulacin provee un principio bsico para analizar y
resolver problemas de distintos tipos. CSPs a menudo muestran gran complejidad, requiriendo una
combinacin de mtodos heursticos y bsqueda combinatoria para ser resueltos en un tiempo razonable.
El Problema de satisfacibilidad booleana (SAT), el Satisfiability Modulo Theories (SMT) y answer set
programming (ASP) pueden ser a grandes rasgos modelados como una forma de problema de
satisfaccin de restricciones.
Ejemplos de problemas sencillos que pueden ser modelados como problema de satisfaccin de
restricciones.
Problema de las ocho reinas
Teorema de los cuatro colores Problema de coloracin de mapas
Sudoku, Futoshiki, Kakuro (Cross Sums), Numbrix, Hidato y muchos otros puzzles
De forma general, problemas de restricciones pueden ser ms difciles, y pueden no ser expresables en
alguno de estos sistemas simples.
Ejemplos de la vida real son Planeamiento y Asignacin de recursos.
Definicin formal
Formalmente, un problema de satisfaccin de restriccin es definido como un triplo , donde
es un conjunto de variables, es el dominio de valores, y es un conjunto de restricciones. Toda
restriccin es un par (usualmente representado como una matriz), donde es una -
Tupla de variables y es una relacin -aria en . Una evaluacin de las variables es una funcin del
conjunto de variables a el dominio de valores, . Una evaluacin satisfice una restriccin
si . Una solucin es una evaluacin que satisfice
todas las restricciones.



[SISTEMAS INTELIGENTES] IDSYSTEMS 2014

Leccion 4.3 Satisfaccion de restricciones Pgina 2

Resolucin de CSPs
Los problemas de satisfaccin de restricciones en un dominio finito son resueltos tpicamente usando
una forma de algoritmo de bsqueda. Las tcnicas ms usadas son variantes de bsqueda con retroceso
cronolgico (backtracking), propagacin de restricciones, y bsqueda local.
Retroceso cronolgico es un algoritmo recursivo. Mantiene una asignacin parcial de las variables.
Inicialmente, todas las variables estn sin asignar. En cada paso, una variable es seleccionada, y todos
los posibles valores son asignados a la variable por turnos. Por cada valor, la consistencia de la
asignacin parcial es chequeada con respecto a las restricciones; en caso de consistencia, un llamado
recursivo es hecho. Cuando todos los valores fueron probados, el algoritmo hace backtracking. En este
algoritmo bsico con retroceso cronolgico, la consistencia es definida como la satisfaccin de todas las
restricciones donde las variables estn asignadas. Existen algunas variantes de backtracking.
Backmarking mejora la eficiencia del chequeo de consistencia. Backjumping permite guardar parte de la
bsqueda por backtracking "ms de una variable" en algunos casos. Aprendizaje por restricciones infiere
y guarda nuevas restricciones que pueden ser usadas luego para evitar parte de la bsqueda. Look-ahead
es tambin a menudo usado en backtracking para intentar prever el efecto de seleccionar una variable o
un valor, por lo tanto, determinar a veces con anticipacin cundo es satisfasible o insatisfasible un
subproblema.
Las tcnicas de propagacin de restricciones son mtodos usados para modificar un problema de
satisfaccin de restricciones. Ms especfico, son mtodos que fuerzan una forma de consistencia local,
que son condiciones relacionadas con la consistencia de un grupo de variables y/o restricciones.
Propagacin de restriccin tiene varios usos. Primero, cambia el problema en otro que es equivalente
pero usualmente ms simple de resolver. Segundo, puede probar la satisfacibilidad o la insatisfacibilidad
de problemas. En general no hay garanta de que esto ocurra; sin embargo, siempre ocurre para algunas
formas de propagacin de restriccin y/o para algunos tipos de problemas especficos. Las formas ms
conocidas y usadas de consistencia local son consistencia de arco, consistencia de hper arco, y
consistencia de camino. El mtodo de propagacin de restriccin ms popular es el algoritmo AC-3, el
cual asegura consistencia de arco.
Los mtodos de bsqueda local son algoritmos de satisfacibilidad incompleta. Ellos pueden encontrar
una solucin al problema, pero pueden no encontrarle incluso si el problema es satisfasible. Ellos
trabajan mejorando iterativamente una asignacin completa de las variables. En cada paso, un grupo
pequeo de variables les son cambiados los valores, con el objetivo fundamental de incrementar el
nmero de restricciones que satisfacen la actual asignacin. El algoritmo de Min-Conflictos es
especfico de bsqueda local para CSPs basado en ese principio. En la prctica, bsqueda local parece
funcionar bien cuando estos cambios son tambin afectados por una seleccin aleatoria.



[SISTEMAS INTELIGENTES] IDSYSTEMS 2014

Leccion 4.3 Satisfaccion de restricciones Pgina 3

Aspectos tericos de CSPs
Problemas de decisin
CSPs son estudiados tambin en Teora de la complejidad computacional. Una pregunta importante es si
para cada conjunto de relaciones, el conjunto de todos los CSPs que pueden ser representado usando
solo las relaciones escogidas de ese conjunto estn en P o NP-completo. Si el teorema Dicotoma es
verdadero, entonces CSPs provee uno de los subconjuntos ms grandes conocidos de NP los que evitan
problemas NP-intermedio, cuya existencia fue demostrada por el teorema de Ladner bajo la suposicin
que P NP. El teorema de Schaefer sobre dicotoma maneja el caso cuando todas las relaciones
disponibles son operadores booleanos, eso es para dominio de tamao 2. El problema de dicotoma de
Schaefer fue recientemente generalizado clases grandes de relaciones.
Todo CSP pude ser tambin considerado como un problema de conjuncin de preguntas.
1

Problemas de funciones
Una situacin similar existe entre las clases funcionales FP y #P. Por una generalizacin del teorema de
Ladner, tambin hay problemas que no son FP ni #P-completo tan grande como FP #P. Como en el
caso de decisin, un problema en el #CSP es definido por un conjunto de relaciones. Cada problema
toma una frmula booleana como entrada y la tarea es computar el nmero de asignaciones que
satisfacen las restricciones. Esto puede ser generalizado usando tamao de dominios grandes y fijar un
peso asignacin que satisface y computando la suma de estos pesos. Es conocido que cualquier
problema complejo con peso #CSP est en FP o #P-hard.
Variantes de CSPs
El modelo clsico de Problema de Satisfaccin de Restricciones define un modelo esttico, inflexible de
restricciones. Este modelo rgido es un defecto que lo hace difcil para representar problemas
fcilmente.
2
Varias modificaciones a la definicin bsica de CSP han sido propuestas para adaptar el
modelo a una amplia variedad de problemas.
CSPs dinmico
CSPs dinmico
3
(DCSPs) son usados cuando la formulacin original de un problema es alterado de
alguna forma, tpicamente porque el conjunto de restricciones a considerar cambia por el entorno.
4

DCSPs son vistos como una secuencia de CSPs estticos, cada uno es una transformacin del anterior en
el que variables y restricciones pueden ser adicionadas (restriction) o eliminadas (relaxation). La
informacin encontrada en la formulacin inicial del problema puede ser usada para refinar los
siguientes. El mtodo de solucin puede ser clasificado acorde a la forma en que la informacin es
transferida:
Oracles: las soluciones encontradas de los anteriores CSPs en la secuencia son usadas como
heursticas para guiar la resolucin del actual CSP.
[SISTEMAS INTELIGENTES] IDSYSTEMS 2014

Leccion 4.3 Satisfaccion de restricciones Pgina 4

Local repair: cada CSP es calculado comenzando desde la solucin parcial del CSP anterior y
reparando las inconsistencias con bsqueda local.
Constraint recording: nuevas restricciones son definidas en cada estado de la bsqueda para
representar el conocimiento de inconsistencia de grupo de las decisiones. Esas restricciones son
llevadas hacia el nuevo CSP.
CSPs flexible
Los CSPs clsicos tratan las restricciones como fuertes, significan que son inviolables (cada solucin las
debe satisfacer por completo) e inflexible (en este sentido las restricciones deben ser completamente
cumplidas o por el contrario son completamente violadas). Los CSP flexibles relajan estas suposiciones,
relajan parcialmente las restricciones y permiten a la solucion no cumplir con exactamente todas las
restricciones. Algunos tipos de CSPs flexible incluyen:
MAX-CSP, donde un numero de restricciones son permitidas que se violen, y la calidad de la
solucin es medida por el nmero de restricciones cumplidas.
Weighted CSP, un MAX-CSP en el cual cada restriccin violada es penalizada acorde a una
preferencia predefinida. Es preferida la solucin con menos penalizaciones.
Fuzzy CSP modela las restricciones como relaciones de Lgica difusa en las cuales el
cumplimiento de una restriccin es una funcin continua de los valores de las variables, yendo
desde completamente cumplidas hasta completamente violadas.























[SISTEMAS INTELIGENTES] IDSYSTEMS 2014

Leccion 4.3 Satisfaccion de restricciones Pgina 5

Referencias:

Obtenido de
http://es.wikipedia.org/w/index.php?title=Problema_de_satisfaccin_de_restricciones&oldid=7317731
5
Programacin con restricciones

You might also like