This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Solving Constraint Satisfaction Problems: Search and Forward Checking Brian C. Williams 16.410-13 Session 11 Slides draw from material from: 6.034 notes, by Tomas Lozano Perez AIMA, by Stuart Russell & Peter Norvig Constraint Processing, by Rina Dechter 1 1 Reading Assignments: Constraint Satisfaction Readings: Lecture Slides (most material in slides only, READ ALL). AIMA Ch. 5 Constraint Satisfaction Problems (CSPs) For more detail: Ch. 5 of Constraint Processing, - Dechter. Problem Set #5: Covers search methods for solving constraints. Online. Out today, October 19 th . Due next Wednesday, October 26 th . Get started early! Mid-Term: Monday, October 31 st. No problem Set that week. Sample Mid-term, distributed and posted. 2 To Solve CSPs we combine arc consistency and search 1. Arc consistency (Constraint propagation), Eliminates values that are shown locally to not be a part of any solution. 2. Search Explores consequences of committing to particular assignments. Methods That Incorporate Search: Standard Search Back Track Search (BT) BT with Forward Checking (FC) Dynamic Variable Ordering (DV) (Appendix) Iterative Repair (IR) (Appendix) Back Jumping (BJ) (Appendix) 3 Solving CSPs with Standard Search State Variable assignments thus far Initial State No assignments Operator New assignment = Select any unassigned variable Select any one of its domain values Child extend assignments with new Goal Test All variables are assigned All constraints are satisfied Branching factor? R, G R, G R, G, B V 1 Sum of domain size of all variables O(v*d) V 2 V 3 Performance? Exponential of branching factor O([v*d] n ) 4 Search Performance on N Queens 1 2 Q Q 3 Q 4 Q Standard Search A handful of queens Backtracking 5 Solving CSPs with Standard Search Standard Search: Children select any value to any variable [O(v*d)] Test complete assignments against CSP Observations: 1. The order in which variables are assigned does not change the so lution. Many paths denote the same solution (n!), so expand only one path (i.e., one variable ordering). 2. We can identify a dead end before assigning all variables Extensions to inconsistent partial assignments are always inconsistent So check after each assignment. R, G R, G R, G, B V 1 V 2 V 3 6 1 BackTrack Search (BT) 1. Expand the assignments of only one variable at each step. 2. Pursue depth first. 3. Check consistency after each expansion, and backup. G R B V 1 assignments V 2 assignments V 3 assignments Preselect order Expand R, G R, G R, G, B V 1 of variables to designated assign variable V 2 V 3 7 Procedure Backtracking(<x,D,C>) Input : A constraint network R = <X, D, C> Output : A solution, or notification the network is inconsistent....
View Full Document
This note was uploaded on 11/07/2011 for the course AERO 16.410 taught by Professor Brianwilliams during the Fall '05 term at MIT.
- Fall '05