This preview shows pages 1–3. Sign up to view the full content.
1
Constraint Propagation
(Where a better exploitation of the
constraints further reduces the
need to make decisions)
R&N: Chap. 5 + Chap. 24, p. 881884
1
Constraint Propagation …
… is the process of determining how the
constraints and the possible values of one
variable affect the possible values of other
variables
It is an important form of “leastcommitment”
reasoning
2
Forward checking is only on simple
form of constraint propagation
When a pair (X
Å
v) is added to assignment A do:
For each variable Y not in A do:
For every constraint C relating Y to variables in A do:
Remove all values from Y’s domain that do not satisfy C
3
±
n
= number of variables
±
d
= size of initial domains
±
s
= maximum number of constraints
involving a given variable (s
≤
n1)
±
Forward checking takes
O(nsd)
time
Forward Checking in Map Coloring
Empty set: the current assignment
{(WA
Å
R), (Q
Å
G), (V
Å
B)}
does not lead to a solution
WA
NT
Q
NSW
V
SA
T
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
G
R
G
B
R
G
B
G
B
R
G
B
R
B
G
R
BB
B
R
G
B
4
Forward Checking in Map Coloring
T
WA
NT
SA
Q
NSW
V
Contradiction that forward
checking did not detect
WA
NT
Q
NSW
V
SA
T
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
G
R
G
B
R
G
B
G
B
R
G
B
R
B
G
R
B
R
G
B
5
Forward Checking in Map Coloring
WA
NT
Q
Contradiction that forward
checking did not detect
Detecting this contradiction requires a more
powerful constraint propagation technique
WA
NT
Q
NSW
V
SA
T
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
R
G
B
G
R
G
B
R
G
B
G
B
R
G
B
R
B
G
R
B
R
G
B
6
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document 2
Constraint Propagation
for
Binary
Constraints
REMOVEVALUES(
X
,
Y
)
1.
removed
Å
false
2.
For every value
v
in the domain of
Y
do
–
If there is no value
u
in the domain of
X
such that
the constraint on (
X
,
Y
) is satisfied then
a.
Remove
v
from
Y
‘s domain
b.
removed
Å
true
3.
Return
removed
7
Constraint Propagation
for
Binary
Constraints
AC3
1.
Initialize queue
Q
with all variables
(not yet instantiated)
2.
While
Q
≠∅
do
a.
X
Å
Remove(
Q
)
b.
For every
(not yet instantiated)
variable
Y
related to
X
by a
(binary)
constraint do
–
If REMOVEVALUES(
X
,
Y
) then
i.
If
Y
’s domain =
∅
then exit
ii.
Insert(
Y
,
Q
)
8
Edge Labeling
We consider an image of a scene composed of
polyhedral objects such that each vertex is
the endpoint of exactly three edges
R&N: Chap. 24, pages 881884
9
Edge Labeling
This is the end of the preview. Sign up
to
access the rest of the document.
This document was uploaded on 01/11/2011.
 Winter '09

Click to edit the document details