1 / 31

Constraint Satisfaction Patrick Prosser

Constraint Satisfaction Patrick Prosser. An Example, Exam Timetabling. Someone timetables the exams We have a number of courses to examine how many? Dept has 36 Faculty? University? There are constraints if a student S takes courses Cx and Cy Cx and Cy cannot be at same time!

jwilke
Télécharger la présentation

Constraint Satisfaction Patrick Prosser

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Constraint Satisfaction Patrick Prosser

  2. An Example, Exam Timetabling • Someone timetables the exams • We have a number of courses to examine • how many? • Dept has 36 • Faculty? • University? • There are constraints • if a student S takes courses Cx and Cy • Cx and Cy cannot be at same time! • If Cy and Cz have no students in common • they can go in room R1 if there is space • Temporal and resource constraints

  3. An Example, Exam Timetabling • Represent as graph colouring • vertices are courses • colours are time • vertices have weight (room requirements) • edge connects vertices of diff colour • How complex is this • if we have n vertices and k times • an n-digit number to the base k? • How would you solve this • backtracking search? • Greedy? • Something else • GA? • SA, TS, GLS, HC, ...

  4. An Example, Exam Timetabling • How does the person solve this? • Is that person intelligent? • Is there always a solution? • If there isn’t, do we want to know why? • Do you think they can work out “why”?

  5. A CSP • A csp has • n variables • each has a domain of (m) values • constraints define compatible tuples of values • n-ary, binary • find an assignment • of values to variables • that satisfies the constraints • or show none exists • O(mn)

  6. An example 1 2 3 4 5 6 7 4 Make a crossword puzzle! Given the above grid and a dictionary, fill it. Then go get the clues (not my problem)

  7. An example 1 2 3 4 5 6 7 1A 4D 4 4A 2D 1A 1 across 4D 4 down 2D 2 down 4A 4 across 7D 7 down 7D Variables

  8. An example 1 2 3 4 5 6 7 1A 4D 4 4A 2D 1A-4D: 4th of 1A equals 1st of 4D 1A-2D: 2nd of 1A equals 1st of 2D 2D-4A: 4th of 2D equals 2nd of4D 4D-4A: 4th of 4A equals 4th of 4D 4A-7D: 7th of 4A equals 2nd of 7D 7D Constraints

  9. An example 1 2 3 4 5 6 7 1A 4D 4 4A 2D 1A: any 6 letter word 4A: any 8 letter word 4D: any 5 letter word 2D: any 7 letter word 7D: any 3 letter word 7D Domains (also unary constraints!)

  10. An example 1 2 3 4 5 6 7 1A 4D 4 4A 2D Find an assignment of values to variables, from their domains, such that the constraints are satisfied (or show that no assignment exists) 7D A CSP!

  11. An example 1 2 3 4 5 6 7 1A 4D 4 4A 2D Choose a variable Assign it a value Check compatibility If not compatible try a new value If no values remain re-assign previous variable 7D Good old fashioned BT!

  12. Questions? 1 2 3 4 5 6 7 1A 4D 4 4A 2D What variable should I choose? 7D What value should I choose? What reasoning can I do when making an assignment? What reasoning can I do on a dead end? Decisions, decisions!

  13. Where’s the AI?

  14. Scene Labelling David Waltz, MIT, 1975

  15. In a trihedral world, these are the only scenarios

  16. Walk along the edge in this direction and the object is on the right, and to your left is open space + - This is an outside edge, with the object on both sides This is an inside edge Label an edge as follows

  17. We now have the following cases - - + + - + - - + - + - - + - - - + + + - +

  18. + + + - - + + + + - - - + The edges are the variables, labels their domains, meeting points are the constraints A consistent labelling is an interpretation

  19. Another example: n-queens • Place n non-attacking queens on an n x n chess board • representations? That was BT There is a polynomial solution circa 1800

  20. It’s all just depth first search, right?

  21. BT Thrashes! past variable v[h] past conflict with v[h] current variable v[i] future future variable v[j]

  22. Another example: n-queens • Forward Checking

  23. Forward Checking 1 2 3 NOTE: arrows go forward! 4 5 6 7 8 9

  24. How to improve search • use a heuristic • variable and/or value ordering • dynamic or static • Fail First? • More inferencing at each search state • old trade off, knowledge versus search • maintain consistency

  25. Consistency • arc consistency • what’s that then? • Propagate supports • deduce illegal values • polynomial at each search node • AC can be specialised for special constraints • MAC • the heart of constraint programming

  26. Give us a demo?

  27. Not just binary csp’s! • N-ary • but can be mapped to binary • why bother with n-ary? • allDiff, sum, permutation, marriage • Not just arc consistency • path • inverse • restricted • singleton • When, what?

  28. Applications • scheduling • timetabeling • frequency allocation • transportation • design • layouts • packing • ...

  29. Toolkits • ILOG • solver, scheduler, dispatcher • chip • choco • OZ • Eclipse • Jsolver • Screamer • CSPLab

  30. Research Direction • reactivity and explanation • retraction in particular • better heuristics • new search algorithms • complete, quasi-complete, local • new levels of consistency • new specialised constraints • effects of representation • understanding the problem • its structure and why it is hard

  31. stop

More Related