Title: Problemas de Satisfacci
1Problemas de Satisfacción de Restricciones (CSP)
- Contenidos
- Definición del problema de satisfacción de
restricciones (CSP). Áreas de aplicación. - Especificación de un problema CSP variables,
dominios y restricciones. - Tipología de restricciones (discretas y
continuas, fuertes y débiles, restricciones
lineales, disyuntivas, etc.).
2CSP
- Constraint Satisfaction is a simple but powerful
idea - Rina Dechter,
- In 'Constraint Processing'
- Morgan Kaufmann Pub. (2003)
3EJEMPLOS 1
4EJEMPLOS 2
Juan, Pepe y Paco nacieron y viven en ciudades
diferentes (Málaga, Madrid y Valencia). Además,
ninguno vive en la ciudad donde nació. Juan es
más alto que el que vive en Madrid. Paco es
cuñado del que vive en Valencia. El que vive en
Madrid y el que nació en Málaga tienen nombres
que comienzan por distinta letra. El que nació en
Málaga y el que vive ahora en Valencia tienen
nombres que comienzan por la misma letra.
Donde nació y vive cada uno?
5EJEMPLOS 3
- "Juan va de su casa al trabajo en coche (30-40
minutos) o en tren (al menos una hora). Luis va
en coche (20-30 minutos) o en metro (40-50
minutos). - Hoy Juan parte de casa entre las 810 y las 820
y Luis llega al trabajo entre las 900 y las
910. Además, sabemos que Juan llegó al trabajo
entre 10 y 20 minutos después de que Luis saliera
de casa - Cuestiones
- Esta información es consistente?
- Es posible que Juan haya usado el tren y Luis
haya usado el Metro? - Cuales son los posibles tiempos en los que Luis
pudo haber salido de casa?, etc.
6EJEMPLOS 4
- Variables altura de viga, longitud de viga,
canto de forjado - Dominios continuos altura, longitud 0, 10
- Restricciones vibraciones, refuerzos,
conexiones, etc.
- Consistencia
- Intervalos de tolerancia
- Soluciones
- etc
Objetivos
7CSP
- Problemas de Satisfacción de Restricciones
- CSP
Metodología de Resolución de problemas INTELIGEN
CIA ARTIFICIAL
8Definición de CSP
- Un Problema de Satisfacción de Restricciones
(CSP) - se puede representar como
- Un Conjunto de Variables Xx1, x2, ..., xn
- Dominios de Interpretación (D ltD1,,Dngt ) para
las variables xiÎDi - Un Conjunto de Restricciones entre las
variables - C c1, c2, ..., cm
-
9Modelización CSP
10Modelización 1
- Variables s,e,n,d,m,o,r,y
- Dominios s,e,n,d,m,o,r,y0,,9
- Restricciones
s e n d m o r e m o n e y
Especificación CSP
- Variables s, e, n, d, m, o, r, y
- Dominios s, e, n, d, m, o, r ,y 0,,9
- Restricciones
- Todas Diferentes,
- 103(sm) 102(eo) 10(nr) d e 104m
103o 102n 10ey
11Modelización 2
s e n d m o r e m o n e y
- Variables s, e, n, d, m, o, r, y
- Dominios s, e, n, d, m, o, r ,y 0,,9
- Restricciones
- s?e, s?n, s?d, s?m, s?o, s?r, s?y, e?n, e?d,
e?m,.. - de y10c1
- c1nr e10c2
- c2eo n10c3
- c3sm 10mo
12Resolución
MODELACIÓN CSP
RESOLUCIÓN CSP
13Objetivos
- Consistencia del problema (existe solución).
- Obtener una o todas las soluciones del problema.
- Obtener los dominios mínimos.
- La solución que optimiza una función objetivo o
multi-objetivo.
CSP es NP-completo, NP-duro
14Objetivos
- Objetivo de un CSP
- Tiene solución? Þ Consistencia.
- Obtener una solución. Obtener todas las
soluciones. - Obtener una solución óptima, o al menos una buena
solución, medida por alguna función objetivo
(función de evaluación).
- Algoritmos para CSP
- Técnicas de Búsqueda (Algoritmos CSP) Obtienen
una solución, guiados por heurísticas. - Técnicas Inferenciales (Algoritmos de
propagación) Obtienen las consecuencias de las
restricciones explícitamente conocidas del
problema.
15Conceptos básicos
- Dado un CSP (X, Di, C),
- Una instanciación (o asignación) de las variables
X es una asignación de valores a las variables en
sus dominios - x1v1, x2v2, ..., xnvn / viÎD
- Una solución del CSP es una instanciación
consistente de las variables, de forma que se
satisfacen todas las restricciones del problema. - Un valor v es un valor consistente (o posible)
para xi si existe una solución del CSP en la cual
participa la asignación xiv. - Un CSP es consistente sii tiene al menos una
solución.
16Conceptos básicosVariables
- Un CSP discreto es aquel en el que todas las
variables son - discretas, es decir, toman valores en dominios
discretos. - Un CSP continuo es un CSP en el que todas las
variables son continuas, es decir, tienen
dominios continuos. - Un CSP mixto consta de variables continuas y
discretas. - Un CSP binario es aquel en el que todas las
restricciones tienen a los sumo dos variables
respectivamente. - Un CSP no binario o n-ario es aquel en el que las
restricciones - tienen más de dos variables.
17Conceptos básicosRestricciones
- Discretas las variables participantes están
acotadas en dominios discretos. - Continuas las variables participantes están
acotadas en dominios continuos. - Binarias son restricciones en las que sólo
participan dos variables. - N-arias son restricciones en las que participan
N variables (Ngt2). - Fuertes (hard) son restricciones cuya
satisfabilidad es imprescindible. - Débiles (soft) son restricciones cuya
satisfabilidad no es imprescindible. - Difusas (fuzzy) son restricciones definidas
sobre niveles de preferencia. - Disyuntivas son restricciones compuestas por un
conjunto disjunto de restricciones.
18N-reinas
- Definición posicionar n reinas en un tablero de
- ajedrez n x n, de forma que no se ataquen.
- Formulación 1 reina por fila
- variables reinas, Xi reina en la fila i-ésima
- dominios columnas posibles 1, 2, . . . , n
- restricciones no colocar dos reinas en
- la misma columna
- la misma diagonal
- Características
- CSP binario, discreto y finito
19Coloreado de Grafos
- Definición Dado un grafo,
- n nodos
- m colores,
- asignar un color a cada nodo de forma que no haya
- dos nodos adyacentes con el mismo color.
- Formulación
- variables nodos
- dominios colores posibles
- restricciones ? nodos adyacentes
- Características
- CSP binario, discreto y finito
20Crucigrama
- Definición Dada una rejilla y un diccionario,
construir - un crucigrama compatible.
- Formulación
- variables grupo de casillas para una palabra
(slots) - dominios palabras del diccionario con la
longitud adecuada - restricciones misma letra en la intersección
de dos palabras - Características
- CSP binario, discreto y finito (dominios
grandes)
21Restricciones Temporales
- Definición dado un conjunto de sucesos que
ocurren - en intervalos temporales con ciertas relaciones,
encontrar una asignación temporal consistente. - Formulación
- variables sucesos
- dominios intervalo temporal para cada suceso
- restricciones distancia temporal permitida
entre - sucesos relaciones temporales antes, después,
solapado, etc. - Características
- CSP binario, continuo, con restricciones
disyuntivas
"Juan va de su casa al trabajo en coche (30-40
minutos) o en tren (al menos una hora). Luis va
en coche (20-30 minutos) o en metro (40-50
minutos). Hoy Juan parte de casa entre las 810
y las 820 y Luis llega al trabajo entre las 900
y las 910. Además, sabemos que Juan llegó al
trabajo entre 10 y 20 minutos después de que Luis
saliera de casa"
22Problema de diseño
- Definición el problema consiste en llevar a cabo
el diseño de un puente que debe constar de pocos
arcos siendo preferible que los pilares no toquen
el agua y los pilares sean lo más bajos posibles.
Formulación variables partes y elementos del
diseño dominios valores permitidos para cada
parte y elemento restricciones propiedades que
las partes deben satisfacer. Características
CSP no binario, mixto, con restricciones hard,
soft y difusas.
23CSPs binarios n-ariosBinario
Un CSP binario se suele representar mediante un
grafo, donde Nodos Variables Arcos Relaciones
binarias entre las variables.
X4
X2
X1 R12 x2 x3 R35 x5 x1 R15 x5 x4 R42 x2 x4
R45 x5 x2 R25 x5
X1
X5
X3
24CSPs binarios n-ariosNo Binario
Un CSP no binario no se suele representar
mediante un grafo, sino como un hiper-grafo
perdiendo toda la funcionalidad existente sobre
la teoría de grafos. donde Nodos
Variables Arcos Relaciones binarias entre las
variables.
C123
C24567
25Consistencia Niveles1-consistencia
Consistencia de nodo (1-consistencia) Un nodo
(xi) es consistente si al menos un valor en su
dominio es consistente con la restricción unaria
del nodo 10?xi? 15, D(Xi)0, 10 Un grafo red
es nodo-consistente sii todos sus nodos son
consistentes "xiÎCSP, viÎD / (xi ci0) se
cumple para xivi (ie DÇci0¹Æ)
26Consistencia Niveles2-consistencia
- Consistencia de arco (2-consistencia)
- Un arco (xi cij xj) es consistente si y solo si
para cada asignación de xi en su dominio, existe
una asignación para xi, tal que la restricción
cij se satisface. - Por ejemplo el arco
Cij
xi
xj
3,6
8,10
es consistente, pero no lo sería si cij en vez de
fuese ³ Un grafo es arco-consistente si todos
sus arcos son consistentes. "cij ÍCSP, "viÎdi
vjÎdj / (xi cij xj) se cumple para xivi, xjvj
27Backtracking ejemplo
28Backtracking ejemplo
29Backtracking ejemplo
30Backtracking ejemplo