Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
3 views156 pages

Chapter 4 CSP Problem

The document discusses Constraint Satisfaction Problems (CSPs), defining them as problems characterized by a set of variables, domains of possible values, and constraints. It explains the process of solving CSPs using backtracking search, highlighting the importance of variable assignment order and heuristics like Minimum Remaining Values (MRV) and Most Constraining Variable (MCV) to improve efficiency. Examples, such as map-coloring, illustrate the concepts and methods used in CSPs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views156 pages

Chapter 4 CSP Problem

The document discusses Constraint Satisfaction Problems (CSPs), defining them as problems characterized by a set of variables, domains of possible values, and constraints. It explains the process of solving CSPs using backtracking search, highlighting the importance of variable assignment order and heuristics like Minimum Remaining Values (MRV) and Most Constraining Variable (MCV) to improve efficiency. Examples, such as map-coloring, illustrate the concepts and methods used in CSPs.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 156

Dr. Mohamed K.

Hussein
Faculty of computer & Information Science
Suez Canal University
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 values from
domain Di
– goal test is a set of constraints specifying allowable
combinations of values for subsets of variables

Dr. Mohamed K. Hussein


Constraint satisfaction problem
• A CSP is defined by
– a set of variables
– a domain of possible values for each variable
– a set of constraints between variables

• An assignment that does not violate any constraints is


called a consistent or legal CONSISTENT assignment.

• A complete assignment is one in which every variable is


mentioned.

• A solution to a CSP is
– A complete assignment that satisfies all the constraints
Dr. Mohamed K. Hussein
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

Dr. Mohamed K. Hussein


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

• A state may be incomplete e.g., just WA=red


Dr. Mohamed K. Hussein
Constraint graph
• It is helpful to visualize a CSP as a constraint
graph
– Binary CSP: each constraint relates two variables
– Constraint graph: nodes are variables, arcs are constraints

NT Q

WA
NS
W
SA

Dr. Mohamed K. Hussein T


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
– linear constraints solvable in polynomial time by linear
programming

Dr. Mohamed K. Hussein


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

Dr. Mohamed K. Hussein


Constraint Satisfaction
problem
Backtracking Search

Dr. Mohamed K. Hussein


Standard search formulation
Let’s try the 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 DN
Dr. Mohamed K. Hussein
There are N! x DN nodes in the tree but only DN distinct states??
Backtracking search

• Every solution appears at depth n with n variables


 use depth-first search

• 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

Dr. Mohamed K. Hussein


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 D2
WA WA
NT NT

DN
Dr. Mohamed K. Hussein
Backtracking search

Dr. Mohamed K. Hussein


Backtracking example

Dr. Mohamed K. Hussein


Backtracking example

Dr. Mohamed K. Hussein


Backtracking example

Dr. Mohamed K. Hussein


Backtracking example

Dr. Mohamed K. Hussein


Depth First Search (DFS)
• Application:
Given the following state space (tree search), give the sequence
of visited nodes when using DFS (assume that the nodeO is the
goal state):
A

B C D E

F G H I J

K L M N

O
Dr. Mohamed K. Hussein
Depth First Search
• A,

B C D E

Dr. Mohamed K. Hussein


Depth First Search
• A,B,

B C D E

F G

Dr. Mohamed K. Hussein


Depth First Search
• A,B,F,

B C D E

F G

Dr. Mohamed K. Hussein


Depth First Search
• A,B,F,
• G,

B C D E

F G

K L

Dr. Mohamed K. Hussein


Depth First Search
• A,B,F,
• G,K,

B C D E

F G

K L

Dr. Mohamed K. Hussein


Depth First Search
• A,B,F,
• G,K,
• L,
A

B C D E

F G

K L

O
Dr. Mohamed K. Hussein
Depth First Search
• A,B,F,
• G,K,
• L, O: Goal State
A

B C D E

F G

K L

O
Dr. Mohamed K. Hussein
Depth First Search
The returned solution is the sequence of operators in the path:
A, B, G, L, O : assignments when using CSP !!!

