Constraint Satisfaction Problems: Prof. Abbas AL-Bakri
Constraint Satisfaction Problems: Prof. Abbas AL-Bakri
Supervised by
Prepared By:
Hussein Saeed Areej Rebat
Duaa Mahmud
1
Outline
• Constraint Satisfaction Problems (CSP)
• Backtracking search for CSPs
• Local search for CSPs
2
Constraint satisfaction problems (CSPs)
• Standard search problem:
– state is a "black box“ – any data structure that supports successor function,
heuristic function, and goal test
• CSP:
– state is defined by variables Xi with some values from domain Di
– A set of constraints Ci specifies allowable combinations of values for subsets
of variables
– A consistent state violates none of the constraints C
– A complete assignment has values assigned to all variables.
– A Solution is a complete, consistent assignment.
• Simple example of a formal representation language
3
Example: Map-Coloring
4
Example: Map-Coloring
6
Varieties of CSPs
• Discrete variables
– finite domains:
• n variables, domain size d O(dn) complete assignments
• e.g., Boolean CSPs, incl.~Boolean satisfiability (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
7
Varieties of constraints
• Unary constraints involve a single variable,
– e.g., SA ≠ green
• Binary constraints involve pairs of variables,
– e.g., SA ≠ WA
• Higher-order constraints involve 3 or more variables,
– e.g., cryptarithmetic column constraints
• Global constraints: arbitrary # of constraints, not necessarily all
the variables in a problem.
8
Example: Cryptarithmetic
• Variables: F T U W R O X1 X2 X3
• Domains: {0,1,2,3,4,5,6,7,8,9}
• 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
9
Real-world CSPs
• Common problems:
– 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
• May also include preference constraints:
constraint optimization
10
Standard search formulation (incremental)
Let's start with the straightforward approach, then fix it:
States are defined by the values assigned so far
• Initial state: the empty assignment { }
• Successor function: assign a value to an unassigned variable
that does not conflict with current assignment
fail if no legal assignments
• Goal test: the current assignment is complete
11
Backtracking search
• Variable assignments are commutative}, i.e.,
[ WA = red then NT = green ] same as [ NT = green then
WA = red ]
• Only need to consider assignments to a single variable
at each node
b = d and there are dn leaves
• Depth-first search for CSPs with single-variable
assignments is called backtracking search
• Backtracking search is the basic uninformed
algorithm for CSPs
13
Backtracking example
14a
Backtracking example
15
Backtracking example
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
Forward checking
• Idea:
– Keep track of remaining legal values for unassigned
variables
– Terminate search when any variable has no legal values
24
Constraint propagation
• Forward checking propagates information from assigned to unassigned
variables, but doesn't provide early detection for all failures:
NT Q
SA
NSW
25
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
consistent consistent
•Arc refers to a directed arc in the constraint graph, such as the arc
from SA to NSW.
•The current domains of SA and NSW,the arc is consistent if, for
every value x of SA, there is some value y of NSW that is consistent
with x.
26
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
28
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 algorithm AC-3
31
Path Consistency
• Consider coloring Australia with 2 colors.
– Clearly not possible. WA, for example, touches two other countries.
– AC-3 will not detect this immediately.
• Path consistency extends it to look at triples of variables.
• A two-variable set X, Y is path-consistent with a third variable Z iff
– for every value a of X and b of Y which satisfies the constraints on
{X, Y}
– there is a value c of Z which satisfies the constraints on {X,Z} and
{Z,Y}.
• Can look at it as looking at a path from X to Y with Z in the middle.
• Path consistency algorithm PC-2 is extension of AC-3.
32
Global Constraints
• Some global constraints have specialized
algorithms or heuristics
– AllDiff: all variables are distinct
• Sudoku rows, columns, boxes
– AtMost: resources are constrained
• Scheduling 10 people on 4 tasks
33
AllDiff
• If there are m variables and n possible values, any
time m>n it is inconsistent
• Algorithm:
– find all variables with singleton domains (there is only
one value which satisfies the constraint)
– remove that value from domains of remaining variables
• If m>n or any domain is empty, inconsistent.
• Classic way to solve easy Sudoku puzzles
• Reduces search space for more difficult puzzles.
34
Resource Constraints
• Constraints expressed as maximum a sum of values
can reach: 10 people assigned to 4 tasks
• Each task can have 1,2,3...10 people initially.
– T1 = [1, 2, ...10]; T2 = [1,2,...10] etc.
• Sum minimum values of the current domains for each
task; if >10, inconsistent
• We can also enforce consistency by deleting the
maximum value of any domain if it is not consistent
with the minimum values of the other domains.
35
Bounds Propagation
• For larger problems: 420 people on planes
with capacities 165 and 385 passengers.
• Individual variables get min and max
instead of enumerated values
– Plane1 = [0, 165]; Plane2 = [0, 385]
• Propagating the bounds gives us
– Plane1 = [35, 165]; Plane2 = [255, 385]
36
Local search for CSPs
• Local-search algorithms is effective in solving many CSPs.
• They use a complete-state formulation: the initial state
assigns a value to every variable, and change the value of
one variable at a time.
• Variable selection: randomly select any conflicted variable
• Value selection by min-conflicts heuristic:
– choose value that violates the fewest constraints
– i.e., hill-climb with h(n) = total number of violated
constraints
37
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
• Given random initial state, can solve n-queens in almost constant time for
arbitrary n with high probability (e.g., n = 10,000,000)
38
Local Search
• Works best when solutions are dense
– 8 queens has many solutions; good
– Proper Sudoku puzzles have one; bad
• All the usual problems, and solutions, for local search
• Constraint weighing adjusts weight of constraints
which have not been solved: help focus on harder
problems.
• Especially useful when problem gets small changed
– airline scheduling when PHL closes
39
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
• Backtracking = depth-first search with one variable assigned
per node
• Variable ordering and value selection heuristics help
significantly
• Forward checking prevents assignments that guarantee later
failure
• Constraint propagation (e.g., arc consistency) does additional
work to constrain values and detect inconsistencies
• Iterative min-conflicts is often effective in practice
40
Thanks for Listening