Constraint Programming Approach to Ai Applications

Constraint Programming Approach to Ai Applications

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    113 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us