CONSTRAINT PROGRAMMING APPROACH TO AI APPLICATIONS 0LFKHOD(cid:3)0LODQR ’(,6(cid:15)(cid:3)8QLYHUVLWj(cid:3)GL(cid:3)%RORJQD [email protected] 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: