Está en la página 1de 30

1

Problemas 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.).
2
CSP

“Constraint Satisfaction is a
simple but powerful idea”

Rina Dechter,

In 'Constraint Processing'
Morgan Kaufmann Pub. (2003)
3
EJEMPLOS 1
• Variables: s,e,n,d,m,o,r,y Objetivos
• Dominios: s,e,n,d,m,o,r,y∈{0,…,9}
• Restricciones
send • Consistencia
+more
money
• Soluciones
103(s+m)+102(e+o)+10(n+r)+d+e=104m+103o+102n+y

Coloreado de Mapas
• Variables: x,y,z,w x y
• Dominios: x,y,z,w :{r,v,a}
• Restricciones: binarias w z
x ≠ y, y≠z, z ≠ w, ... El Problema de
las 8 Reinas…
4
EJEMPLOS 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?


5
EJEMPLOS 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 8:10 y las 8:20 y Luis
llega al trabajo entre las 9:00 y las 9:10. 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.
6
EJEMPLOS 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
Objetivos
• Soluciones
• etc
7
CSP

Problemas de Satisfacción de Restricciones

CSP

Metodología de Resolución de problemas

INTELIGENCIA ARTIFICIAL
8
Definición de CSP

Un Problema de Satisfacción de Restricciones (CSP)


se puede representar como:

• Un Conjunto de Variables: X={x1, x2, ..., xn}


• Dominios de Interpretación (D = <D1,…,Dn> ) para las
variables: xi∈Di
• Un Conjunto de Restricciones entre las variables:
C ={c1, c2, ..., cm}
9
Modelización CSP

Variables
MODELACIÓN Dominios
1) CSP Restricciones

(EXPRESIVIDAD)

Técnicas Resolución
RESOLUCIÓN CSP
2) CSP
(EFICICIENCIA)
10
Modelización 1

• Variables: s,e,n,d,m,o,r,y
• Dominios: s,e,n,d,m,o,r,y:{0,…,9}
• Restricciones send
+more Especificación
money 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(s+m) + 102(e+o) + 10(n+r) + d + e= 104m + 103o + 102n + 10e+y
11
Modelización 2

• Variables: s, e, n, d, m, o, r, y send
+ more
• Dominios: s, e, n, d, m, o, r ,y : {0,…,9} money
• Restricciones:

• s≠e, s≠n, s≠d, s≠m, s≠o, s≠r, s≠y, e≠n, e≠d, e≠m,…..
• d+e = y+10c1
• c1+n+r = e+10c2
• c2+e+o = n+10c3
• c3+s+m = 10m+o
12
Resolución

MODELACIÓN RESOLUCIÓN
CSP CSP

s end
+ more
money
13
Objetivos

’ 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.
14
Objetivos

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.
15
Conceptos 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:
x1=v1, x2=v2, ..., xn=vn / 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 xi=v.

• Un CSP es consistente sii tiene al menos una solución.


16
Conceptos básicos
Variables
• 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.
17
Conceptos básicos
Restricciones
• 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 (N>2).
• 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.
18
N-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
19
Coloreado 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
20
Crucigrama

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)
21
Restricciones Temporales

Definición: dado un conjunto de sucesos que ocurren


en intervalos temporales con ciertas relaciones, encontrar una asignación temporal
consistente.

"Juan
"Juanvavade
desusucasa
casaalaltrabajo
trabajoen
encoche
coche(30-40
(30-40minutos)
minutos) {[30, 40], [60, ∞]}
ooen
en tren (al menos una hora). Luis va en coche(20-30
tren (al menos una hora). Luis va en coche T2
(20-30 T1
minutos)
minutos)ooen enmetro
metro(40-50
(40-50minutos).
minutos). {[10, 20]} {[10, 20]}
Hoy
HoyJuan
Juanparte
partede
decasa
casaentre
entrelas
las8:10
8:10yylas
las8:20
8:20yyLuis
Luis
llega al trabajo entre las 9:00 y las 9:10. Además, {[20, 30], [40, 50]}
llega al trabajo entre las 9:00 y las 9:10. Además, T3 T4
sabemos
sabemosque queJuan
Juanllegó
llegóalaltrabajo
trabajoentre
entre1010yy20
20minutos
minutos {[60, 70]}
después de que Luis saliera de casa" T0
después de que Luis saliera de casa"
T0: Tiempo inicial (en este caso, 8:00 h.)
Formulación: T1 / T2: Tiempo en que Juan sale de casa / llega al trabajo.
T3/T4: Tiempo en que Luis sale de casa / llega al trabajo.
• 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
22
Problema 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: a) Solución por defecto para los arcos dados:

• variables: partes y elementos del diseño


b) Versión teniendo en cuenta aspectos estéticos
• dominios: valores permitidos para cada y geotecnológicos:

parte y elemento
• restricciones: propiedades que las partes c) Bases para diseñar los detalles de los pilares:

deben satisfacer. ? ?

Backtracking sobre
los detalles de
diseño de los pilares

Características: d1) Pilares d2) Pilares


demasiado d3) Pilares
• CSP no binario, mixto, con restricciones cerca
sobre el
peralte
en el agua

e) Diseño final:
hard, soft y difusas.
23
CSPs binarios & n-arios
Binario
Un CSP binario se suele representar mediante un grafo,
donde:
Nodos: Variables
Arcos: Relaciones binarias entre las variables.

X2 X4
X1 R12 x2
x3 R35 x5
X1
x1 R15 x5
x4 R42 x2
x4 R45 x5
x2 R25 x5 X5
X3
24
CSPs binarios & n-arios
No 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 X1 X2 X3

C24567 X4 X5 X6

X7
25
Consistencia: Niveles
1-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 xi=vi (ie: D∩ci0≠{∅})
26
Consistencia: Niveles
2-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 xi=vi, xj=vj
27
Backtracking: ejemplo
28
Backtracking: ejemplo
29
Backtracking: ejemplo
30
Backtracking: ejemplo

También podría gustarte