Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 1
Foundations of Constraint ProcessingCSCE421821 Spring 2009
wwwcseunledu~choueiryS09-421-821All questions cse421cseunledu
Berthe Y Choueiry (Shu-we-ri)Avery Hall Room 360
choueirycseunledu Tel +1(402)472-5444
Basic Consistency Methods
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 2
Lecture SourcesRequired reading1 Algorithms for Constraint Satisfaction Problems Mackworth and
Freuder AIJ852 Sections 31 32 33 Chapter 3 Constraint Processing Dechter
Recommended1 Sections 34mdash310 Chapter 3 Constraint Processing Dechter2 Networks of Constraints Fundamental Properties and Application
to Picture Processing Montanari Information Sciences 743 Consistency in Networks of Relations Mackworth AIJ77 4 Constraint Propagation with Interval Labels Davis AIJ875 Path Consistency on Triangulated Constraint Graphs Bliek amp Sam-
Haroud IJCAI99
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 3
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 4
Consistency checkingMotivation bull CSP are solved with search (conditioning)bull Search performance is affected by
- problem size- amount of backtracking
bull Backtracking may yield thrashing
ThrashingExploring non-promising sub-trees and rediscovering the same inconsistencies over and over again
Malady of backtrack search
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 5
(Some) causes of thrashingSearch order
V1 V2 V3 V4 V5
What happens in search if webull do not check CV3 (node inconsistency)bull do not check constraint CV3V5 (arc inconsistency)bull do not check constraints CV3V4 CV3V5 and CV4V5 (path
inconsistency)
1 2V4
1 2 3
0 1 2
1 2V5
1 2 3V1 V2
V3ltV2
V3gt0
V3ltV4
V5ltV4
V3ltV5
V3ltV1
V3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 2
Lecture SourcesRequired reading1 Algorithms for Constraint Satisfaction Problems Mackworth and
Freuder AIJ852 Sections 31 32 33 Chapter 3 Constraint Processing Dechter
Recommended1 Sections 34mdash310 Chapter 3 Constraint Processing Dechter2 Networks of Constraints Fundamental Properties and Application
to Picture Processing Montanari Information Sciences 743 Consistency in Networks of Relations Mackworth AIJ77 4 Constraint Propagation with Interval Labels Davis AIJ875 Path Consistency on Triangulated Constraint Graphs Bliek amp Sam-
Haroud IJCAI99
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 3
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 4
Consistency checkingMotivation bull CSP are solved with search (conditioning)bull Search performance is affected by
- problem size- amount of backtracking
bull Backtracking may yield thrashing
ThrashingExploring non-promising sub-trees and rediscovering the same inconsistencies over and over again
Malady of backtrack search
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 5
(Some) causes of thrashingSearch order
V1 V2 V3 V4 V5
What happens in search if webull do not check CV3 (node inconsistency)bull do not check constraint CV3V5 (arc inconsistency)bull do not check constraints CV3V4 CV3V5 and CV4V5 (path
inconsistency)
1 2V4
1 2 3
0 1 2
1 2V5
1 2 3V1 V2
V3ltV2
V3gt0
V3ltV4
V5ltV4
V3ltV5
V3ltV1
V3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 3
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 4
Consistency checkingMotivation bull CSP are solved with search (conditioning)bull Search performance is affected by
- problem size- amount of backtracking
bull Backtracking may yield thrashing
ThrashingExploring non-promising sub-trees and rediscovering the same inconsistencies over and over again
Malady of backtrack search
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 5
(Some) causes of thrashingSearch order
V1 V2 V3 V4 V5
What happens in search if webull do not check CV3 (node inconsistency)bull do not check constraint CV3V5 (arc inconsistency)bull do not check constraints CV3V4 CV3V5 and CV4V5 (path
inconsistency)
1 2V4
1 2 3
0 1 2
1 2V5
1 2 3V1 V2
V3ltV2
V3gt0
V3ltV4
V5ltV4
V3ltV5
V3ltV1
V3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 4
Consistency checkingMotivation bull CSP are solved with search (conditioning)bull Search performance is affected by
- problem size- amount of backtracking
bull Backtracking may yield thrashing
ThrashingExploring non-promising sub-trees and rediscovering the same inconsistencies over and over again
Malady of backtrack search
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 5
(Some) causes of thrashingSearch order
V1 V2 V3 V4 V5
What happens in search if webull do not check CV3 (node inconsistency)bull do not check constraint CV3V5 (arc inconsistency)bull do not check constraints CV3V4 CV3V5 and CV4V5 (path
inconsistency)
1 2V4
1 2 3
0 1 2
1 2V5
1 2 3V1 V2
V3ltV2
V3gt0
V3ltV4
V5ltV4
V3ltV5
V3ltV1
V3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 5
(Some) causes of thrashingSearch order
V1 V2 V3 V4 V5
What happens in search if webull do not check CV3 (node inconsistency)bull do not check constraint CV3V5 (arc inconsistency)bull do not check constraints CV3V4 CV3V5 and CV4V5 (path
inconsistency)
1 2V4
1 2 3
0 1 2
1 2V5
1 2 3V1 V2
V3ltV2
V3gt0
V3ltV4
V5ltV4
V3ltV5
V3ltV1
V3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 6
Consistency checkingGoal eliminate inconsistent combinations
Algorithms (for binary constraints)
bull Node consistencybull Arc consistency (AC-1 AC-2 AC-3 AC-7 AC-31 etc)bull Path consistency (PC-1 PC-2 DPC PPC etc)bull Constraints of arbitrary arity
ndash Waltz algorithm ancestor of ACsndash Generalized arc-consistency (Dechter Section 351 )ndash Relational m-consistency (Dechter Section 81)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 7
Overview of Recommended Reading
bull Davis AIJ77
ndash Focuses on the Waltz algorithm ndash Studies its performance and quiescence for given
bull Constraint types (bounded diff algebraic etc)bull Domains types (continuous or finite)
bull Mackworth AIJ77ndash presents NC AC-1 AC-2 PC-1 PC-2
bull Mackworth and Freuder AIJ85
ndash studies their complexity Mackworth and Freuder concentrate on finite domains More people work on finite domains than on continuous ones Continuous domains can be quite tough
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 8
Constraint Propagation with Interval Labels Ernest Davis
bull `Old paper (1987) terminology slightly differentbull Interval labels continuous domains
ndash Section 8 sign labels (discrete)bull Concerned with Waltz algorithm (eg
quiescence completeness)bull Constraint types vs domain types (Table 3)bull Addresses applications of reasoning about
ndash Physical Systems (circuit SPAM)ndash time relations (TMM)
Advice read Section 3 more if you wish
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 9
Waltz algorithm for label inference
bull REFINE(C(Vi Vk Vm Vn) Vi) finds a new label for Vi consistent with C
bull REVISE(C (Vi Vk Vm Vn)) refines the domains of Vi Vk Vm Vn by iterating over these variables until quiescence (ie no domains is further refined)
bull Waltz Algorithmndash revises all constraints by iterating over each constraint connected to a
variable whose domain has been revisedndash Is the ancestor of arc-consistency
C
Vk Vm Vn
Vi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 10
WARNINGrarr Completeness (ie for solving the CSP) Running the Waltz
Algorithm does not solve the problem
A=2 B=3 is still not a solution
rarr Quiescence The Waltz algorithm may go into infinite loops even if problem is solvable
x [0 100] x = y
y [0 100] x = 2y
rarr Davis characterizes the completeness and quiescence of the Waltz algorithm (see Table 3) in terms ofndash constraint types
ndash domain types
1 2 3 2 3 4
BA BA
2 3 2 3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 11
Importance of this paper Establishes that constraints of bounded differences
(temporal reasoning) can be efficiently solved by the Waltz algorithm (O(n3) n number of variables)
Early paper that attracts attention on the difficulty of label propagation in interval labels (continuous domains)
This work has been continued by Faltings (AIJ 92) who studied the early-quiescence problem of the Waltz algorithm
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 12
Basic consistency algorithms
Examining finite binary CSPs and their complexity
Notation
Given variables i j k with values x y z the predicate
Pijk(x y z) is true iff the 3-tuple x y z Cijk
Node consistency checking Pi(x)
Arc consistency checking Pij(xy)
Path consistency bit-matrix manipulation
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 13
Worst-case complexity as a function of the input parameters
Upper bound f(n) is O(g(n)) means that f(n) cg(n)
f grows as g or slower
Lower bound f(n) is (h(n)) means that f(n) ch(n)
f grows as g or faster
Input parameters for a CSP
n = number of variables
a = (max) size of a domain
dk = degree of Vk ( n-1)
e = number of edges (or constraints) [(n-1) n(n-1)2]
Worst-case asymptotic complexitytime
space
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 14
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 15
Node consistency (NC)Procedure NC(i)
Di Di x | Pi(x)
Begin
for i 1 until n do NC(i)
end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 16
Complexity of NC Procedure of NC(i)
Di Di x | Pi(x) Begin for i 1 until n do NC(i)end
bull For each variable we check a valuesbull We have n variables we do na checksbull NC is O(an)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 17
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 18
Arc-consistency Adapted from Dechter
Definition Given a constraint graph G
bull A variable Vi is arc-consistent relative to Vj iff for every value aDVi there exists a value bDVj | (a b)CViVj
bull The constraint CViVj is arc-consistent iff ndash Vi is arc-consistent relative to Vj and ndash Vj is arc-consistent relative to Vi
bull A binary CSP is arc-consistent iff every constraint (or sub-graph of size 2) is arc-consistent
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 19
Procedure ReviseRevises the domains of a variable i
Procedure Revise(ij) Begin
DELETE false for each x Di do
if there is no y Dj such that Pij(x y) then begin
delete x from Di
DELETE true end return DELETE end
bull Revise is directionalbull What is the complexity of Revise
a2
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 20
Revise example R Dechter
Apply the Revise procedure to the following example
5 6 15 1 2 10
YX+Y = 10X
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 21
Solution DVi DVi Vi (CViVj DVi)
This is actually equivalent to DVi Vi (CViVj DVi)
Effect of Revise Adapted from Dechter
Question Given
bull two variables Vi and Vj
bull their domains DVi and DVj and
bull the constraint CViVj
write the effect of the Revise procedure as a sequence of operations in relational algebra
Hintbull Think about the domain DVi as a unary constraint CVi and
bull consider the composition of this unary constraint and the binary one
1
22
3
1
2
3
1
2
3
Vi VjVjVi
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 22
Arc Consistency (AC-1)Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j 4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE ( REVISE(i j) or CHANGE )8 end9 until not CHANGE10 end
bull AC-1 does not update Q the queue of arcsbull No algorithm can have time complexity below O(ea2)bull Alert Algorithms do not but should test for empty domains
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Warning
bull What I donrsquot like about the algorithms as specified in most papers is that they do not check for domain wipe-out
bull In your code always check for domain wipe out and terminateinterrupt the algorithm when that occurs
bull In practice may save lots of CC and cycles
23
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 24
Arc consistency
1 AC may discover the solution Example borrowed from Dechter
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
V2 V3
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 25
Arc consistency
2 AC may discover inconsistency Example borrowed from Dechter
1 2 3
1 2 3 1 2 3 YltZ
ZltX
ZY
X
XltY
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 26
NC amp AC Example courtesy of M Fromherz
In the temporal problem below
1 AC propagates bound
2 Unary constraint xgt3 is imposed
3 AC propagates bounds again
[0 10]
[0 10]
x y-3
x
y
[0 7]
[3 10]
x y-3
x
y
[4 7]
[7 10]
x y-3
x
y
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 27
Complexity of AC-1Procedure AC-11 begin2 for i 1 until n do NC(i)3 Q (i j) | (ij) arcs(G) i j4 repeat5 begin6 CHANGE false7 for each (i j) Q do CHANGE (REVISE(i j) or CHANGE)8 end9 until not CHANGE10 end
Note Q is not modified and |Q| = 2ebull 4 9 repeats at most na timesbull Each iteration has |Q| = 2e calls to REVISEbull Revise requires at most a2 checks of Pij
AC-1 is O(a3 n e)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 28
AC versions
bull AC-1 does not update Q the queue of arcs
bull AC-2 iterates over arcs connected to at least one node whose domain has been modified Nodes are ordered
bull AC-3 same as AC-2 nodes are not ordered
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 29
Arc consistency (AC-3)AC-3 iterates over arcs connected to at least one
node whose domain has been modified
Procedure AC-31 begin2 for i 1 until n do NC(i)3 Q (i j) | (i j) arcs(G) i j 4 While Q is not empty do5 begin6 select and delete any arc (k m) from Q7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m 8 end9 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 30
Complexity of AC-3Procedure AC-3
1 begin
2 for i 1 until n do NC(i)
3 Q (i j) | (i j) arcs(G) i j
4 While Q is not empty do
5 begin
6 select and delete any arc (k m) from Q
7 If Revise(k m) then Q Q (i k) | (i k) arcs(G) i k i m
8 end
9 end
bull First |Q| = 2e then it grows and shrinks 48
bull Worst case ndash 1 element is deleted from DVk per iteration
ndash none of the arcs added is in Q
bull Line 7 a(dk - 1)
bull Lines 4 - 8
bull Revise a2 checks of Pij
AC-3 is O(a2(2e + a(2e-n)))
Connected graph (e n ndash 1) AC-3 is O(a3e)
If AC-p AC-3 is O(a2e) AC-3 is (a2e) Complete graph O(a3n2)
)2(2121
neaedaen
k k
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 31
Example Apply AC-3Example Apply AC-3 Thanks to Xu Lin
DV1 = 1 2 3 4 5
DV2 = 1 2 3 4 5
DV3 = 1 2 3 4 5
DV4 = 1 2 3 4 5
CV2V3 = (2 2) (4 5) (2 5) (3 5) (2 3) (5 1) (1 2) (5 3) (2 1) (1 1)
CV1V3 = (5 5) (2 4) (3 5) (3 3) (5 3) (4 4) (5 4) (3 4) (1 1) (3 1)
CV2V4 = (1 2) (3 2) (3 1) (4 5) (2 3) (4 1) (1 1) (4 3) (2 2) (1 5)
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
V1
V3
V2
V4
V1
V3
V2
V4 1 3 5 1 2 3 5
1 2 3 4 1 3 5
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 32
Applying AC-3 Thanks to Xu Lin
bull Queue = CV2 V4 CV4V2 CV1V3 CV2V3 CV3 V1 CV3V2
bull Revise(V2V4) DV2 DV2 5 = 1 2 3 4
bull Queue = CV4V2 CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V4 V2) DV4 DV4 4 = 1 2 3 5
bull Queue = CV1V3 CV2V3 CV3 V1 CV3 V2
bull Revise(V1 V3) DV1 1 2 3 4 5
bull Queue = CV2V3 CV3 V1 CV3 V2
bull Revise(V2 V3) DV2 1 2 3 4
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 33
Applying AC-3 (cont) Thanks to Xu Lin
bull Queue = CV3 V1 CV3 V2
bull Revise(V3 V1) DV3 DV3 2 = 1 3 4 5
bull Queue = CV2 V3 CV3 V2
bull Revise(V2 V3) DV2 DV2
bull Queue = CV3 V2
bull Revise(V3 V2) DV3 1 3 5
bull Queue = CV1 V3
bull Revise(V1 V3) DV1 1 3 5 END
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 34
Main ImprovementsMohr amp Henderson (AIJ 86) bull AC-3 O(a3e) AC-4 O(a2e)bull AC-4 is optimalbull Trade repetition of consistency-check operations with heavy
bookkeeping on which and how many values support a given value for a given variable
bull Data structures it usesndash m values that are active not filteredndash s lists all vvps that support a given vvpndash counter given a vvp provides the number of support provided by a
given variable
bull How it proceeds1 Generates data structures2 Prepares data structures3 Iterates over constraints while updating support in data structures
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 35
Step 1 Generate 3 data structures
bull m and s have as many rows as there are vvprsquos in the problembull counter has as many rows as there are tuples in the constraints
TV
TV
TV
TV
TV
m
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
NILV
NILV
NILV
NILV
NILV
s
)4(
)2(
)3(
)2(
)5(
4
2
3
3
4
04)(
01)(
01)(
02)(
03)(
31
32
24
24
24
VV
VV
VV
VV
VV
counter
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 36
Step 2 Prepare data structuresData structures s and counter
bull Checks for every constraint CViVj all tuples Vi=ai Vj=bj_)bull When the tuple is allowed then update
ndash s(Vjbj) s(Vjbj) (Vi ai) andndash counter(Vjbj) (Vjbj) + 1
Update counter ((V2 V3) 2) to value 1Update counter ((V3 V2) 2) to value 1Update s-htable (V2 2) to value ((V3 2))Update s-htable (V3 2) to value ((V2 2))
Update counter ((V2 V3) 4) to value 1Update counter ((V3 V2) 5) to value 1Update s-htable (V2 4) to value ((V3 5))Update s-htable (V3 5) to value ((V2 4))
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 37
Constraints CV2V3 and CV3V2 S
(V4 5) Nil
(V3 2) ((V2 1) (V2 2))
(V3 3) ((V2 5) (V2 2))
(V2 2) ((V31) (V33) (V3 5) (V32))
(V3 1) ((V2 1) (V2 2) (V2 5))
(V2 3) ((V3 5))
(V1 2) Nil
(V2 1) ((V3 1) (V3 2))
(V1 3) Nil
(V3 4) Nil
(V4 2) Nil
(V3 5) ((V2 3) (V2 2) (V2 4))
(v4 3) Nil
(V1 1) Nil
(V2 4) ((V3 5))
(V2 5) ((V3 3) (V3 1))
(V4 1) Nil
(V1 4) Nil
(V1 5) Nil
(V4 4) Nil
Counter(V4 V2) 3 0
(V4 V2) 2 0
(V4 V2) 1 0
(V2 V3) 1 2
(V2 V3) 3 4
(V4 V2) 5 1
(V2 V4) 1 0
(V2 V3) 4 0
(V4 V2) 4 1
(V2 V4) 2 0
(V2 V3) 5 0
(V2 V4) 3 2
(V2 V4) 4 0
(V2 V4) 5 0
(V3 V1) 1 0
(V3 V1) 2 0
(V3 V1) 3 0
hellip hellip
(V3 V2) 4 0
Etchellip Etc
Updating m
Note that (V3 V2)4 0 thus
we remove 4 from the domain of V3
and update (V3 4) nil in m
Updating counter
Since 4 is removed from DV3 then
for every (Vk l) | (V3 4) s[(Vk l)]
we decrement counter[(Vk V3) l] by 1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 38
Summary of arc-consistency algorithmsbull AC-4 is optimal (worst-case) [Mohr amp Henderson AIJ 86]
bull Warning worst-case complexity is pessimistic Better worst-case complexity AC-4
Better average behavior AC-3 [Wallace IJCAI 93]
bull AC-5 special constraints [Van Hentenryck Deville Teng 92]
functional anti-functional and monotonic constraints
bull AC-6 AC-7 general but rely heavily on data structures for bookkeeping[Bessiegravere amp Reacutegin]
bull Now back to AC-3 AC-2000 AC-2001equivAC-31 AC33 etc
bull Non-binary constraints ndash GAC (general) [Mohr amp Masini 1988]
ndash all-different (dedicated) [Reacutegin 94]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 39
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 40
CSP parameters lsaquon a t drsaquobull n is number of variablesbull a is maximum domain sizebull t is constraint tightness
bull d is constraint density
where e is the constraints emin=(n-1) and emax = n(n-1)2
Lately we use constraint ratio p = eemax
rarr Constraints in random problems often generated uniform
rarr Use only connected graphs (throw the unconnected ones away)
tuplesall
tuplesforbiddent
)(
)(
minmax
min
ee
eed
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 41
Criteria for performance comparison
1 Bounding time and space complexity (theoretical)ndash worst-case alwaysndash average-case neverndash best- case sometimes
2 Counting CC and NV (theoretical empirical)
3 Measuring CPU time (empirical)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 42
Performance comparison Courtesy of Lin XU
AC-7
AC-4
AC-3
AC-3 AC-7 AC-4 on n=10a=10td=06 displaying CC and CPU time
AC-4
AC-7
AC-3
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 43
Wisdom () Free adaptation from Bessiegravere
bull When a single constraint check is very expensive to make use AC-7
bull When there is a lot of propagation use AC-4bull When little propagation and constraint checks
are cheap use AC-3x
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC2001
bull When checking (Via) against Vj
ndash Keep track of the Vj value that supports (Via)
ndash Last((Via)Vi)
bull Next time when checking again (Via) against Vj we start from Last((Via)Vi) and donrsquot have to traverse again the domain of Vj again or list of tuples in CViVj
bull Big savings
44
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Performance comparison Courtesy of Shant
45
AC3 AC31 AC4 on on n=40a=16td=015 displaying CC and CPU time
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
AC-what
Instructorrsquos personal opinionbull Used to recommend using AC-3bull Now recommend using AC2001bull Do the project on AC- if you are curious [Reacutegin 03]
46
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 47
AC is not enough Example borrowed from Dechter
Arc-consistentSatisfiable
seek higher levels of consistency
V1
a b
a b a bV2 V3
=
V1
b a
a b b aV2 V3
=
=
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 48
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 49
Consistency of a pathA path (V0 V1 V2 hellip Vm) of length m is consistent iff bull for any value xDV0 and for any value yDVm that are consistent (ie PV0 Vm(x y))
a sequence of values z1 z2 hellip zm-1 in the domains of variables V1 V2 hellip Vm-1 such that all constraints between them (along the path not across it) are satisfied
(ie PV0 V1(x z1) PV1 V2(z1 z2) hellip PVm-1 Vm(zm-1 zm) )
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 50
Note The same variable can appear more than once in the path
Every time it may have a different value
Constraints considered PV0Vm and those along the path
All other constraints are neglected
for all x DV0 for all y DVm
V0 Vm
Vm-1
V2
V1
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 51
Example consistency of a path Check path length = 2 3 4 5 6
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 52
Path consistency definition
A path of length m is path consistent A CSP is path consistent Property of a
CSP
Definition A CSP is path consistent (PC) iff every path is
consistent (ie any length of path)
Question should we enumerate every path of any length
Answer No only length 2 thanks to [Mackworth AIJ77]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 53
Making a CSP Path Consistent (PC)
Special case Complete graphTheorem In a complete graph if every path of length 2 is
consistent the network is path consistent [Mackworth AIJ77]
PC-1 two operations composition and intersection
Proof by induction
Special case Triangulated graphTheorem In a triangulated graph if every path of length 2 is
consistent the network is path consistent [Bliek amp Sam-Haroud lsquo99]
PPC (partially path consistent) PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 54
Tools for PC-1
Two operators
1 Constraint composition ( bull )
R13 = R12 bull R23
2 Constraint intersection ( )
R13 R13 old R13 induced
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 55
Path consistency (PC-1)Achieved by composition and intersection (of binary relations
expressed as matrices) over all paths of length twoProcedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 56
Properties of PC-1Discrete CSPs [Montanari74]
1 PC-1 terminates2 PC-1 results in a path consistent CSP
bull PC-1 terminates It is complete sound (for finding PC network)
bull PC-2 Improves PC-1 similar to how AC3 improves AC-1
Complexity of PC-1
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
57
Complexity of PC-1Procedure PC-11 Begin2 Yn R3 repeat4 begin5 Y0 Yn
6 For k 1 until n do7 For i 1 until n do8 For j 1 until n do
9 Ylij Yl-1
ij Yl-1ik bull Yl-1
kk bull Yl-1kj
10 end11 until Yn = Y0
12 Y Yn
10 end
Line 9 a3
Lines 6ndash10 n3 a3
Line 3 at most n2 relations x a2 elements
PC-1 is O(a5n5)
Basic Consistency Methods
PC-2 is O(a5n3) and (a3n3)
PC-1 PC-2 are specified using constraint composition
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 58
Some improvementsbull Mohr amp Henderson (AIJ 86)
ndash PC-2 O(a5n3) PC-3 O(a3n3)
ndash Open question PC-3 optimal
bull Han amp Lee (AIJ 88)ndash PC-3 is incorrect
ndash PC-4 O(a3n3) space and time
bull Singh (ICTAI 95)ndash PC-5 uses ideas of AC-6 (support bookkeeping)
bull Alsondash PC8 iterates over domains not constraints [Chmeiss amp Jeacutegou 1998]
ndash PC2001 an improvement over PC8 not tested [Bessiegravere et al 2005]
Note PC is seldom used in practical applications unless in presence of special type of constraints (eg bounded difference)
Project
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 59
Path consistency as inference of binary constraints
Path consistency corresponds to inferring a new constraint
(alternatively tightening an existing constraint) between every two
variables given the constraints that link them to a third variable
Considers all subgraphs of 3 variables
3-consistency
B
C
A
B lt C
A lt B
B
C
AA lt B
A lt C
B lt C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 60
Path consistency as inference of binary constraints
Another example
V4
V3
a b
V4
V2
V1
a b
V3
a b
a b
V2
a b
V1
a b
a b
=
=a b a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 61
Question Adapted from Dechter
Given three variables Vi Vk and Vj and the constraints CViVk CViVj and CVkVj write the effect of PC as a sequence of operations in relational algebra
B
C
A
B lt C
A lt B
A + 3 gt C
B
C
A
A lt B
A + 3 gt C
A lt C
B lt C
B
C
A
A lt B
-3 lt A ndashC lt 0
B lt C
Solution CViVj CViVj ij(CViVk CVkVj)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 62
Constraint propagation courtesy of Dechter
After Arc-consistency
After Path-consistency
bull Are these CSPs the samendash Which one is more explicitndash Are they equivalent
bull The more propagationndash the more explicit the constraintsndash the more search is directed towards a solution
1
2
3
1
2
3
1
2 2
3
( 0 1 )
( 0 1 )( 0 1 )
( 0 1 )
( 0 1 )( 0 1 )
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 63
Arc-consistent
Path-consistent
PC can detect unsatisfiability
V3
a b
V4
a bV2
V1 a b
a b
a b
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 64
bull Questionndash Is this CSP 3-consistent ndash is it 2-consistent
bull Lesson ndash 3-consistency does not guarantee 2-consistency
Warning Does 3-consistency guarantee 2-consistency
red blue
A
B
red
red blue
red
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 65
PC is not enough
Arc-consistent
Path-consistent
Satisfiable
we should seek (even) higher levels of consistency k-consistency k = 1 2 3 hellip hellipfollowing lecture
a b c
V2
a b c
V3
a b c
V1
a b c
V4
a b cV7
a b c V5
a b c
V6
All mutex constraints
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 66
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 67
MinimalityPC tightens the binary constraints
The tightest possible binary constraints yield the minimal network
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Notebull Minimal path consistentbull The definition of minimal CSP is concerned with binary CSPs
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 68
Minimal CSP
Minimal network aka central problem
Given two values for two variables if they are consistent then they appear in at least one solution
Informallybull In a minimal CSP the remainder of the CSP does not add any
further constraint to the direct constraint CVi Vj between the two variables Vi and Vj [Mackworth
AIJ77]
bull A minimal CSP is perfectly explicit as far as the pair Vi and Vj is concerned the rest of the network does not add any further constraint to the direct constraint CVi Vj [Montanari74]
bull The binary constraints are explicit as possible [Montanari74]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 69
Strong n-consistent
Decomposabilitybull Any combination of values for k variables that satisfy the constraints
between them can be extended to a solution
bull Decomposability generalizes minimality
Minimality any consistent combination of values for
any 2 variables is extendable to a solution
Decomposability any consistent combination of values for
any k variables is extendable to a solution
Decomposable Minimal Path Consistent
n-consistent Solvable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 70
Relations to (theory of) DB
CSP DatabaseMinimal bull |C|-wise consistent
bull The relations join completely
Decomposable
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 71
Outline1 Motivation and background
2 Node consistency and its complexity
3 Arc consistency and its complexity
4 Criteria for performance comparison and CSP parameters
5 Path consistency and its complexity
6 Global consistency propertiesndash Minimalityndash Decomposability
7 When PC guarantees global consistency
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 72
PC approximates In generalbull Decomposability minimality path consistentbull PC is used to approximate minimality (which is the central problem)
When is the approximation the real thingSpecial casesbull When composition distributes over intersection [Montanari74]
PC-1 on the completed graph guarantees minimality and decomposability
bull When constraints are convex [Bliek amp Sam-Haroud 99]
PPC on the triangulated graph guarantees minimality and decomposability (and the existing edges are as tight as possible)
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 73
PC algorithms and propertyCSP0 Complete
the graph PC-1
CSP0 Triangulate the graph PPC
Result
bull CSP0 is not path consistent or
bull PC-1(CSP0) is path consistent
1 It is tight but could be tighter
2 The graph is complete
Result
bull CSP0 is not path consistent or
bull PPC(CSP0) is path consistent
1 It is generally less tight than PC-1(CSP0)
2 The graph is triangulatedWatch for PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 74
PC algorithms special casesCSPa Complete
the graph PC-124Result [Montanari 74]
bull CSPa is not path consistent or
bull PC-1(CSPa) is
1 Path consistent minimal amp decomposable
2 Graph is complete
With a(bc)=(ab)(bc)
CSPb Triangulatethe graph PPC
Constraint are convex
Result [BampS-H 99]
bull CSPb is not path consistent or
bull PPC(CSPb) is
1 Path consistent minimal decomposable
2 Existing edges are as tight as PC-1(CSPb)
3 Graph is triangulated
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 75
Special conditions examples
bull Distributivity propertyndash Outer loop in PC-1 (PC-3) can be ignored
bull Exploiting special conditions in temporal reasoning ndash Temporal constraints in the Simple Temporal Problem
(STP) composition amp intersectionndash Composition distributes over intersection
bull PC-1 is a generalization of the Floyd-Warshall algorithm (all pairs shortest path)
ndash Convex constraintsbull PPC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 76
Distributivity propertyIn PC-1 two operations
RAB bull (RBC RBC) = (RAB bull RBC) (RAB bull RrsquoBC)
When ( bull ) distributes over ( ) then [Montanari74]
1 PC-1 guarantees that CSP is minimal and decomposable
2 The outer loop of PC-1 can be removed
Intersection
Composition bull
RAB RrsquoBCRBCA
B
C
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Temporal Reasoning constraints of bounded difference
77
Variables X Y Z etc
Constraints a Y-X b ie Y-X = [a b] = I
Composition I 1 bull I2 = [a1 b1] bull [a2 b2] = [a1+ a2 b1+b2] Interpretation ndash intervals indicate distancesndash composition is triangle inequality
Intersection I1 I2 = [max(a1 a2) min(b1 b2)]
Distributivity I1 bull (I2 I3) = (I1 bull I2) (I1 bull I3)
Proof left as an exercise
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods
Example Temporal Reasoning
78
Composition of intervals + Rrsquo13 = R12 + R23 = [4 12]
R01 + R13 = [25] + [3 5] = [5 10]
R01 + R13 = [25] + [4 12] = [6 17]
Intersection of intervals R13 R13 = [4 12] [3 5] = [4 5]
R01 + (R13 R13) = (R01 + R13) (R01 + R13)
R01 + (R13 R13) = [2 5] + [4 5] = [6 10]
(R01 + R13) (R01 + R13) = [5 10] [617] = [6 10]
Here path consistency guarantees minimality and decomposability
Rrsquo13
R13 =[35]
R23=[18]R12=[34]
V1 V3
V2
V0 R01=[25]
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 79
PC-1 on the STP
bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 80
Convex constraints temporal reasoning (again)
Thanks to Xu Lin (2002)
bull Constraints of bounded difference are convex
bull We triangulate the graph (good heuristics exist)
bull Apply PPC restrict propagations in PC to triangles of the graph (and not in the complete graph)
bull According to [Bliek amp Sam-Haroud 99] PPC becomes equivalent to PC thus it guarantees minimality and decomposability
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC
Foundations of Constraint Processing Spring 2009
February 20 2009 Basic Consistency Methods 81
Summary1 Alert Do not confuse a consistency property with the algorithms for
reinforcing it
2 Local consistency methodsndash Remove inconsistent values (node arc consistency)ndash Remove Inconsistent tuples (path consistency)ndash Get us closer to the solutionndash Reduce the lsquosizersquo of the problem amp thrashing during search ndash Are lsquocheaprsquo (ie polynomial time)
3 Global consistency properties are the goal we aim at
4 Sometimes (special constraints graphs etc) local consistency guarantees global consistencyndash Eg Distributivity property in PC row-convex constraints special networks
5 Sometimes enforcing local consistency can be made cheaper than in the general casendash Eg functional constraints for AC triangulated graphs for PC