B C D E

F G

K L

O
Dr. Mohamed K. Hussein
Backtracking

Example 1

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

Dr. Mohamed K. Hussein 3 colour me!


Example of a csp

{blue, green, red} {blue, green, red}

A B
{blue, green, red}

E
C {blue, green, red}

D {blue, green, red}

H
{blue, green, red}
F G {blue, green, red}
{blue, green, red}

Dr. Mohamed K. Hussein 3 colour me!


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

Dead end → backtrack

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Example of a csp

A B

E
C

H Solution !!!!

F G

1 = red
2 = blue
3 = green

Dr. Mohamed K. Hussein


Backpropagation

Example 2

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]
Dead End → Backtrack

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Solution !!!

Dr. Mohamed K. Hussein


Improving backtracking efficiency

Dr. Mohamed K. Hussein


Improving backtracking efficiency
• General-purpose heuristics 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?

Dr. Mohamed K. Hussein


Most constrained variable
Minimum Remaining Values (MRV)
• Most constrained variable:
choose the variable with the fewest legal values

• Called minimum remaining values (MRV) heuristic

• “fail-first” heuristic: Picks a variable which will cause


failure as soon as possible, allowing the tree to be
pruned.
Dr. Mohamed K. Hussein
Backpropagation
MRV

minimum remaining values

choose the variable with the


fewest legal values

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MRV
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Solution !!!

Dr. Mohamed K. Hussein


Most constraining variable
MCV
• Tie-breaker among most constrained
variables
• Most constraining variable:
– choose the variable with the most constraints on
remaining variables (select variable that is involved in
the largest number of constraints - edges in graph on
other unassigned variables)

Dr. Mohamed K. Hussein


Backpropagation
MCV
Most Constraining variable

choose the variable with the most


constraints on remaining variables

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
Dead End 3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
Dead End 3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - MCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Solution !!!
Dr. Mohamed K. Hussein
Least constraining value
LCV
• Given a variable, choose the least
constraining value:
– the one that rules out (eliminate) the fewest
values in the remaining variables

• Combining these heuristics makes 1000


queens feasible
Dr. Mohamed K. Hussein
Backpropagation
LCV
Least Constraining Value

choose the value which eliminates the


fewest number of values in the
remaining variables

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]
Dead End

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Backpropagation - LCV
[R,B,G] [R,B,G]
4 arcs 2 arcs

2 arcs

[R]
3 arcs
3 arcs
Solution !!! [R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Constraint Satisfaction
problem
Backtracking + Forward Checking

Dr. Mohamed K. Hussein


Forward Checking
• Assigns variable X, say

• Looks at each unassigned variable, Y say,


connected to X and delete from Y’s domain any
value inconsistent with X’s assignment

• Eliminates branching on certain variables by


propagating information

• If forward checking detects a dead end,


algorithm will backtrack immediately.
Dr. Mohamed K. Hussein
Forward checking

• Idea:
– Keep track of remaining legal values for unassigned
variables
– Terminate search when any variable has no legal values

Dr. Mohamed K. Hussein


Forward checking

• Idea:
– Keep track of remaining legal values for unassigned
variables
– Terminate search when any variable has no legal values

Dr. Mohamed K. Hussein


Forward checking

• Idea:
– Keep track of remaining legal values for unassigned
variables
– Terminate search when any variable has no legal values

Dr. Mohamed K. Hussein


Forward checking

• Idea:
– Keep track of remaining legal values for unassigned
variables
– Terminate search when any variable has no legal values

Dr. Mohamed K. Hussein Dead End


Forward Checking

Examples

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} {1,2,3,4}
1
2
3
4
X3 X4
{1,2,3,4} {1,2,3,4}

[4-Queens slides copied from B.J. Dorr CMSC 421 course on AI]
Dr. Mohamed K. Hussein
Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} {1,2,3,4}
1
2
3
4
X3 X4
{1,2,3,4} {1,2,3,4}

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} { , ,3,4}
1
2
3
4
X3 X4
{ ,2, ,4} { ,2,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} { , ,3,4}
1
2
3
4
X3 X4
{ ,2, ,4} { ,2,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} { , ,3,4}
1
2
3
4
X3 X4
{ , , , } { ,2, , }

