Date post: | 18-Oct-2015 |
Category: |
Documents |
Upload: | camilo-calderon |
View: | 26 times |
Download: | 0 times |
of 68
5/28/2018 Constraint Satisfaction Problem
1/68
Constraint satisfaction problem
nbc
5/28/2018 Constraint Satisfaction Problem
2/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
3/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
4/68
Satisfaccin de restricciones
Dividir en dos
reas
Satisfaccin derestricciones
Dominiosfinitos
Resolucin derestricciones
Dominiosinfinitos
Satisfaccin de restricciones, que bsicamente consiste en un
conjunto finito de variables, un dominio de valores para cada
variable y un conjunto de restricciones que acotan la combinacin de
valores que las variables pueden tomar
5/28/2018 Constraint Satisfaction Problem
5/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
6/68
Resolucin
Modelar elproblema
Variable
DominiosRestricciones
Procesar elproblemaresultante
Algoritmos de
bsqueda
Tcnicas deconsistencia
Resolucin
5/28/2018 Constraint Satisfaction Problem
7/68
Resolucin
Modelar elproblema
Variable
DominiosRestricciones
Procesar elproblemaresultante
Algoritmos de
bsqueda
Tcnicas deconsistencia
Resolucin
5/28/2018 Constraint Satisfaction Problem
8/68
8
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
103
(s+m)+102
(e+o)+10(n+r)+d+e=104
m+103
o+102
n+y
Coloreado de MapasVariables: x,y,z,w
Dominios: x,y,z,w:{r,v,a}Restricciones: binarias
x y, yz, z x, ...
x y
zw
Objetivos
Consistencia
Soluciones
El Problema de las 8Reinas
Modelacin
5/28/2018 Constraint Satisfaction Problem
9/68
9
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
Variables: s, e, n, d, m, o, r, yDominios: 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
EspecificacinCSP
Modelizacin 1
5/28/2018 Constraint Satisfaction Problem
10/68
10
Variables: s, e, n, d, m, o, r, yDominios: s, e, n, d, m, o, r ,y : {0,,9}Restricciones:
se, sn, sd, sm, so, sr, sy, en, ed, em,..d+e = y+10c1
c1+n+r = e+10c2
c2+e+o = n+10c3
c3+s+m = 10m+o
Modelizacin 2
s e n d
+ m o r e
m o n e y
5/28/2018 Constraint Satisfaction Problem
11/68
Satisfaccin de restricciones
Que es
Resolucin
Conceptos
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
12/68
A-12
Some Definitions
Constraint Network (CN): (X, D, C)X= {x1,x2,,xn} variables
D= {d1, d2,,dn} domains (finite)
C= {c1,c2,,cr } constraints
cC var(c) = {xi,xj,,xk} scope
rel(c) di x dj x .. x dk permitted tuples
arity(c)=|var(c)| (unary, binary, ternary,)
Constraint Satisfaction Problem (CSP): CN solving: assig. satisfying every constraint
NP-complete task
5/28/2018 Constraint Satisfaction Problem
13/68
Conceptos
Asignacin
Instanciacin (x; a)es un par variable-valor querepresenta laasignacin del valora la variable x.
Solucin
Es una asignacinde valores a todaslas variables deforma que sesatisfagan todas lasrestricciones
Notacin
Variables: x; y; z,
Dominios/Valores:Dia,b,c (x; a).
C1::k
Cij
5/28/2018 Constraint Satisfaction Problem
14/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
15/68
Restricciones
1. Ariedad : Variables
2. Tupla : Elemento del producto cartesiano Di x
Dj
5/28/2018 Constraint Satisfaction Problem
16/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
17/68
Resolucin de cps
Consistencia de un CSP
Consistencia de nodos
k-consistencia: Poda devalores que no sean
posibles para un grupo dek variables
Consistencia de arcosEliminamos valores
imposibles para parejas devariables
Consistencia de caminos
Camino consistencia (3-consistencia): Eliminamos
valores imposibles paraternas de variables
5/28/2018 Constraint Satisfaction Problem
18/68
Consistencia de nodos 1-consistencia
5/28/2018 Constraint Satisfaction Problem
19/68
Consistencia de Arcos 2-consistencia
5/28/2018 Constraint Satisfaction Problem
20/68
5/28/2018 Constraint Satisfaction Problem
21/68
5/28/2018 Constraint Satisfaction Problem
22/68
5/28/2018 Constraint Satisfaction Problem
23/68
5/28/2018 Constraint Satisfaction Problem
24/68
5/28/2018 Constraint Satisfaction Problem
25/68
Consistencia de caminos
5/28/2018 Constraint Satisfaction Problem
26/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
27/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
5/28/2018 Constraint Satisfaction Problem
28/68
Algoritmos de bsqueda
Backtracking cronolgico
Algoritmos look-back
Backjumping
Conflict-directed Backjumping
Learning
Algoritmos look-ahead: forward checking
forward checking
Minimal forward checking
5/28/2018 Constraint Satisfaction Problem
29/68
Satisfaccin de restricciones
Que es
Resolucin
Procesar
Restricciones
Consistencia
Algoritmos
R l i
5/28/2018 Constraint Satisfaction Problem
30/68
30
Resolucin
s e n d
+ m o r em o n e y
MODELACINCSP
RESOLUCINCSP
5/28/2018 Constraint Satisfaction Problem
31/68
A-31
Backtracking Algorithm
Depth-first tree traversal (DFS)
At each node:check every completely assigned constraint
if consistent, continue DFS
otherwise, prune current branch
continue DFS
Complexity: O(dn)
5/28/2018 Constraint Satisfaction Problem
32/68
A-32
Backtracking on 4-queens
2
3
2
1
1 2 3 4 1 2 3
3
4
4 2 4
1
1 12 3 4
1
1 2 3
x1
x2
x3
x4
x1x2
x3
x4
1 2 3 4
QQ Q Q
Q Q Q Q
Q
Q Q Q Q
Q
Q Q Q Q
Q Q Q Q
Q
Q Q Q
solution25 nodes
5/28/2018 Constraint Satisfaction Problem
33/68
A-33
Problems of Backtracking
Thrashing: the same failure can
be rediscovered anexponential numberof times
Solutions:
check not completely assigned constraints:propagation jumping to the source of failure: non-chronological
backtracking
the first choice is
incompatible with
any last choice
5/28/2018 Constraint Satisfaction Problem
34/68
A-34
Non-chronological Backtracking
1
3
5
2
4
X1
X2
X3
X4
X5
X6ChangingX5does NOTremove thedead-end
Backtrack on the culprit:X4
dead-end
X1
X2
X3
X4
X5
X6
X7
X8
Conflict-directed backjumping
Dynamic backtracking
5/28/2018 Constraint Satisfaction Problem
35/68
A-35
Propagation
Forward Checking is a combination of:Search: backtrackingInference: at each node, infer the effect of
assigned to unassigned variables
When a domain becomes empty:No solutions following current branch
Prune current branch and backtrack
Caution:Values removed by propagationat level i, haveto be restored when bactracking at level i orabove
5/28/2018 Constraint Satisfaction Problem
36/68
A-36
Example: FC on 4-queens
2
2
3
4 4
1
1
3
x1
x2
x3
x4
x1
x2
x3
x4
1 2 3 4
x1
x2
x3
x4
1 2 3 4
Qx1x2
x3
x4
1 2 3 4
Q
x1
x2
x3
x4
1 2 3 4
Q
x1
x2
x3
x4
1 2 3 4
x1
x2
x3
x4
1 2 3 4
Q
x1
x2
x3
x4
1 2 3 4
QQx1x2
x3
x4
1 2 3 4
Q Qx1x2
x3
x4
1 2 3 4
Q Q
Q
x1
x2
x3
x4
1 2 3 4
Q Q
Q
Q
x1
x2
x3
x4
1 2 3 4
Q Q
Q
Q
Q
solution8 nodes
5/28/2018 Constraint Satisfaction Problem
37/68
37
Ejemplo
4 familias A, B, Cy Dviven unas junto a otras encasas numeradas 1, 2, 3y 4.
Dvive en una casa con nmero ms bajoqueB,Bvive al lado deAen una casa con nmeromayor,Hay al menos una casa entreByC,
Dno viveen la casa con nmero2,Cno viveen la casa con nmero4.
Cul familia vive en cul casa ?
El enigma de las 4 casas:
5/28/2018 Constraint Satisfaction Problem
38/68
38
Representacin:
Las variables: A, B, Cy D Los dominios: dA= dB= dC= dD= { 1, 2, 3, 4}
Restricciones:
unaria: r(C) =C4 r(D) =D2binaria:
r(A,B) =B=A + 1r(B,D) =D Br(B,C) = |B-C| 1
r(A,C) =A Cr(A,D) = A Dr(C,D) = C D
5/28/2018 Constraint Satisfaction Problem
39/68
39
Consistencia de nodos:
Las restricciones unarias son eliminadas porreduccin del dominio:
O: consistencia-1(solo 1 variable involucrada)
r(C) =C4
r(D) =D2
dC= { 1, 2, 3}
dD= { 1, 3,4}
5/28/2018 Constraint Satisfaction Problem
40/68
40
Red de restricciones:
A B
DC
B=A + 1
A C D BAD
|B-C| 1
C D
{ 1, 2, 3, 4} { 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
5/28/2018 Constraint Satisfaction Problem
41/68
Relajacin dbil
Forward CheckLookahead Check
Forward Check:
5/28/2018 Constraint Satisfaction Problem
42/68
42
Forward Check:
Asuma que fijamos el valor de 1 variable zi: zi= a
Forward Check(zi) =activar cada restriccin r(zi, zj) o r(zj, zi) una vez
para remover los valores inconsistentes con zi= a
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{2} { 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
Nuestro ejemplo: asumir A= 2:
Forward check:
5/28/2018 Constraint Satisfaction Problem
43/68
43
Forward check:
consistencia dbil
Requiere que 1 variable ya haya obtenido un valorsugiere el uso en combinacin con backtracking
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{2} { 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
No produce un estado consistenteno se realiza toda la relajacin
5/28/2018 Constraint Satisfaction Problem
44/68
Look ahead check
Mtodo de relajacin ms fuerte (dbil)
Look ahead Check:
5/28/2018 Constraint Satisfaction Problem
45/68
45
Look ahead Check:
Look Ahead Check =
activar cada restriccin r(zi, zj) exactamenteuna vez para remover los valores inconsistentesde los dominios Diy Dj.
Nuestro ejemplo:
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3, 4}
5/28/2018 Constraint Satisfaction Problem
46/68
46
Ejemplo (continuac.):
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3}
Las otras 3 restricciones:
oo a ea : resu a os
5/28/2018 Constraint Satisfaction Problem
47/68
47
oo a ea : resu a osfinales:
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 1, 2, 3}
Aun no produce un estado consistenteno se realiza toda la relajacin
El resultado puede depender del orden en el cual seprocesan las restricciones.La remocin de algunos valores inicialmente
puede permitir hallar otros inconsistentes.
5/28/2018 Constraint Satisfaction Problem
48/68
Tcnicas de consistencia de
arco
Tcnicas que reducen los dominios a estadosconsistentes para cada restriccin (o arco).
Tambin llamadas: tcnicas consistencia-2
5/28/2018 Constraint Satisfaction Problem
49/68
49
AC 1 (Mackworth)
AC1:
Repeat
Look ahead check;Ifalgn valor fue removido de
algn dominio thenOcurri_borrado:= verdad
Until(notOcurri_borrado)
Fuerza a que Look ahead alcance un estadoconsistentepor reactivacin de Look ahead hasta consistencia
Ocurri_borrado:= falso ;
El ejemplo (1):
5/28/2018 Constraint Satisfaction Problem
50/68
50
El ejemplo (1):
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3, 4}
Primera pasada (== Look ahead check):
A B
DC
B=A + 1
A C D BAD
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 1, 2, 3}
Ocurri_borrado:= verdad
El ejemplo (2):
5/28/2018 Constraint Satisfaction Problem
51/68
51
El ejemplo (2):
Segunda pasada:
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 1, 2, 3}
Ocurri_borrado:= verdad
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 2, 3}
5/28/2018 Constraint Satisfaction Problem
52/68
52
El ejemplo (3):
Tercera pasada:
Ocurri_borrado:= falso
A B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 2, 3}
Resultado: A(2 o 3) , B(3 o 4), C(1 o 2), D(1 o 3)
Consistente, pero NO REALMENTE UNA SOLUCIN !!
AC-3 (Mackworth)
5/28/2018 Constraint Satisfaction Problem
53/68
53
C 3 ( ac o t )Consistencia de arco ms
eficiente:
AC3:
Remover r(x,y)de COLA;
End-While
COLA:= {todas las restricciones en el problema}
Remover todos los valores inconsistentes delos dominios Dxy Dycon respecto a r(x,y);
While not vacia(COLA) DO
Ifalgn valor fu removido de Dx(o Dy)
then agregar todas las otras restriccionesque involucran x(oy) a COLA;
El ejemplo (1):
5/28/2018 Constraint Satisfaction Problem
54/68
54
El ejemplo (1):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3, 4}
COLA = {r(A,B), r(A,C), r(A,D), r(B,C), r(B,D), r(C,D)}:
COLA= {r(A,C), r(A,D), r(B,C), r(B,D), r(C,D)}
Para agregar: r(A,C), r(A,D), r(B,C), r(B,D)
Todo ya enCOLA!
El ejemplo (2):
5/28/2018 Constraint Satisfaction Problem
55/68
55
El ejemplo (2):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3}
COLA = {r(A,C), r(A,D), r(B,C), r(B,D), r(C,D)}:
COLA= {r(B,C), r(B,D), r(C,D)}
El ejemplo (3):
5/28/2018 Constraint Satisfaction Problem
56/68
56
El ejemplo (3):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3}
COLA = {r(B,C), r(B,D), r(C,D)}:
COLA= {r(B,D), r(C,D), r(A,B), r(A,C)}
Para agregar: r(A,B), r(A,C), r(B,D), r(C,D)
El ejemplo (4):
5/28/2018 Constraint Satisfaction Problem
57/68
57
El ejemplo (4):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3, 4}
{ 1, 2, 3}
COLA = {r(B,D), r(C,D), r(A,B), r(A,C)}:
COLA= {r(C,D), r(A,B), r(A,C), r(A,D)}
Para agregar: r(A,D), r(C,D)
El ejemplo (5):
5/28/2018 Constraint Satisfaction Problem
58/68
58
El ejemplo (5):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 1, 2, 3}
COLA= {r(C,D), r(A,B), r(A,C), r(A,D)}:
COLA= {r(A,C), r(A,D)}
Para agregar: r(A,C), r(A,D)
El ejemplo (6):
5/28/2018 Constraint Satisfaction Problem
59/68
59
El ejemplo (6):
A B
DC
B=A + 1
AC
D B
A D
|B-C| 1
C D
{ 3, 4}
{ 1, 2} { 1, 3}
{ 2, 3}
COLA= {r(A,C), r(A,D)}:
COLA= vaca PARAR !
5/28/2018 Constraint Satisfaction Problem
60/68
60
Comparacin:
Igual resultado: completa consistencia de arco:A = {2,3}, B = {3,4}, C= {1,2}, D = {1,3}
Eficiencia:AC1:3 veces 6 verificaciones = 18
AC3:
9verificacones de restricciones
Consistencia-k:
5/28/2018 Constraint Satisfaction Problem
61/68
61
consistencia-1 (consistencia de nodo):restricciones unarias (en 1 variable) son consistentes
consistencia-2 (consistencia de arco):restricciones binarias (en 2 variables) son consistente
consistencia-3:
todas las restricc. que involucran 3 variables son consiA B
DC
B=A + 1
A C D BA D
|B-C| 1
C D
{ 1, 2, 3, 4}
{ 1, 2, 3} { 1, 3, 4}
{ 1, 2, 3, 4}
Un valor se mantieneen el dominio si hay valoresconsistentes en los dominios de las otras 2 variables( ara todas las restricciones ue las conectan)
Ejemplo:
5/28/2018 Constraint Satisfaction Problem
62/68
62
Practicidad de la
consistencia k: Verificar la consistencia-k para k 2 es muy dificil
de realizar eficientemente !!
Ejemplo: consistencia-4 para el enigma de las 4casas es equivalente a hallar soluciones delproblema original.
5/28/2018 Constraint Satisfaction Problem
63/68
Procesamiento hbrido de
restricciones
Combina el poder de labsqueda exhaustiva (backtrack)
con (relajacin) poda
5/28/2018 Constraint Satisfaction Problem
64/68
Forward checking
Backtracking combinadocon Forward Check
5/28/2018 Constraint Satisfaction Problem
65/68
65
Forward checking:
Forward Checking:Execute Standard Backtracking
Aftercada asignacin de unvalor a una variable ziDO
Forward Check(zi)
BUT
uncionamiento de forward checking
5/28/2018 Constraint Satisfaction Problem
66/68
66
1 Auncionamiento de forward checking
B
2
A B
C D
{1} {1,2,3,4}
{1,2,3} {1,3,4}
B=A+1AD
AC
A B
C D
{1} {2}
{2,3} {3,4}
|B-C|1
D B
falla
A B
C D
{2} {1,2,3,4}
{1,2,3} {1,3,4}
B=A+1AD
AC
2
B
3
A B
C D
{2} {3}
{1,3} {1,3,4}
|B-C|1D B
C1A BC D
{4} {3}
{1} {1}CD
falla
A B
C D
{3} {1,2,3,4}
{1,2,3} {1,3,4}
B=A+1AD
AC
3
B
4
A B
C D
{3} {4}
{1,2} {1,4}
|B-C|1D B
A BC D
{3} {4}
{1} {1}
CDA BC D
{3} {4}
{2} {1}
CD
1 C 2
falla exito
EJEMPLOS 2
5/28/2018 Constraint Satisfaction Problem
67/68
67
Juan, Pepe y Paco nacieron y viven en ciudades diferentes(Mlaga, Madrid y Valencia). Adems, ninguno vive en la ciudaddonde naci.
Juan es ms alto que el que vive en Madrid. Paco es cuado delque vive en Valencia. El que vive en Madrid y el que naci enMlaga tienen nombres que comienzan por distinta letra. El quenaci en Mlaga y el que vive ahora en Valencia tienen nombresque comienzan por la misma letra.
Donde naci y vive cada uno?
EJEMPLOS 2
EJEMPLOS 3
5/28/2018 Constraint Satisfaction Problem
68/68
"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 enmetro (40-50 minutos).
Hoy Juan parte de casa entre las 8:10 y las 8:20 y Luis llega altrabajo entre las 9:00 y las 9:10. Adems, sabemos que Juanlleg al trabajo entre 10 y 20 minutos despus de que Luissaliera de casa
Cuestiones:
Esta informacin 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 decasa?, etc.