Table Of ContentCONSTRAINT PROGRAMMING
APPROACH TO AI APPLICATIONS
0LFKHOD(cid:3)0LODQR
’(,6(cid:15)(cid:3)8QLYHUVLWj(cid:3)GL(cid:3)%RORJQD
mmilano@deis.unibo.it
7XWRULDO(cid:3)(cid:22)(cid:29)(cid:3)$,(cid:13),$(cid:28)(cid:28)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28)
OVERVIEW
• Constraint Satisfaction (Optimization) Problems
• Constraint (Logic) Programming
(cid:3)ODQJXDJH(cid:3)DQG(cid:3)WRROV
–
• AI Applications: modelling and solving
6FKHGXOLQJ(cid:3)(cid:16)(cid:3)7LPHWDEOLQJ(cid:3)(cid:16)(cid:3)5HVRXUFH(cid:3)$OORFDWLRQ
–
5RXWLQJ
–
3DFNLQJ(cid:3)(cid:16)(cid:3)&XWWLQJ
–
*UDSKLFV(cid:3)(cid:16)(cid:3)9LVLRQ
–
3ODQQLQJ
–
Advantages and Limitations of CP: extensions
•
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:21)
OVERVIEW
• Constraint Satisfaction (Optimization) Problems
• Constraint (Logic) Programming
(cid:3)ODQJXDJH(cid:3)DQG(cid:3)WRROV
–
• AI Applications: modelling and solving
6FKHGXOLQJ(cid:3)(cid:16)(cid:3)7LPHWDEOLQJ(cid:3)(cid:16)(cid:3)5HVRXUFH(cid:3)$OORFDWLRQ
–
5RXWLQJ
–
3DFNLQJ(cid:3)(cid:16)(cid:3)&XWWLQJ
–
*UDSKLFV(cid:3)(cid:16)(cid:3)9LVLRQ
–
3ODQQLQJ
–
Advantages and Limitations of CP: extensions
•
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:22)
CONSTRAINT SATISFACTION PROBLEMS
• A CSP consists of:
(cid:3)D(cid:3)VHW(cid:3)RI(cid:3)YDULDEOHV(cid:3) 9 9 9
– ( , … )
1 2 Q
(cid:3)D(cid:3)GLVFUHWH(cid:3)GRPDLQ(cid:3) ’ ’ ’ (cid:3)IRU(cid:3)HDFK(cid:3)YDULDEOH
– ( , … )
1 2 Q
(cid:3)D(cid:3)VHW(cid:3)RI(cid:3)FRQVWUDLQWV(cid:3)RQ(cid:3)WKRVH(cid:3)YDULDEOHV(cid:3)
– - relations among variables
which represent a subset of the Cartesian product of the domains
’ [’ [(cid:17)(cid:17)(cid:17)[’
(cid:20) (cid:21) Q
(cid:3)%LQDU\(cid:3)FRQVWUDLQWV(cid:3)DUH(cid:3)SRVWHG(cid:3)EHWZHHQ(cid:3)FRXSOHV(cid:3)RI(cid:3)YDULDEOHV
6ROXWLRQ(cid:3)RI(cid:3)D(cid:3)&63
: an assignment of values to variables
consistent with problem constraints
((cid:17)7VDQJ(cid:29)(cid:3)‡)RXQGDWLRQV(cid:3)RI(cid:3)&RQVWUDLQW(cid:3)6DWLVIDFWLRQ·
$FDGHPLF(cid:3)3UHVV(cid:15)(cid:3)(cid:20)(cid:28)(cid:28)(cid:21)(cid:17)
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:23)
EXAMPLE: Map Coloring
1
4
3
5
2
• Aim: find an assignments of colours to zones s.t. no
two adjacent zones are coloured with the same colour
(cid:3)YDULDEOHV(cid:3)9(cid:20)(cid:15)(cid:3)9(cid:21)(cid:15)(cid:3)9(cid:22)(cid:15)(cid:3)9(cid:23)(cid:15)(cid:3)9(cid:24)(cid:29)(cid:3)]RQHV
–
(cid:3)GRPDLQV(cid:3)’(cid:20)(cid:15)(cid:3)’(cid:21)(cid:15)(cid:3)’(cid:22)(cid:15)(cid:3)’(cid:23)(cid:15)(cid:3)’(cid:24)(cid:29)(cid:3)(cid:3)>UHG(cid:15)(cid:3)EOXH(cid:15)(cid:3)JUHHQ(cid:15)(cid:3)\HOORZ(cid:15)SLQN@
–
(cid:3)FRQVWUDLQWV(cid:29)(cid:3)QHDU(cid:11)9L(cid:15)(cid:3)9M(cid:12)(cid:3)(cid:222) (cid:3)9L(cid:3)(cid:3)„ (cid:3)9M
–
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:24)
CONSTRAINT GRAPHS
• A CSP can be represented by a constraint graph:
(cid:3)YDULDEOHV(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)QRGHV
–
(cid:3)FRQVWUDLQWV(cid:3) (cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:11)K\SHU(cid:12)(cid:16)DUFV
–
)HDVLEOH(cid:3)6ROXWLRQ(cid:29)
•
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@ >UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
9(cid:20)(cid:3) (cid:3)UHG
•
„ (cid:3)(cid:3)
9(cid:21)(cid:3) (cid:3)JUHHQ
9(cid:20) 9(cid:21) •
9(cid:22)(cid:3) (cid:3)EOXH
•
„
9(cid:23)(cid:3) (cid:3)\HOORZ
„ „ „ •
„
9(cid:24)(cid:3) (cid:3)SLQN
•
„
9(cid:22) 9(cid:23)
„
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@ „
9(cid:24)
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:25)
CONSTRAINT OPTIMIZATION PROBLEMS
• A COP consists of:
(cid:3)D(cid:3)VHW(cid:3)RI(cid:3)YDULDEOHV(cid:3) 9 9 9
– ( , … )
1 2 Q
(cid:3)D(cid:3)GLVFUHWH(cid:3)GRPDLQ(cid:3) ’ ’ ’ (cid:3)IRU(cid:3)HDFK(cid:3)YDULDEOH
– ( , … )
1 2 Q
(cid:3)D(cid:3)VHW(cid:3)RI(cid:3)FRQVWUDLQWV(cid:3)RQ(cid:3)WKRVH(cid:3)YDULDEOHV(cid:3)
– - relations among variables
which represent a subset of the Cartesian product of the domains
’ [’ [(cid:17)(cid:17)(cid:17)[’
(cid:20) (cid:21) Q
(cid:3)DQ(cid:3)REMHFWLYH(cid:3)IXQFWLRQ(cid:3)I(cid:11)9 9 9
– , … )
1 2 Q(cid:3)
6ROXWLRQ(cid:3)RI(cid:3)D(cid:3)&23
: an assignment of values to variables consistent
with problem constraints, which optimizes the objective function
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:26)
EXAMPLE: Map Coloring
1
4
3
5
2
• Aim: find an assignments of colours to zones s.t. no
two adjacent zones are coloured with the same colour
MINIMIZING the number of colours used
(cid:3)YDULDEOHV(cid:3)9(cid:20)(cid:15)(cid:3)9(cid:21)(cid:15)(cid:3)9(cid:22)(cid:15)(cid:3)9(cid:23)(cid:15)(cid:3)9(cid:24)(cid:29)(cid:3)]RQHV
–
(cid:3)GRPDLQV(cid:3)’(cid:20)(cid:15)(cid:3)’(cid:21)(cid:15)(cid:3)’(cid:22)(cid:15)(cid:3)’(cid:23)(cid:15)(cid:3)’(cid:24)(cid:29)(cid:3)(cid:3)>UHG(cid:15)(cid:3)EOXH(cid:15)(cid:3)JUHHQ(cid:15)(cid:3)\HOORZ(cid:15)SLQN@
–
(cid:3)FRQVWUDLQWV(cid:29)(cid:3)QHDU(cid:11)9L(cid:15)(cid:3)9M(cid:12)(cid:3)(cid:222) (cid:3)9L(cid:3)(cid:3)„ (cid:3)9M
–
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:27)
CONSTRAINT GRAPHS
• A COP can be represented by a constraint graph:
(cid:3)YDULDEOHV(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)QRGHV
–
(cid:3)FRQVWUDLQWV(cid:3) (cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:11)K\SHU(cid:12)(cid:16)DUFV
–
2SWLPDO(cid:3)6ROXWLRQ(cid:29)
•
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@ >UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
9(cid:20)(cid:3) (cid:3)UHG
•
„ (cid:3)(cid:3)
9(cid:21)(cid:3) (cid:3)JUHHQ
9(cid:20) 9(cid:21) •
9(cid:22)(cid:3) (cid:3)EOXH
•
„
9(cid:23)(cid:3) (cid:3)\HOORZ
„ „ „ •
„
9(cid:24)(cid:3) (cid:3)EOXH
•
„
9(cid:22) 9(cid:23)
„
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@ „
9(cid:24)
>UHG(cid:15)EOXH(cid:15)JUHHQ(cid:15)\HOORZ(cid:15)SLQN@
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:28)
CONSTRAINT MODELLING
(cid:3)
•
Properties of constraints
’HFODUDWLYH(cid:3)(cid:11)LQYDULDQW(cid:12)(cid:3)UHODWLRQV(cid:3)DPRQJ(cid:3)REMHFWV
–
;(cid:3)!(cid:3)<
•
$GGLFWLYH(cid:29)(cid:3)WKH(cid:3)RUGHU(cid:3)RI(cid:3)LPSRVLWLRQ(cid:3)GRHV(cid:3)QRW(cid:3)PDWWHU
–
;(cid:3)(cid:14)(cid:3)<(cid:3)(cid:31) (cid:3)=(cid:15)(cid:3);(cid:3)(cid:14)(cid:3)<(cid:3)! =
•
1RQ(cid:16)GLUHFWLRQDO
–
D(cid:3)FRQVWUDLQW(cid:3)EHWZHHQ(cid:3);(cid:3)DQG(cid:3)<(cid:3)FDQ(cid:3)EH(cid:3)XVHG(cid:3)WR(cid:3)LQIHU(cid:3)LQIRUPDWLRQ(cid:3)RQ
•
<(cid:3)JLYHQ(cid:3)LQIRUPDWLRQ(cid:3)RQ(cid:3);(cid:3)DQG(cid:3)YLFHYHUVD(cid:17)
5DUHO\(cid:3)LQGHSHQGHQW
–
VKDUHG(cid:3)YDULDEOHV(cid:3)DV(cid:3)FRPPXQLFDWLRQ(cid:3)PHFKDQLVP
•
,QFUHPHQWDO(cid:3)RSHUDWLRQDO(cid:3)EHKDYLRXU
–
HDFK(cid:3)WLPH(cid:3)QHZ(cid:3)LQIRUPDWLRQ(cid:3)DYDLODEOH(cid:15)(cid:3)WKH(cid:3)FRPSXWDWLRQ(cid:3)GRHV
•
QRW(cid:3)VWDUW(cid:3)IURP(cid:3)VFUDWFK
$,(cid:13),$(cid:3)(cid:28)(cid:28)(cid:3)7XWRULDO(cid:3)(cid:16)(cid:3)%RORJQD(cid:3)6HSWHPEHU(cid:3)(cid:28)(cid:28) (cid:20)(cid:19)
Description:AI IA 99 Tutorial Bologna September 99. 30. CONSTRAINT PROPAGATION. • Symbolic Constraints: – Each Constraint has an associated propagation algorithm called. FILTERING ALGORITHM. – Complex propagation algorithms using also Operations Research techniques. – Propagation ends when a