Professional Documents
Culture Documents
1
Constraint Satisfaction Problems
An assignment of values to some or all of the variables that
doesn’t violet any constraints is called a consistant or legal
assignment.
A complete assignment is that in which every variable is
mentioned and if it satisfies all the constraints, then it is a
solution.
2
Outline
Constraint Satisfaction Problems (CSP)
Backtracking search for CSPs
Local search for CSPs
3
Constraint satisfaction problems (CSPs)
4
Example: Map-Coloring
5
Example: Map-Coloring
6
Constraint graph
Binary CSP: each constraint relates two variables
Constraint graph: nodes are variables, arcs are constraints
7
Real-world CSPs
Assignment problems
e.g., who teaches what class
Timetabling problems
e.g., which class is offered when and where?
Transportation scheduling
Factory scheduling
Notice that many real-world problems involve real-
valued variables
8
Standard search formulation (incremental)
9
Backtracking search
Variable assignments are commutative}, i.e.,
[ WA = red then NT = green ] same as [ NT = green then WA = red ]
10
Backtracking search
11
Backtracking example
12
Backtracking example
13
Backtracking example
14
Backtracking example
15
Improving backtracking efficiency
General-purpose methods can give huge
gains in speed:
Which variable should be assigned next?
In what order should its values be tried?
Can we detect inevitable failure early?
16
Most constrained variable
Most constrained variable:
choose the variable with the fewest legal values
17
Most constraining variable
Tie-breaker among most constrained
variables
Most constraining variable:
choose the variable with the most constraints on
remaining variables
18
Least constraining value
Given a variable, choose the least
constraining value:
the one that rules out the fewest values in the
remaining variables
19
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
20
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
21
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
22
Forward checking
Idea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
23
Constraint propagation
Forward checking propagates information from assigned to
unassigned variables, but doesn't provide early detection
for all failures:
24
Local search for CSPs: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
25
Summary
CSPs are a special kind of problem:
states defined by values of a fixed set of variables
goal test defined by constraints on variable values
26