Upload
jack-lucas
View
218
Download
1
Tags:
Embed Size (px)
Citation preview
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!• If Cy and Cz have no students in common
• they can go in room R1 if there is space• Temporal and resource constraints
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, ...
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”?
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)
1 2 3 4 5 6
4
7
An example
Make a crossword puzzle!
Given the above grid and a dictionary, fill it.
Then go get the clues (not my problem)
1A 1 across
4D 4 down
2D 2 down
4A 4 across
7D 7 down
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
An example
Variables
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
An example
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
Constraints
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
An example
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
Domains (also unary constraints!)
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
An example
Find an assignment of values to
variables, from their domains, such that the constraints are satisfied (or show
that no assignment exists)
A CSP!
Choose a variable
Assign it a value
Check compatibility
If not compatible try a new value
If no values remain re-assign previous variable
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
An example
Good old fashioned BT!
What variable should I choose?
1 2 3 4 5 6
4
71A 4D
2D
7D
4A
Questions?
Decisions, decisions!
What value should I choose?
What reasoning can I do when making an assignment?What reasoning can I do on a dead end?
Where’s the AI?
Scene Labelling
David Waltz, MIT, 1975
In a trihedral world, these are the only scenarios
Label an edge as follows
Walk along the edge in this direction and the object is onthe right, and to your left is open space
+
This is an outside edge, with the object on both sides
-
This is an inside edge
We now have the following cases- -
+
+ ++
- -
- -
- -
+
+ -
+
- -
+
+ +
-
-- -
+
+
+
+
+
--+
+ +
A consistent labelling is an interpretation
The edges are the variables, labels their domains, meeting points are the constraints
Another example: n-queens
• Place n non-attacking queens on an n x n chess board• representations?
There is a polynomial solution circa 1800That was BT
It’s all just depth first search, right?
BT Thrashes!
past
future
current variable v[i]
conflict with v[h]
past variable v[h]
future variable v[j]
Another example: n-queens
• Forward Checking
Forward Checking
1
2
3
4
5
6
7
9
8
NOTE: arrows go forward!
• 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
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
Give us a demo?
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?
•Applications• scheduling• timetabeling• frequency allocation• transportation• design• layouts• packing• ...
• Toolkits• ILOG
• solver, scheduler, dispatcher• chip• choco• OZ• Eclipse• Jsolver• Screamer• CSPLab
• 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
stop