Professional Documents
Culture Documents
Chapter 5 Section 1 3
4 Feb 2004
This chapter examines constraint satisfaction problems, whose states and goal test conform to a standard, structured, and very simple representation. Search algorithms can be defined that take advantage of the structure of the states and use general-purpose rather than problemspecific heuristics to enable the solution of large problems. Perhaps most importantly, the standard representation of the goal test reveals the structure of the problem itself. This leads to methods for problem decomposition and to an understanding of the intimate connection between the structure of the problem and the difficulty of solving it.
CS 3243 - Constraint Satisfaction 2
4 Feb 2004
Outline
Constraint Satisfaction Problems (CSP) Backtracking search for CSPs Local search for CSPs
4 Feb 2004
CSP:
state is defined by variables Xi with values from domain Di goal test is a set of constraints specifying allowable combinations of values for subsets of variables
4 Feb 2004
Example: Map-Coloring
Variables WA, NT, Q, NSW, V, SA, T Domains Di = {red,green,blue} Constraints: adjacent regions must have different colors e.g., WA NT, or (WA,NT) in {(red,green),(red,blue),(green,red), (green,blue),(blue,red),(blue,green)}
CS 3243 - Constraint Satisfaction 5
4 Feb 2004
Example: Map-Coloring
Solutions are complete and consistent assignments, e.g., WA = red, NT = green,Q = red,NSW = green,V = red,SA = blue,T = green
CS 3243 - Constraint Satisfaction 6
4 Feb 2004
Constraint graph
Binary CSP: each constraint relates two variables Constraint graph: nodes are variables, arcs are constraints
4 Feb 2004
Varieties of CSPs
Discrete variables
finite domains:
infinite domains:
Continuous variables
e.g., start/end times for Hubble Space Telescope observations 4 Feb 2004 CS 3243 - Constraint Satisfaction linear constraints solvable in polynomial time by linear programming8
Varieties of constraints
e.g., SA green
e.g., SA WA
4 Feb 2004
Example: Cryptarithmetic
Variables: F T U W
X2 4 Feb 2004
Real-world CSPs
Assignment problems
Timetabling problems
4 Feb 2004
This is the same for all CSPs 2. Every solution appears at depth n with n variables use depth-first search 3. Path is irrelevant, so can also use complete-state formulation 4 Feb 2004 CS 3243 - Constraint Satisfaction 4. b = (n - l )d at depth l, hence n! dn leaves
1.
12
Backtracking search
Variable assignments are commutative}, i.e., [ WA = red then NT = green ] same as [ NT = green then WA = red ]
Depth-first search for CSPs with single-variable assignments is called backtracking search Backtracking search is the basic uninformed algorithm for CSPs Can solve n-queens for n 25
CS 3243 - Constraint Satisfaction 13
4 Feb 2004
Backtracking search
4 Feb 2004
14
Backtracking example
4 Feb 2004
15
Backtracking example
4 Feb 2004
16
Backtracking example
4 Feb 2004
17
Backtracking example
4 Feb 2004
18
Which variable should be assigned next? In what order should its values be tried? Can we detect inevitable failure early?
CS 3243 - Constraint Satisfaction 19
4 Feb 2004
4 Feb 2004
21
the one that rules out the fewest values in the remaining variables
4 Feb 2004
22
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
4 Feb 2004
23
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
4 Feb 2004
24
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
4 Feb 2004
25
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables Terminate search when any variable has no legal values
4 Feb 2004
26
Constraint propagation
Forward checking propagates information from assigned to unassigned variables, but doesn't provide early detection for all failures:
NT and SA cannot both be blue! Constraint propagation enforces constraints CS 3243 repeatedly - Constraint Satisfaction
27
4 Feb 2004
Arc consistency
4 Feb 2004
28
Arc consistency
4 Feb 2004
29
Arc consistency
4 Feb 2004
Arc consistency
If X loses a value, neighbors of X need to be rechecked Arc consistency detects failure earlier than forward checking
CS 3243 - Constraint Satisfaction 31
4 Feb 2004
4 Feb 2004
Hill-climbing, simulated annealing typically work with "complete" states, i.e., all variables assigned To apply to CSPs:
4 Feb 2004
33
Example: 4-Queens
States: 4 queens in 4 columns (44 = 256 states) Actions: move queen in column Goal test: no attacks Evaluation: h(n) = number of attacks
4 Feb 2004
Given random initial state, can Satisfaction solve n-queens in almost 34 CS 3243 - Constraint constant time for arbitrary n with high probability (e.g., n =
Summary
4 Feb 2004
35