
CONSTRAINT PROGRAMMING APPROACH TO AI APPLICATIONS 0LFKHOD0LODQR '(,68QLYHUVLWjGL%RORJQD [email protected] 7XWRULDO$, ,$%RORJQD6HSWHPEHU OVERVIEW • Constraint Satisfaction (Optimization) Problems • Constraint (Logic) Programming – ODQJXDJHDQGWRROV • AI Applications: modelling and solving – 6FKHGXOLQJ7LPHWDEOLQJ5HVRXUFH$OORFDWLRQ – 5RXWLQJ – 3DFNLQJ&XWWLQJ – *UDSKLFV9LVLRQ – 3ODQQLQJ • Advantages and Limitations of CP: extensions $, ,$7XWRULDO%RORJQD6HSWHPEHU OVERVIEW • Constraint Satisfaction (Optimization) Problems • Constraint (Logic) Programming – ODQJXDJHDQGWRROV • AI Applications: modelling and solving – 6FKHGXOLQJ7LPHWDEOLQJ5HVRXUFH$OORFDWLRQ – 5RXWLQJ – 3DFNLQJ&XWWLQJ – *UDSKLFV9LVLRQ – 3ODQQLQJ • Advantages and Limitations of CP: extensions $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT SATISFACTION PROBLEMS • A CSP consists of: DVHWRIYDULDEOHV 9 9 9 – ( 1, 2… Q) DGLVFUHWHGRPDLQ ' ' ' IRUHDFKYDULDEOH – ( 1, 2… Q) –DVHWRIFRQVWUDLQWVRQWKRVHYDULDEOHV- relations among variables which represent a subset of the Cartesian product of the domains '['[['Q %LQDU\FRQVWUDLQWVDUHSRVWHGEHWZHHQFRXSOHVRIYDULDEOHV 6ROXWLRQRID&63: an assignment of values to variables consistent with problem constraints (7VDQJ³)RXQGDWLRQVRI&RQVWUDLQW6DWLVIDFWLRQ´ $FDGHPLF3UHVV $, ,$7XWRULDO%RORJQD6HSWHPEHU 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 –YDULDEOHV99999]RQHV –GRPDLQV'''''>UHGEOXHJUHHQ\HOORZSLQN@ –FRQVWUDLQWVQHDU 9L9M ⇒9L≠9M $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT GRAPHS • A CSP can be represented by a constraint graph: –YDULDEOHVQRGHV –FRQVWUDLQWV K\SHU DUFV •)HDVLEOH6ROXWLRQ >UHGEOXHJUHHQ\HOORZSLQN@ >UHGEOXHJUHHQ\HOORZSLQN@ •9 UHG ≠ 9 9 •9 JUHHQ 9 EOXH ≠ • ≠ ≠ ≠ •9 \HOORZ ≠ •9 SLQN 9 ≠ 9 ≠ >UHGEOXHJUHHQ\HOORZSLQN@ >UHGEOXHJUHHQ\HOORZSLQN@ ≠ 9 >UHGEOXHJUHHQ\HOORZSLQN@ $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT OPTIMIZATION PROBLEMS • A COP consists of: DVHWRIYDULDEOHV 9 9 9 – ( 1, 2… Q) DGLVFUHWHGRPDLQ ' ' ' IRUHDFKYDULDEOH – ( 1, 2… Q) –DVHWRIFRQVWUDLQWVRQWKRVHYDULDEOHV- relations among variables which represent a subset of the Cartesian product of the domains '['[['Q DQREMHFWLYHIXQFWLRQI 9 9 9 – 1, 2… Q) 6ROXWLRQRID&23: an assignment of values to variables consistent with problem constraints, which optimizes the objective function $, ,$7XWRULDO%RORJQD6HSWHPEHU 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 –YDULDEOHV99999]RQHV –GRPDLQV'''''>UHGEOXHJUHHQ\HOORZSLQN@ –FRQVWUDLQWVQHDU 9L9M ⇒9L≠9M $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT GRAPHS • A COP can be represented by a constraint graph: –YDULDEOHVQRGHV –FRQVWUDLQWV K\SHU DUFV •2SWLPDO6ROXWLRQ >UHGEOXHJUHHQ\HOORZSLQN@ >UHGEOXHJUHHQ\HOORZSLQN@ •9 UHG ≠ 9 9 •9 JUHHQ 9 EOXH ≠ • ≠ ≠ ≠ •9 \HOORZ ≠ •9 EOXH 9 ≠ 9 ≠ >UHGEOXHJUHHQ\HOORZSLQN@ >UHGEOXHJUHHQ\HOORZSLQN@ ≠ 9 >UHGEOXHJUHHQ\HOORZSLQN@ $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT MODELLING • Properties of constraints – 'HFODUDWLYH LQYDULDQW UHODWLRQVDPRQJREMHFWV • ;!< – $GGLFWLYHWKHRUGHURILPSRVLWLRQGRHVQRWPDWWHU • ;< =;<! = – 1RQGLUHFWLRQDO • DFRQVWUDLQWEHWZHHQ;DQG<FDQEHXVHGWRLQIHULQIRUPDWLRQRQ <JLYHQLQIRUPDWLRQRQ;DQGYLFHYHUVD – 5DUHO\LQGHSHQGHQW • VKDUHGYDULDEOHVDVFRPPXQLFDWLRQPHFKDQLVP – ,QFUHPHQWDORSHUDWLRQDOEHKDYLRXU • HDFKWLPHQHZLQIRUPDWLRQDYDLODEOHWKHFRPSXWDWLRQGRHV QRWVWDUWIURPVFUDWFK $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT SOLVING • Enumeration: backtracking algorithms –$VVLJQDWHQWDWLYHYDOXHDQGWHVWWKHFRQVWUDLQWV –,QHIILFLHQF\GXHWRWKHGLPHQVLRQVRIWKHVHDUFKVSDFH –7UDVKLQJ • Constraint Propagation algorithms –DLPHGDWUHGXFLQJWKHVHDUFKVSDFH –FRQVWUDLQWSURSDJDWLRQDOJRULWKPV$35,25,UHPRYHFRPELQDWLRQVRI DVVLJQPHQWVZKLFKFDQQRWOHDGWRDFRQVLVWHQWVROXWLRQ $, ,$7XWRULDO%RORJQD6HSWHPEHU BACKTRACKING ALGORITHMS Intuitive way of solving CSP: backtracking algorithms Trashing 9DU YDOXH 9DU YDOXH right choice IDLOXUHV $, ,$7XWRULDO%RORJQD6HSWHPEHU PROPAGATION ALGORITHMS 9DU YDOXH 9DU YDOXH IDLOXUHGXH right choice WRSURSDJDWLRQ Propagation algorithms: avoid failures instead of recovering from them Based on the concept of consistency properties $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSISTENCY PROPERTIES • NODE CONSISTENCY –DQHWZRUNLVQRGHFRQVLVWHQWLILQHDFKQRGHGRPDLQHDFKYDOXH LVFRQVLVWHQWZLWKXQDU\FRQVWUDLQWV • ARC CONSISTENCY –DQHWZRUNLVDUFFRQVLVWHQWLIIRUHDFKDUFFRQQHFWLQJYDULDEOHV9L DQG9MIRUHDFKYDOXHLQWKHGRPDLQRI9LWKHUHH[LVWVDYDOXHLQWKH GRPDLQRI9MFRQVLVWHQWZLWKELQDU\FRQVWUDLQWV >@ >@ >@ >@ ! ! 9 9 9 9 9 9 1RW1RGHFRQVLVWHQW 1RGHFRQVLVWHQW 1RW$UFFRQVLVWHQW $UFFRQVLVWHQW $, ,$7XWRULDO%RORJQD6HSWHPEHU ENFORCING CONSISTENCY PROPERTIES • NODE CONSISTENCY: trivial • ARC CONSISTENCY –0DQ\DOJRULWKPVSURSRVHG –$&$&$&>0DFNZRUWK$,- @>0RQWDQDUL,QI6FL @ $&>0RKU+HQGHUVRQ$,- @$&>9DQ+HQWHQU\FN'HYLOOHDQG7HQJ$,- @AC6 >%HVVLHUH$,- @AC7 >%HVVLHUH)UHXGHU5HJLQ$,- @ –0DQ\YDULDQWV'$&>'HWFKHU3HDUO,-&$,@ 0$&>%HVVLHUH)UHXGHU5HJLQ,-&$,@ –Bound Consistency >9DQ+HQWHQU\FN6DUDVZDW'HYLOOH75%URZQ&6@ –Complexity:>0DFKZRUWK)UHXGHU$,- @>0RKU+HQGHUVRQ$,- @ >'HWFKHU3HDUO$,- @>+DQ/HH$,- @>&RRSHU$,- @ • PATH CONSISTENCY –3&3&>0DFNZRUWK$,- @ –3&>0RKU+HQGHUVRQ$,- @ –3&>+DQ/HH$,- @ $, ,$7XWRULDO%RORJQD6HSWHPEHU INCOMPLETENESS of CONSISTENCY ALGORITHMS • NODE, ARC and PATH CONSISTENCY are in general not COMPLETE • complete for some problems with particular structures >)UHXGHU-$&0 @>)UHXGHU-$&0 @ • Complete algorithm: N-CONSISTENCY for N variable problems. Exponential complexity >)UHXGHU&$&0 @>&RRSHU$,- @ • Example: >@≠ >@ 9 9 1RGH$UFFRQVLVWHQWQHWZRUN 1RIHDVLEOHVROXWLRQVH[LVW ≠ ≠ 9 >@ $, ,$7XWRULDO%RORJQD6HSWHPEHU SEARCH NEEDED 3 • After propagation: –6ROXWLRQ)RXQG 3 3 3 –)DLOXUH –6HDUFKVSDFHWREHH[SORUHGGLYLGH3UREOHP3LQWRHDVLHU VXESUREOHPV • Exploring the search space –9DULDEOHVHOHFWLRQZKLFKLVWKHQH[WYDULDEOHWRDVVLJQ" –9DOXHVHOHFWLRQZKLFKYDOXHWRDVVLJQQH[W" • Search Strategies –6WDWLFKHXULVWLFV –'\QDPLFKHXULVWLFV $, ,$7XWRULDO%RORJQD6HSWHPEHU SEARCH STRATEGIES: general criteria • Variable Selection –)LUVW)DLO0RVW&RQVWUDLQLQJ3ULQFLSOH –6HOHFWILUVWPRUH³GLIILFXOW´YDULDEOHV • Value Selection –/HDVW&RQVWUDLQLQJ3ULQFLSOH –6HOHFWILUVWPRUH³SURPLVLQJ´YDOXHV • Problem dependent search strategies –%UDQFKLQJUXOHVHQVXULQJWKDWWKHVHWRIUHVXOWLQJ VXESUREOHPVSDUWLWLRQVWKHRULJLQDOSUREOHP3 $, ,$7XWRULDO%RORJQD6HSWHPEHU OVERVIEW • Constraint Satisfaction (Optimization) Problems • Constraint (Logic) Programming – ODQJXDJHDQGWRROV • AI Applications: modelling and solving – 6FKHGXOLQJ7LPHWDEOLQJ5HVRXUFH$OORFDWLRQ – 5RXWLQJ – 3DFNLQJ&XWWLQJ – *UDSKLFV9LVLRQ – 3ODQQLQJ • Advantages and Limitations of CP: extensions $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT (LOGIC) PROGRAMMING • Aim: language for modelling and solving CSPs and COPs – &RQVWUDLQWEDVLFODQJXDJHVWUXFWXUH • GHFODUDWLYHVHPDQWLFV • QRWLRQRIFRQVLVWHQF\HQWDLOPHQWRSWLPL]DWLRQ • RSHUDWLRQDOVHPDQWLFVSURSDJDWLRQDOJRULWKPV • LQFUHPHQWDOLW\ • HDFKFRQVWUDLQWFRQVLGHUHGDVDVXESUREOHP – 6HDUFKVWUDWHJLHVHDVLO\LPSOHPHQWDEOH $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT PROGRAMMING ORIGINS AND HISTORY • Earliest ideas: field of AI Constraint Satisfaction (‘60, ‘70) – >0RQWDQDUL,QI6FL @>:DOW]@FRQVWUDLQWVDVPDWULFHV – 5()$5)>)LNHV3K'@$/,&(>/DXULHUH$,- @VLPSOHEXW SRZHUIXOFRQVWUDLQWODQJXDJHV&XVWRPL]HGFRQVWUDLQWVROYHUV – (DUO\DSSOLFDWLRQVJUDSKLFV 6.(7&+3$'>6XWKHUODQG6SULQJ-RLQW &RPSXWHU&RQI@7KLQJ/DE>%RUQLQJ$&07UDQV3URJU/DQJDQG6\V @ FLUFXLWDQDO\VLV (/>6WDOOPDQ6XVVPDQ$,- @ – &21675$,176>6WHHOV3K'@>6XVVPDQ6WHHOV$,- @ILUVW H[SOLFLWHIIRUWRIGHYHORSLQJDFRQVWUDLQWODQJXDJH –CLP >-DIIDU/DVVH]323/@>-DIIDU0DKHU-/3 @ /RJLF3URJUDPPLQJDV&RQVWUDLQW3URJUDPPLQJ • XQLILFDWLRQDVFRQVWUDLQWVROYLQJ • JHQHUDOIUDPHZRUN&/3 ; $, ,$7XWRULDO%RORJQD6HSWHPEHU CONSTRAINT PROGRAMMING ORIGINS AND HISTORY • Constraint languages – &/3 5 >-DIIDUHWDO7UDQV3URJU/DQJDQG6\V@ 3URORJ,,,>&ROPHUDXHU&$&0 @&+,3>'LQFEDVHWDO-,&6/3@ &/3 3% >%RFNPD\HU,&/3@(FOLSVH>:DOODFHHWDO@ • Concurrent constraint languages (‘90) – >0DKHU,&/3@HQWDLOPHQWDVWKHKHDUWRIV\QFKURQLVDWLRQPHFKDQLVPV – &RQFXUUHQW&RQVWUDLQW3URJUDPPLQJ>6DUDVZDW0,73UHVV@ – 2]>6PROND/1&6@$./>&DUOVRQ+DULGL-DQVRQ,&/3@ &,$2>+HUPHQHJLOGRHWDO33&3@ • Other programming languages constraint-based extensions – ,/2*>3XJHW63,&,6@>3XJHW/HFRQWH,/36@EDVHGRQ& – &+$50(>%XOO&RUSRUDWLRQ@ $, ,$7XWRULDO%RORJQD6HSWHPEHU FINITE DOMAIN CP • One to one mapping with CSP concepts • Problem modelling – 9DULDEOHVUDQJHRQDILQLWHGRPDLQRIREMHFWVRIDUELWUDU\W\SH – &RQVWUDLQWVDPRQJYDULDEOHV • PDWKHPDWLFDOFRQVWUDLQWV • V\PEROLFFRQVWUDLQWV • Problem solving – 3URSDJDWLRQDOJRULWKPVHPEHGGHGLQFRQVWUDLQWV – $UFFRQVLVWHQF\DVVWDQGDUGSURSDJDWLRQ – 0RUHVRSKLVWLFDWHGSURSDJDWLRQIRUJOREDOFRQVWUDLQWV – 6HDUFKVWUDWHJLHV $, ,$7XWRULDO%RORJQD6HSWHPEHU CP: PROBLEM MODELLING • ONE to ONE mapping between CSP (COP) concepts and CP syntactic structures • A problem should be modelled in terms of – Variables Problem entities – Domains Possible Values – Constraints Relations among variables – Objective function (if any) Optimization Criteria $, ,$7XWRULDO%RORJQD6HSWHPEHU CP: PROBLEM CONSTRAINTS • Mathematical constraints: =, >, <, ≠, ≥, ≤ – Propagation: arc-consistency • Symbolic Constraints >%HOGLFHDQX&RQWHMHDQ0DWK&RPS0RG@ – Embed more powerful propagation algorithms – More concise formulation • alldifferent([X1,...Xm]) all variables have different values • element(N,[X1,...Xm],Value) the n-th element of the list should be equal to Value • cumulative([S1,...Sm], [D1,...Dn], [R1,...Rn], L) used for capacity constraints • disjunctive constraints $, ,$7XWRULDO%RORJQD6HSWHPEHU CP: PROBLEM MODELLING
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages113 Page
-
File Size-