Problemi di soddisfazione di vincoli: esempi
Problemi di soddisfazione di vincoli: esempi
Obbiettivi
Definire formalmente i problemi di soddisfazione con
vincoli (CSP),
Modellazione: rappresentazione di un problema come CSP.
Charire vari aspetti della modellazione:
in generale esistono varie rappresentazioni naturali,
alcune rappresentazioni sono ovvie, altre no,
alcune rappresentazioni si basano su una teoria.
Mostrare la generalita’ della nozione di CSP.
Problemi di soddisfazione di vincoli: esempi
Problemi di soddisfazione di vincoli (CSP)
Dati:
Variabili Y := y1 , . . ., yk ,
Domini D1 , . . ., Dk ,
Vincolo C su Y : sottoinsieme di D1 × . . . × Dk .
Problemi di soddisfazione di vincoli: esempi
Prodotto Cartesiano
Una tupla τ e’ una sequenza di elementi.
Una tupla contenente r elementi e’ detta una r -tupla.
L’i -esimo elemento di una r -tupla, con 1 ≤ i ≤ r , e’ denotato
da τ [i ].
Sia S1 , S2 , . . . , Sr una sequenza di r insiemi. Il prodotto
Cartesiano S1 × S2 × · · · × Sr , o Πii =r
=1 Si , e’ l’insieme
{(a1 , a2 , . . . , ar ) | a1 ∈ S1 , a2 ∈ S2 , . . . , ar ∈ Sr }. Ogni
elemento di Πii =r
=1 Si e’ una r -tupla.
Problemi di soddisfazione di vincoli: esempi
Esempio
Se x, y e z sono tre variabili con dom(x) = dom(y ) = {a, b} e
dom(z) = {a, c}, abbiamo:
(a, a, a),
(a, a, c),
( (a, b, a), )
(a, b, c),
dom(x) × dom(y ) × dom(z) =
.
(b, a, a),
(b, a, c),
(b, b, a),
(b, b, c)
Problemi di soddisfazione di vincoli: esempi
CSP
Dati:
Variabili x1 , . . ., xn ,
Domini D1 , . . ., Dn ,
un problema di soddisfazione di vincoli (CSP) e’:
{C ; x1 ∈ D1 , . . ., xn ∈ Dn }
C – vincoli, ognuno su una sottosequenza di x1 , . . ., xn .
(d1 , . . ., dn ) ∈ D1 × . . . × Dn e’ una soluzione per
{C ; x1 ∈ D1 , . . ., xn ∈ Dn }
se per ogni vincolo C ∈ C su xi1 , . . ., xim
(di1 , . . ., dim ) ∈ C .
Problemi di soddisfazione di vincoli: esempi
Arieta’ dei vincoli
L’arieta’ di un vincolo c e’ il numero di variabili coinvolte in c. Un
vincolo e’ detto:
unario se e solo se la sua arieta’ e’ 1,
binario se e solo se la sua arieta’ e’ 2,
ternario se e solo se la sua arieta’ e’ 3,
non-binario se e solo se la sua arieta’ e’ maggiore di 2.
Problemi di soddisfazione di vincoli: esempi
Esempio: SEND + MORE = MONEY
Rimpiazzare ogni lettera con una cifra diversa in modo che
SEND
+ MORE
MONEY
sia una somma corretta.
Soluzione unica:
9567
+ 1085
10652
Variabili: S, E , N, D, M, O, R, Y ,
Domini:
[1..9] per S, M,
[0..9] per E , N, D, O, R, Y .
Problemi di soddisfazione di vincoli: esempi
Alternative per i vincoli di uguaglianza
1. 1 vincolo di uguaglianza.
1000 · S + 100 · E + 10 · N + D
+ 1000 · M + 100 · O + 10 · R + E
= 10000 · M + 1000 · O + 100 · N + 10 · E + Y
2. 5 vincoli di uguaglianza.
Usare le variabili di riporto C1 , . . ., C4 ∈ [0..1]:
D + E = 10 · C1 + Y ,
C1 + N + R = 10 · C2 + E ,
C2 + E + O = 10 · C3 + N,
C3 + S + M = 10 · C4 + O,
C4 = M.
Problemi di soddisfazione di vincoli: esempi
Alternative per vincoli di disuguaglianza
1. 28 vincoli di disuguaglianza.
x 6= y for x, y ∈ {S, E , N, D, M, O, R, Y }, x ≺ y .
2. Un solo vincolo di disuguaglianza.
Per variabili x1 , . . ., xn con domini D1 , . . ., Dn :
all different(x1 , . . ., xn ) := {(d1 , . . ., dn ) | di 6= dj for i 6= j}.
Usare all different(S, E , N, D, M, O, R, Y ).
Problemi di soddisfazione di vincoli: esempi
3. Modellarlo come un problema IP.
Per x, y ∈ {S, E , N, D, MO, R, Y } trasformare x 6= y in
x − y ≤ 10 − 11zx,y
y − x ≤ 11zx,y − 1
dove zx,y ∈ [0..1].
Svantaggio: 28 nuove variabili.
Problemi di soddisfazione di vincoli: esempi
N Regine
Problema Piazzare n regine su una scacchiera n · n in modo che
non si attacchino.
0Z0ZQZ0Z
Z0L0Z0Z0
QZ0Z0Z0Z
Z0Z0Z0L0
0L0Z0Z0Z
Z0Z0Z0ZQ
0Z0Z0L0Z
Z0ZQZ0Z0
Problemi di soddisfazione di vincoli: esempi
Una possibile modellazione del problema
Variabili: x1 , . . ., xn ,
Domini: [1..n],
Vincoli:
Per i ∈ [1..n − 1] e j ∈ [i + 1..n]:
xi 6= xj (righe),
xi − xj 6= i − j
(diagonali SO – NE),
xi − xj 6= j − i
(diagonali NO – SE).
Problemi di soddisfazione di vincoli: esempi
Problema della zebra
Una strada ha cinque case colorate in modo diverso.
Cinque uomini di diverse nazionalita’ vivono in queste
cinque houses.
Ogni uomo ha una professione diversa, ad ogni uomo
piace una bibita diversa, e ogni uomo ha un diverso
animale.
Problemi di soddisfazione di vincoli: esempi
Problema della zebra
L’inglese vive nella casa rossa.
Lo spagnolo ha un cane.
Il giapponese e’ un pittore.
L’italiano beve te’.
Il norvegese vive nella prima casa sulla sinistra.
Il proprietario della casa verde beve caffe’.
La casa verde e’ sulla destra della casa bianca.
Lo scultore alleva lumache.
Il diplomatico vive nella casa gialla.
Nella casa di centro bevono latte.
Il norvegese vive accanto alla casa blu.
Il violinista beve succo di frutta.
La volpe e’ nella casa accanto a quella del dottore.
Il cavallo e’ nella casa accanto a quella del diplomatico.
Chi ha la zebra e chi beve acqua?
Problemi di soddisfazione di vincoli: esempi
Il problema della zebra
25 Variabili:
nazionalita’: inglese, spagnolo, giapponese, italiano,
norvegese,
animale: cane, lumache, volpe, cavallo, zebra,
professioni: pittore, scultore, diplomatico, violinista,
dottore,
bibita: te, caffe’, latte, succo, acqua,
colore: rosso, verde, bianco, giallo, blu.
Domini: [1...5].
Problemi di soddisfazione di vincoli: esempi
Vincoli:
all different(rosso, verde, bianco, giallo, blu),
all different(inglese, spagnolo, giapponese, italiano,
norvegiese),
all different(cane, lumache, volpe, cavallo, zebra),
all different(pittore, scultore, diplomatico, violinista,
dottore),
all different(te′ , caffe′ , latte, succo, acqua).
Problemi di soddisfazione di vincoli: esempi
Vincoli
L’inglese vive nella casa rossa:
inglese = rosso,
Lo spagnolo ha un cane:
spagnolo = cane,
Il giapponese e’ un pittore:
giapponese = pittore,
L’italiano beve te’:
italiano = te’,
Il norvegese vive nella prima casa sulla sinistra:
norvegese = 1,
Il proprietario della casa verde beve caffe’:
verde = caffe’,
La casa verde e’ sulla destra della casa bianca:
verde = bianco + 1,
Problemi di soddisfazione di vincoli: esempi
Vincoli
Lo scultore alleva lumache:
scultore = lumache,
Il diplomatico vive nella casa gialla:
diplomatico = giallo,
Nella casa di centro bevono latte:
latte = 3,
Il norvegese vive accanto alla casa blu:
|norvegese − blu| = 1,
Il violinista beve succo di frutta:
violinista = succo,
La volpe e’ nella casa accanto a quella del dottore:
|volpe − dottore| = 1,
Il cavallo e’ nella casa accanto a quella del diplomatico:
|cavallo − diplomatico| = 1.
Problemi di soddisfazione di vincoli: esempi
Parole crociate
2
1
4
6
3
5
7
8
Problemi di soddisfazione di vincoli: esempi
Riempire con parole prese da:
HOSES, LASER, SAILS, SHEET, STEER,
HEEL, HIKE, KEEL, KNOT, LINE,
AFT, ALE, EEL, LEE, TIE.
Variabili: x1 , . . ., x8 ,
Domini: x7 ∈ {AFT, ALE, EEL, LEE, TIE}, ecc.
Vincoli: uno per ogni incrocio
C1,2 := {(HOSES, SAILS), (HOSES, SHEET),
(HOSES, STEER), (LASER, SAILS),
(LASER, SHEET), (LASER, STEER)} .
ecc.
Problemi di soddisfazione di vincoli: esempi
Unica Soluzione
1
H
O
2
S
E
A
4
6
8
H
7
A
L
E
I
A
3
S
T
5
K
E
L
E
E
S
E
R
L
Problemi di soddisfazione di vincoli: esempi
Ragionamento temporale qualitativo
Consideriamo il seguente problema.
La riunione e’ durata tutto il giorno.
Ogni persona e’ stata alla riunione per un periodo
continuo di tempo.
La riunione e’ iniziata mentre Mr Jones era presente ed
e’ finita mentre Ms White era presente.
Ms White e’ arrivato dopo che e’ iniziata la riunione.
Anche Director Smith era presente ma e’ arrivato dopo
che Jones e’ andato via.
Mr Brown ha parlato con Ms White in presenza di
Smith.
E’ possibile che Jones e White abbiamo parlato durante
questa riunione?
Problemi di soddisfazione di vincoli: esempi
13 relazioni temporali (Allen ’83)
A before B, B after A
A meets B, B met-by A
A overlaps B, B overlapped-by A
A starts B
B started-by A
A during B
B contains A
A finishes B
B finished-by A
A equals B
Problemi di soddisfazione di vincoli: esempi
A before B
B after A
|-----|
A meets B
B met-by A
|-----|
|-----|
A overlaps B
B overlapped-by A
|------|
|-----|
|-------|
A starts B
B started-by A
|-------|
|-----------|
A during B
B contains A
|-----|
|---------|
A finishes B
B finished-by A
|-------|
|-----------|
Problemi di soddisfazione di vincoli: esempi
La tavola di composizione
Consideriamo tre eventi, A, B e C.
Si sanno: relazioni temporali
AB tra A e B,
BC tra B e C.
Domanda: Quale e’ la relazione temporale AC tra A e C?
Allen ha definito una tabella 13 × 13.
Esempio: se A si sovrappone a (overlaps) B e B e’ prima
di (before) C, allora A e’ before C.
Questo definisce una cella della tabella:
allen(overlaps, before, before).
In totale, 169 celle e 409 triple.
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come un CSP
5 eventi:
M (riunione),
J (presenza di Jones),
B (presenza di Brown),
S (presenza di Smith),
W (presenza di White).
Quindi abbiamo 10 variabili, ognuna associata ad una coppia
ordinata di eventi e con un dominio:
TEMP := {before, after, meets, met-by, overlaps,
overlapped-by, starts, started-by, during,
contains,finishes, finished-by, equals},
REAL-OVERLAP :=
TEMP − {before, after, meets, met-by}
Problemi di soddisfazione di vincoli: esempi
xJ,M ∈ {overlaps, contains, finished-by},
xM,W ∈ {overlaps},
xM,S ∈ REAL-OVERLAP,
xJ,S ∈ {before},
xB,S ∈ REAL-OVERLAP,
xB,W ∈ REAL-OVERLAP,
xS,W ∈ REAL-OVERLAP,
xJ,B , xJ,W , xM,B ∈ TEMP.
Domanda
Se usiamo
– xJ,W ∈ REAL-OVERLAP.
Questo CSP e’ consistente?
Problemi di soddisfazione di vincoli: esempi
Vincoli
allen: la tavola di composizione come una relazione ternaria
(409 triple).
Per ogni tripla ordinata A,B,C degli eventi, un vincolo CA,B,C
sulle variabili xA,B , xB,C , xA,C :
CA,B,C := allen ∩ (DA,B × DB,C × DA,C ).
dove
xA,B ∈ DA,B ,
xB,C ∈ DB,C ,
xA,C ∈ DA,C .
In totale, 10 vincoli.
Problemi di soddisfazione di vincoli: esempi
Ragionamento spaziale quantitativo
Consideriamo il seguente problema.
Due case sono connesse da una strada. La prima casa e’
circondata dal suo giardino o e’ adiacente al suo confine,
mentre la seconda casa e’ circondata dal suo giardino.
Cosa possiamo concludere sulla relazione tra la seconda
casa e la strada?
Problemi di soddisfazione di vincoli: esempi
8 relazioni spaziali
0000000001111111
111111111
0000000
0000000
1111111111111111
000000000
0000000
1111111
000000000
111111111
0000000001111111
111111111
0000000
1111111
B
0000000
000000000
111111111
0000000001111111
111111111
0000000
0000000
1111111
000000000
111111111
A
0000000
1111111
000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
(a) disjoint(A,B)
000000000
111111111
111111111
000000000
000000000
111111111
000000000
111111111
A
000000000
111111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
B
000000000
111111111
000000
111111
000000000
111111111
000000
111111
000000000
111111111
000000000
111111111
(d) covers(A,B)
coveredBy(B,A)
0000000
1111111
0000000
1111111
0000000
1111111
000000000
111111111
0000000
1111111
111111111
000000000
B
0000000
1111111
000000000
111111111
0000000
1111111
000000000
111111111
0000000
1111111
000000000
111111111
0000000
1111111
000000000
111111111
000000000
111111111
A
000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
000000000
111111111
(b) meet(A,B)
111111111
000000000
000000000
111111111
000000000
111111111
000000000
111111111
A
000000000
111111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
B
000000000
111111111
000000
111111
000000000
111111111
000000
111111
000000000
111111111
000000000
111111111
(e) contains(A,B)
inside(B,A)
00000000000000
11111111111111
11111111111111
00000000000000
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
A
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
B
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
00000000000000
11111111111111
(c) equal(A,B)
111111111
000000000
000000000
111111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
A 111111
000000
000000000
111111111
000000
111111
000000
111111
000000000
111111111
000000
111111
000000
111111
000000000
111111111
B
000000
111111
000000
111111
000000000
111111111
000000
111111
000000
111111
000000000
111111111
000000
111111
000000
111111
000000000
111111111
000000
111111
000000
111111
000000000
111111111
000000
111111
000000000
111111111
000000
111111
(f) overlap(A,B)
RCC8 := {disjoint, meet,
equal, covers,
coveredby, contains,
inside, overlap}.
Problemi di soddisfazione di vincoli: esempi
La tavola di composizione per RCC8
disjoint
meet
equal
inside
coveredby
contains
covers
overlap
disjoint
RCC8
disjoint
disjoint
meet
inside
coveredby
overlap
meet
inside
disjoint
disjoint
meet
contains
covers
overlap
disjoint
meet
inside
coveredby
overlap
inside
coveredby
overlap
disjoint
meet
disjoint
disjoint
meet
disjoint
meet
inside
coveredby
overlap
disjoint
meet
inside
coveredby
overlap
equal
inside
disjoint
disjoint
disjoint
meet
inside
coveredby
overlap
disjoint
meet
equal
coveredby
covers
overlap
meet
disjoint
equal
inside
inside
inside
coveredby
inside
contains
RCC8
coveredby
disjoint
disjoint
meet
coveredby
inside
inside
coveredby
disjoint
meet
contains
covers
overlap
overlap
disjoint
meet
inside
coveredby
overlap
disjoint
meet
overlap
coveredby
overlap
contains
disjoint
meet
contains
covers
overlap
contains
covers
overlap
contains
contains
covers
overlap
contains
covers
disjoint
meet
contains
covers
overlap
disjoint
meet
contains
covers
overlap
meet
contains
covers
overlap
covers
equal
inside
coveredby
contains
covers
overlap
inside
coveredby
overlap
covers
disjoint
meet
inside
coveredby
overlap
disjoint
meet
equal
coveredby
covers
overlap
contains
equal
coveredby
covers
overlap
contains
contains
covers
contains
covers
overlap
disjoint
meet
contains
covers
overlap
overlap
inside
coveredby
overlap
inside
coveredby
overlap
disjoint
meet
contains
covers
overlap
disjoint
meet
contains
covers
overlap
RCC8
overlap
meet
contains
covers
overlap
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come CSP
5 oggetti spaziali:
H1 (casa 1),
G1 (giardino 1),
H2 (casa 2),
G2 (giardino 2),
R (strada.
10 variabili con domini, ognuna associata con una coppia
ordinata di oggetti spaziali:
xH1,G1 ∈ {inside,coveredby},
xH2,G2 ∈ {inside},
xH1,H2 ∈ {disjoint},
xH1,R ∈ {meet},
xH2,R ∈ {meet},
xG1,G2 ∈ {disjoint,meet},
xH1,G2 ∈ {disjoint,meet},
xG1,H2 ∈ {disjoint,meet},
xG1,R ∈ RCC8,
xG2,R ∈ RCC8.
Problemi di soddisfazione di vincoli: esempi
Vincoli
S3 : la tavola di composizione come una relazione ternaria
(193 triple).
Per ogni tripla ordinata A,B,C degli oggetti, un vincolo CA,B,C
sulle variabili xA,B , xB,C , xA,C :
CA,B,C := S3 ∩ (DA,B × DB,C × DA,C ).
dove
xA,B ∈ DA,B ,
xB,C ∈ DB,C ,
xA,C ∈ DA,C .
In totale, 10 vincoli.
Problemi di soddisfazione di vincoli: esempi
Analisi di scene 3D
E
A
F
B
G
C
D
F
A
I
J
H
G
E
D
B
C
Problemi di soddisfazione di vincoli: esempi
Quattro etichette
+ per gli spigoli convessi,
(270 gradi per ruotare)
− per spigoli concavi,
(90 gradi per ruotare)
→ e ← per spigoli di confine
(due piani uno dei quali e’ nascosto).
Esempio
E
F
+
A
+
B
+
G
C
D
Problemi di soddisfazione di vincoli: esempi
Giunzioni legali
+
+
+
+
−
−
+
+
−
−
+
−
+
−
+
−
+
−
−
−
−
−
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come un CSP
Variabili: spigoli,
Domini: {+, −, →, ← },
Vincoli: giunzioni.
Quattro tipi di vincoli: L, fork, T , e arrow .
Esempio:
L := {(→, ← ), ( ← , →), (+, →),
( ← , +), (−, ← ), (→, −)}.
Problemi di soddisfazione di vincoli: esempi
Il cubo come CSP:
arrow (AC , AE , AB),
fork(BA, BF , BD),
L(CA, CD),
arrow (DG , DC , DB),
L(EF , EA),
arrow (FE , FG , FB),
L(GD, GF ).
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come CSP
C’e anche bisogno di
edge := {(+, +), (−, −), (→, ← ), ( ← , →)}.
edge cattura il carattere complementare di → e ← .
Nove vincoli:
edge(AB, BA),
edge(AC , CA),
edge(CD, DC ),
edge(BD, DB),
edge(AE , EA),
edge(EF , FE ),
edge(BF , FB),
edge(FG , GF ),
edge(DG , GD).
Problemi di soddisfazione di vincoli: esempi
CSP rispetto a SAT
CSP “generalizza” SAT.
Esempio: la formula CNF:
(x ∨ y ∨ ¬z) ∧ (¬w ∨ ¬x) ∧ (w ∨ ¬y ∨ z)
puo’ essere modlelata come il seguente CSP:
variabili {w , x, y , z} con
dom(w ) = dom(x) = dom(y ) = dom(z) = {false, true}
vincoli {cxyz : x ∨ y ∨ ¬z, cwx : ¬w ∨ ¬x, cwyz : w ∨ ¬y ∨ z}
Problemi di soddisfazione di vincoli: esempi
Problemi di ottimizzazione di vincoli
Dato:
— un CSP
P := hC ; x1 ∈ D1 , . . ., xn ∈ Dn i,
— una funzione
obj : Sol → R
(P, obj) e’ un problema di ottimizzazione di vincoli
(COP).
Problema: Trovare una soluzione d di P per cui il valore
obj(d) e’ ottimo (massimo).
Problemi di soddisfazione di vincoli: esempi
Esempio: problema dello zaino
Dato: uno zaino di un volume fissato e n oggetti, ognuno con un
volume e un value, trovare una collezione di questi oggetti con
valore totale massimo che entra nello zaino.
Rappresentazione come COP:
Dato: zaino con volume v e n oggetti con volumi a1 , ..., an e
valori b1 , ..., bn .
Variabili: x1 , . . ., xn ,
Domini: {0, 1},
Vincoli:
n
X
a i · xi ≤ v ,
i =1
Funzione obbiettivo:
n
X
bi · xi .
i =1
Problemi di soddisfazione di vincoli: esempi
Esempio: righello di Golomb
righello di Golomb con m tacche: una sequenza ordinata di
m numeri naturali tali che le distanze tra coppie di tali numeri
sono tutte diverse.
L’elemento piu’ grande del righello di Golomb e’ la sua
lunghezza.
Un righello di Golomb con m tacche ottimo: un righello
con lunghezza minima.
Problemi di soddisfazione di vincoli: esempi
Righello di Golomb ottimo con 5 tacche
0, 1, 4, 9, 11
e’ un righello di Golomb con 5 tacche. Infatti, le distanze sono:
per elementi distanti 1: 1, 3, 5, 2,
per elementi distanti 2: 4, 8, 7,
per elementi distanti 3: 9, 10,
per elementi distanti 4: 11.
0,1,4,9,11 e’ un righello di Golomb ottimo con 5 tacche.
Il piu’ lungo righello di Golomb ottimo ha 21 tacche e ha
lunghezza 333.
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come COP
Fissiamo m.
Coppia: due numeri i , j tali che
1 ≤ i < j ≤ m.
Coppie i , j e k, l sono
– diverse se i 6= k o j 6= l ,
– disgiunte se i 6= k e j 6= l .
Esempio:
1,3 e 1,4 sono diverse ma non disgiunte.
1,3 e 2,4 sono disgiunte (e quindi diverse).
Problemi di soddisfazione di vincoli: esempi
Rappresentazione 1
Variabili: x1 , . . ., xm ,
Domini: N ,
Vincoli:
xi < xi +1 per i ∈ [1..m − 1],
xj − xi 6= xl − xk per tutte le coppie diverse i , j e k, l .
Funzione obbiettivo: −xm .
Problemi di soddisfazione di vincoli: esempi
Rappresentazione come COP
Rappresentazione 2
Vincoli:
xi < xi +1 per i ∈ [1..m − 1],
xj − xi 6= xl − xk per tutte le disgiunte i , j e k, l .
Rappresentazione 3
Variabili: x1 , . . ., xm , zi ,j per ogni i , j,
Domini:
N per x1 , . . ., xm ,
N \ {0} per zi ,j ,
Vincoli:
zi ,j = xj − xi per ogni coppia i , j,
zi ,j 6= zk,l per tutte le coppie diverse (o disgiunte) i , j e k, l .
Problemi di soddisfazione di vincoli: esempi
Rappresentazione 4
Rimpiazzare i vincoli di disuguaglianza con un singolo vincolo
all different sulle variabili zi ,j .
Problemi di soddisfazione di vincoli: esempi
Rappresentazioni diverse come CSP
Un problema di assegnamento di etichette a microcodice
CSP: 187 variabili a dominio intero finito,
IP: 2024 variabili Booleane,
Un problema di ”packing”
CSP: 7 variabili a dominio intero finito, 2 vincoli,
IP: 42 variabili Booleane, 18 vincoli,
Un problema di schedulazione di un torneo di golf
CP: 176 variabili,
IP 1: 2574 variabili,
IP 2: 592 variabili.
Problemi di soddisfazione di vincoli: esempi
Riassunto capitolo 2
Definizione formale di Problema di soddisfazione di vincoli
(CSP),
Modellazione: rappresentazione di un problema come CSP.
Vari aspetti della modellazione:
in generale, varie rappresentazioni naturali,
alcune banali, altre no,
alcune si basano su una teoria specifica del dominio.
Generalita’ della nozione di CSP.
Problemi di soddisfazione di vincoli: esempi
Scarica

Esempi di problemi con vincoli