Lec 5_Constraint Satisfaction
Lec 5_Constraint Satisfaction
Lec 5_Constraint Satisfaction
Problems
1
Constraint satisfaction problems (CSPs)
2
■ CSP consists of 3 components V,D,C
■ V is set of variables (finite) {V1, V2, …Vn}
■ D is a set of domains {D1, D2,… Dn} one for each
variable
■ C is a set of constraints that specify allowable
combination of values
Ci = (Scope, relation)
Where scope is a set of variables that
participate in constraint
relation (rel) defines the values that variable can take
4
Example: Map-Coloring
■ Domains Di = {red,green,blue}
6
Constraint graph
■ Binary CSP: each constraint relates two variables
■ Constraint graph: nodes are variables, arcs are constraints
7
Varieties of CSPs
■ Discrete variables
■ finite domains:
■ n variables, domain size d 🡪 O(d n) complete assignments
■ e.g., 3-SAT (NP-complete)
■ infinite domains:
■ integers, strings, etc.
■ e.g., job scheduling, variables are start/end days for each job
■ need a constraint language, e.g., StartJob1 + 5 ≤ StartJob3
■ Continuous variables
■ e.g., start/end times for Hubble Space Telescope observations
■ linear constraints solvable in polynomial time by linear programming
8
Varieties of constraints
■ Unary constraints involve a single variable,
■ e.g., SA ≠ green
9
Example: Cryptarithmetic
■ Variables: F T U W R O X 1 X 2 X3
■ Domains: {0,1,2,3,4,5,6,7,8,9} {0,1}
■ Constraints: Alldiff (F,T,U,W,R,O)
■ O + O = R + 10 · X1
■ X1 + W + W = U + 10 · X2
■ X2 + T + T = O + 10 · X3
■ X3 = F, T ≠ 0, F ≠ 0
10
Example
12
Standard search formulation
We need:
• Initial state: none of the variables has a value (color)
• Successor state: one of the variables without a value will get some value.
• Goal: all variables have a value and none of the constraints is violated.
NxD
N layers
WA WA WA NT T
[NxD]x[(N-1)xD]
WA WA WA NT
NT NT NT WA
Equal! N! x D^N
13
There are N! x D^N nodes in the tree but only D^N distinct states??
Backtracking (Depth-First) search
• Special property of CSPs: They are commutative: NT = WA
This means: the order in which we assign variables WA NT
does not matter.
• Better search tree: First order variables, then assign them values one-by-one.
D
WA WA WA
WA
NT D^2
WA WA
NT NT
D^N
14
Backtracking example
15
Backtracking example
16
Backtracking example
17
Backtracking example
18
Improving backtracking efficiency
19
Most constrained variable
■ Most constrained variable:
choose the variable with the fewest legal values
21
Least constraining value
■ Given a variable, choose the least
constraining value:
■ the one that rules out the fewest values in the
remaining variables
23
Forward checking
■ Idea:
■ Keep track of remaining legal values for unassigned variables
■ Terminate search when any variable has no legal values
24
Forward checking
■ Idea:
■ Keep track of remaining legal values for unassigned variables
■ Terminate search when any variable has no legal values
25
Forward checking
■ Idea:
■ Keep track of remaining legal values for unassigned variables
■ Terminate search when any variable has no legal values
26
Constraint propagation
■ Forward checking propagates information from assigned to
unassigned variables, but doesn't provide early detection for
all failures:
27
Arc consistency
■ Simplest form of propagation makes each arc consistent
■ X 🡪Y is consistent iff
for every value x of X there is some allowed y
29
Arc consistency
■ Simplest form of propagation makes each arc consistent
■ X 🡪Y is consistent iff
for every value x of X there is some allowed y
30
Arc consistency
■ Simplest form of propagation makes each arc consistent
■ X 🡪Y is consistent iff
for every value x of X there is some allowed y
B a priori
B B R G B
R constrained
G R
G G
nodes
33
34
Junction Tree Decompositions
35
Local search for CSPs
■ Note: The path to the solution is unimportant, so we can
apply local search!
■ To apply to CSPs:
■ allow states with unsatisfied constraints
■ operators reassign variable values
36
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
37
38
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
39