14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5....
Transcript of 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5....
![Page 1: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/1.jpg)
14.
Constraint Satisfaction Problems
CS227Spring 2011
![Page 2: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/2.jpg)
Outline
• Example of a Constraint Satisfaction Problem (CSP)• Representing a CSP• Solving a CSP
– Backtracking searchBacktracking search– Problem structure and decomposition
• Constraint logic programming• Summary• Summary
![Page 3: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/3.jpg)
![Page 4: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/4.jpg)
![Page 5: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/5.jpg)
![Page 6: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/6.jpg)
![Page 7: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/7.jpg)
![Page 8: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/8.jpg)
![Page 9: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/9.jpg)
![Page 10: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/10.jpg)
Outline
• Example of a Constraint Satisfaction Problem (CSP)• Representing a CSP• Solving a CSP
– Backtracking searchBacktracking search– Problem structure and decomposition
• Constraint logic programming• Summary• Summary
![Page 11: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/11.jpg)
![Page 12: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/12.jpg)
![Page 13: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/13.jpg)
![Page 14: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/14.jpg)
![Page 15: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/15.jpg)
![Page 16: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/16.jpg)
![Page 17: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/17.jpg)
![Page 18: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/18.jpg)
![Page 19: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/19.jpg)
![Page 20: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/20.jpg)
![Page 21: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/21.jpg)
![Page 22: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/22.jpg)
![Page 23: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/23.jpg)
![Page 24: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/24.jpg)
![Page 25: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/25.jpg)
![Page 26: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/26.jpg)
![Page 27: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/27.jpg)
![Page 28: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/28.jpg)
![Page 29: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/29.jpg)
![Page 30: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/30.jpg)
![Page 31: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/31.jpg)
![Page 32: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/32.jpg)
Outline
• Example of a Constraint Satisfaction Problem (CSP)• Representing a CSP• Solving a CSP
– Backtracking searchBacktracking search– Problem structure and decomposition
• Constraint logic programming• Summary• Summary
![Page 33: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/33.jpg)
![Page 34: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/34.jpg)
![Page 35: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/35.jpg)
![Page 36: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/36.jpg)
![Page 37: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/37.jpg)
![Page 38: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/38.jpg)
Outline
• Example of a Constraint Satisfaction Problem (CSP)• Representing a CSP• Solving a CSP
– Backtracking searchBacktracking search– Problem structure and decomposition
• Constraint logic programming• Summary• Summary
![Page 39: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/39.jpg)
Constraint Logic Programmingg g g
• A constraint logic program is a logic program that contains constraints in the body of clauses
A(X,Y) :-X+Y>0, B(X)B(X), C(Y)
Constraints are stored in a constraint store and evaluated using a CSP technique.
![Page 40: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/40.jpg)
Example Applicationp pp
• Meeting scheduling video
![Page 41: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/41.jpg)
Meeting Scheduling Constraintsg g
• The meeting room needs to be able to hold at least n people• The meeting room needs to have a projector (or sound equipment or
similar)• The appointment may be recurring and need to be at the same pp y g
time/location each week• I want at least 1 hour between appointments• If we are teleconferencing with our European office meetings needIf we are teleconferencing with our European office, meetings need
to be scheduled at an appropriate time• Bob will only attend appointments if Gary is not present• I will only attend a maximum of 3 appointments in a given day• I will only attend a maximum of 3 appointments in a given day• I need to meet before a deadline• I prefer meetings near my residence/office
![Page 42: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/42.jpg)
![Page 43: 14. Constraint Satisfaction Problemsweb.stanford.edu/class/cs227/Lectures/lec14.pdf · 2011. 5. 13. · Constraint Loggg gic Programming • A constraint logic program is a logic](https://reader036.fdocuments.net/reader036/viewer/2022062610/610b5b3ef722ab57002112ce/html5/thumbnails/43.jpg)
Readingg
• Chapter on Constraint Satisfaction Problems in Russell and Norvig – Chapter 5 in 2nd edition– Chapter 6 in 3rd edition