Dead End → Backtrack


Dr. Mohamed K. Hussein
Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{ ,2, , } { , ,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 {1,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{ ,2, , } { ,,, }

Dead End → Backtrack


Dr. Mohamed K. Hussein
Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} {1,2,3,4}
1
2
3
4
X3 X4
{1,2,3,4} {1,2,3,4}

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, ,3, } {1, ,3,4}

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, ,3, } {1, ,3,4}

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, , , } {1, ,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, , , } {1, ,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, , , } { , ,3, }

Dr. Mohamed K. Hussein


Example: 4-Queens Problem

X1 X2
1 2 3 4 { ,2,3,4} { , , ,4}
1
2
3
4
X3 X4
{1, , , } { , ,3, }

Solution !!!!

Dr. Mohamed K. Hussein


Forward Checking
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [ , ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [ , ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,] [ , ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,] [ , ,G]
Dead End

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, ,G]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Forward Checking
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, , ]
Solution !!!

Dr. Mohamed K. Hussein


Constraint Satisfaction
problem
Constraint Propagation
Backtracking + Arc Consistency

Dr. Mohamed K. Hussein


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!



Dr. Mohamed K. Hussein
• Constraint propagation repeatedly enforces
Arc consistency
• More complex than forward checking,
but backtracks sooner so may be faster

• Make each arc consistent


• Constraints treated as directed arcs
• X Y is consistent iff
for every value of X there is some allowed value for Y

• Note:
– If the arc from A to B is consistent, the (reverse) arc from B to A
is not necessarily consistent!
– Arc consistency doesDr.not detect
Mohamed every possible inconsistency!!
K. Hussein
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

Dr. Mohamed K. Hussein


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

Dr. Mohamed K. Hussein


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

• If X loses a value, neighbors of X need to be


rechecked Dr. Mohamed K. Hussein
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

• If X loses a value, neighbors of X need to be rechecked


• Arc consistency detects failure earlier than forward checking
Dr. Mohamed K. Hussein
• Can be run as a preprocessor or after each assignment
Arc consistency algorithm AC-3

• Time complexity: O(n2d3)


• Dr. Mohamed K. Hussein
Checking consistency of an arc is O(d2)
Arc Consistency: AC3
+ Backtracking
Constraint Satisfaction Problems

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[R,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[R,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R,B,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R, ,G]

[R]

[ ,B,G] [R,B,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R, ,G]

[R]

[ ,B,G] [R, ,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, ,G]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [R, ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [ , ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [ , ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [ , ,G]

[R]

[ , ,G] [R, , ]

Dr. Mohamed K. Hussein


Arc Consistency: AC3
[ ,B,G] [ , ,G]

[R]

[ , ,G] [R, , ]

Solution !!!

Dr. Mohamed K. Hussein


Constraint Satisfaction
problem
Local Search

Dr. Mohamed K. Hussein


Local search for CSPs
min-conflicts heuristic
• Note: The path to the solution is unimportant, so we can
apply local search!

• Hill-climbing, simulated annealing typically work with "complete"


states, i.e., all variables assigned

• To apply to CSPs:
– allow states with unsatisfied constraints
– operators reassign variable values
– hill-climb with value(state) = total number of violated constraints

• Variable selection:
– randomly select any conflicted variable

• Value selection:
– choose value that violates the fewest constraints
– called the min-conflictsDr.
heuristic
Mohamed K. Hussein
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

Dr. Mohamed K. Hussein


Example: 8-queens
• State:
– Variables = queens, which are confined to a column
– Value = row
• Start with random state
• Repeat
– Choose conflicted queen randomly
– Choose value (row) with minimal conflicts

Dr. Mohamed K. Hussein


Dr. Mohamed K. Hussein
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 usually effective in practice

Dr. Mohamed K. Hussein

You might also like