Title: Consistency:
1Consistency Algorithms
- Foundations of Constraint Processing
- CSCE421/821, Fall 2005
- www.cse.unl.edu/choueiry/F05-421-821/
- Berthe Y. Choueiry (Shu-we-ri)
- Avery Hall, Room 123B
- choueiry_at_cse.unl.edu
- Tel 1(402)472-5444
2Lecture Sources
- Required reading
- Algorithms for Constraint Satisfaction Problems,
Mackworth and Freuder AIJ'85 - Sections 3.1, 3.2, 3.3. Chapter 3. Constraint
Processing. Dechter - Recommended
- Sections 3.43.10. Chapter 3. Constraint
Processing. Dechter - Networks of Constraints Fundamental Properties
and Application to Picture Processing, Montanari,
Information Sciences 74 - Consistency in Networks of Relations, Mackworth
AIJ'77 - Constraint Propagation with Interval Labels,
Davis, AIJ'87 - Path Consistency on Triangulated Constraint
Graphs, Bliek Sam-Haroud IJCAI'99
3Outline
- Motivation and material
- Node and arc consistency and their complexity
- Criteria for performance comparison and CSP
parameters. - Path consistency and its complexity
- Consistency properties of a CSP
- Other related results box consistency,
constraint synthesis, look-ahead, non-binary
constraints, etc.
4Consistency checking
- Motivation
- CSP are solved with search (conditioning)
- Search performance is affected by
- - problem size
- - amount of backtracking
- Backtracking may yield
- Thrashing
- Exploring non-promising sub-trees and
rediscovering the same inconsistencies over and
over again - ? Malady of backtrack search
5(Some) causes of thrashing
- Search order
- V1, V2, V3, V4, V5
- What happens in search if we
- do not check the constraint on V3 (node
inconsistency) - do not check constraint between V3 and V5 (arc
inconsistency) - do not check constraints between V3V4, V3V5,
and V4V5 (path inconsistency)
6Consistency checking
- Goal eliminate inconsistent combinations
- Algorithms (for binary constraints)
- Node consistency
- Arc consistency (AC-1, AC-2, AC-3, ..., AC-7,
AC-3.1, etc.) - Path consistency (PC-1, PC-2, DPC, PPC, etc.)
- Constraints of arbitrary arity
- Waltz algorithm ancestor of AC's
- Generalized arc-consistency (Dechter, Section
3.5.1 ) - Relational m-consistency (Dechter, Section 8.1)
7Overview of Recommended Reading
- Davis, AIJ'77
- focuses on the Waltz algorithm
- studies its performance and quiescence for given
- constraint types (order relations, bounded diff,
algebraic, etc.) - domains types (continuous or finite)
- Mackworth, AIJ'77
- presents NC, AC-1, AC-2, PC-1, PC-2
- Mackworth and Freuder, AIJ'85
- 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
8Constraint Propagation with Interval Labels
Ernest Davis
- Old' paper (1987) terminology slightly
different - Interval labels continuous domains
- Section 8 sign labels (discrete)
- Concerned with Waltz algorithm (e.g., quiescence,
completeness) - Constraint types vs. domain types (Table 3)
- Addresses applications from reasoning
- about Physical Systems (circuit, SPAM)
- about time relations (TMM)
- ? Advice read Section 3, more if you wish
9Waltz algorithm for label inference
- Refine(C(Vi, Vk, Vm, Vn), Vi) - finds a
- new label for Vi consistent with C.
- Revise(C (Vi, Vk, Vm, Vn)) refines the domains of
Vi, Vk, Vm, Vn by iterating over these variables
until quiescence (no domains is further refined) - Waltz Algorithm revises all constraints by
iterating over each constraint connected to a
variable whose domain has been revised - Waltz Algorithm ? ancestor of arc-consistency
10WARNING
- ? Completeness Running the Waltz Algorithm does
not solve the problem. - A2 and B3 is still not a solution!
- ? Quiescence The Waltz algorithm may go into
infinite loops even if problem is solvable - x ? 0, 100 x y
- y ? 0, 100 x 2y
- ? Davis provides a classification of problems in
terms of completeness and quiescence of the Waltz
algorithm - f(constraint types, domain types), see Table 3
11Importance 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.
12Basic 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(x,y)
- Path consistency bit-matrix manipulation
13Worst-case asymptotic complexity
- Worst-case complexity as a
function of the input parameters - Upper bound f(n) is O(g(n)) means that f(n) ?
c.g(n) - f grows as g or slower
- Lower bound f(n) is ? (h(n)) means that f(n) ?
c.h(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
14Outline
- Motivation and material
- Node arc consistency and their complexity NC,
AC-1, AC-3, AC-4 - Criteria for performance comparison and CSP
parameters. - Path consistency and its complexity
- Consistency properties of a CSP
- Other related results box consistency,
constraint synthesis, look-ahead, non-binary
constraints, etc.
15Node consistency (NC)
- Procedure NC(i)
- Di ? Di ? x Pi(x)
- Begin
- for i ? 1 until n do NC(i)
- end
16Complexity of NC
- Procedure of NC(i)
- Di ?Di ? x Pi(x)
- Begin
- for i ? 1 until n do NC(i)
- end
- For each variable, we check a values
- We have n variables, we do n.a checks
- NC is O(a.n)
17Arc-consistency Adapted from Dechter
- Definition Given a constraint graph G,
- A variable Vi is arc-consistent relative to Vj
iff for every value a?DVi, there exists a value
b?DVj (a, b)?CVi,Vj. - The constraint CVi,Vj is arc-consistent iff
- Vi is arc-consistent relative to Vj and
- Vj is arc-consistent relative to Vi.
- A binary CSP is arc-consistent iff every
constraint (or sub-graph of size 2) is
arc-consistent
18Procedure Revise
- Revises the domains of a variable i
- Procedure Revise(i,j)
- 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
- Revise is directional
- What is the complexity of Revise?
a2
19Revise example R. Dechter
- Apply the Revise procedure to the following
example
20Effect of Revise Adapted from Dechter
- Question
- Given
- two variables Vi and Vj
- their domains DVi and DVj, and
- the constraint CVi,Vj,
- write the effect of the Revise procedure as a
sequence of operations in relational algebra - Hint
- Think about the domain DVi as a unary constraint
CVi and - consider the composition of this unary constraint
and the binary one..
Solution DVi ? DVi ? ??Vi (CVi,Vj
DVi) This is actually equivalent to DVi ? ?Vi
(CVi,Vj DVi)
21Arc consistency (AC-1)
- Procedure AC-1
- 1 begin
- 2 for i ? 1 until n do NC(i)
- 3 Q ? (i, j) (i,j) ? arcs(G), i ? j
- 4 repeat
- 5 begin
- 6 CHANGE ? false
- 7 for each (i, j) ? Q do CHANGE ? (
REVISE(i, j) or CHANGE ) - 8 end
- 9 until CHANGE
- 10 end
- AC-1 does not update Q, the queue of arcs
- No algorithm can have time complexity below
O(ea2)
22Arc consistency
- AC may discover the solution
- Example borrowed from Dechter
23Arc consistency
- 2. AC may discover inconsistency
- Example borrowed from Dechter
24NC AC Example courtesy of M. Fromherz
- In the temporal problem below
- AC propagates bound
- Unary constraint xgt3 is imposed
- AC propagates bounds again
25Complexity of AC-1
- Procedure AC-1
- 1 begin
- 2 for i ? 1 until n do NC(i)
- 3 Q ? (i, j) (i,j) ? arcs(G), i ? j
- 4 repeat
- 5 begin
- 6 CHANGE ? false
- 7 for each (i, j) ? Q do CHANGE ?
(REVISE(i, j) or CHANGE) - 8 end
- 9 until CHANGE
- 10 end
- Note Q is not modified and Q 2e
- 4 ? 9 repeats at most n?a times
- Each iteration has Q 2e calls to REVISE
- Revise requires at most a2 checks of Pij
? AC-1 is O(a3 ? n ? e)
26AC versions
- AC-1 does not update Q, the queue of arcs
- AC-2 iterates over arcs connected to at least one
node whose domain has been modified. Nodes are
ordered. - AC-3 same as AC-2, nodes are not ordered
27Arc consistency (AC-3)
- AC-3 iterates over arcs connected to at least one
node whose domain has been modified - Procedure 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
28Complexity of AC-3
- Procedure 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
- 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
- First Q 2e, then it grows and shrinks 4?8
- Worst case
- 1 element is deleted from DVk per iteration
- none of the arcs added is in Q
- Line 7 a?(dk - 1)
- Lines 4 - 8
- Revise a2 checks of Pij
- ? AC-3 is O(a2(2e a(2e-n)))
- Connected graph (e ? n 1), AC-3 is O(a3e)
- If AC-p, AC-3 is O(a2e) ? AC-3 is ?(a2e)
- Complete graph O(a3n2)
29Example Apply AC-3
- Example 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
- CV2,V3 (2, 2), (4, 5), (2, 5), (3, 5), (2, 3),
(5, 1), (1, 2), (5, 3), (2, 1), (1, 1) - CV1,V3 (5, 5), (2, 4), (3, 5), (3, 3), (5, 3),
(4, 4), (5, 4), (3, 4), (1, 1), (3, 1) - CV2,V4 (1, 2), (3, 2), (3, 1), (4, 5), (2, 3),
(4, 1), (1, 1), (4, 3), (2, 2), (1, 5)
30Applying AC-3 Thanks to Xu Lin
- Queue CV2, V4, CV4,V2, CV1,V3, CV2,V3, CV3,
V1, CV3,V2 - Revise(V2,V4) DV2 ?DV2 \ 5 1, 2, 3, 4
- Queue CV4,V2, CV1,V3, CV2,V3, CV3, V1, CV3,
V2 - Revise(V4, V2) DV4 ? DV4 \ 4 1, 2, 3, 5
- Queue CV1,V3, CV2,V3, CV3, V1, CV3, V2
- Revise(V1, V3) DV1 ? 1, 2, 3, 4, 5
- Queue CV2,V3, CV3, V1, CV3, V2
- Revise(V2, V3) DV2 ? 1, 2, 3, 4
31Applying AC-3 (cont.) Thanks to Xu Lin
- Queue CV3, V1, CV3, V2
- Revise(V3, V1) DV3 ? DV3 \ 2 1, 3, 4, 5
- Queue CV2, V3, CV3, V2
- Revise(V2, V3) DV2 ? DV2
- Queue CV3, V2
- Revise(V3, V2) DV3 ? 1, 3, 5
- Queue CV1, V3
- Revise(V1, V3) DV1 ? 1, 3, 5 END
32 Main Improvements
- Mohr Henderson (AIJ 86)
- AC-3 O(a3e) ? AC-4 O(a2e)
- AC-4 is optimal
- Trade repetition of consistency-check operations
with heavy bookkeeping on which and how many
values support a given value for a given
variable - Data structures it uses
- m values that are active, not filtered
- s lists all vvp's that support a given vvp
- counter given a vvp, provides the number of
support provided by a given variable - How it proceeds
- Generates data structures
- Prepares data structures
- Iterates over constraints while updating support
in data structures
33Step 1 Generate 3 data structures
- m and s have as many rows as there are vvps in
the problem - counter has as many rows as there are tuples in
the constraints
34Step 2 Prepare data structures
- Data structures s and counter.
- Checks for every constraint CVi,Vj all tuples
Viai, Vjbj_) - When the tuple is allowed, then update
- s(Vj,bj) ? s(Vj,bj) ? (Vi, ai) and
- counter(Vj,bj) ? (Vj,bj) 1
- Update counter ((V2, V3), 2) to value 1
- Update counter ((V3, V2), 2) to value 1
- Update s-htable (V2, 2) to value ((V3, 2))
- Update s-htable (V3, 2) to value ((V2, 2))
- Update counter ((V2, V3), 4) to value 1
- Update counter ((V3, V2), 5) to value 1
- Update s-htable (V2, 4) to value ((V3, 5))
- Update s-htable (V3, 5) to value ((V2, 4))
35Constraints CV2,V3 and CV3,V2
S S
(V4, 5) Nil
(V3, 2) ((V2, 1), (V2, 2))
(V3, 3) ((V2, 5), (V2, 2))
(V2, 2) ((V3,1), (V3,3), (V3, 5), (V3,2))
(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 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
(V3, V2), 4 0
Etc 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
36Summary of arc-consistency algorithms
- AC-4 is optimal (worst-case) Mohr Henderson,
AIJ 86 - Warning worst-case complexity is pessimistic.
- Better worst-case complexity AC-4
- Better average behavior AC-3 Wallace,
IJCAI 93 - AC-5 special constraints Van Hentenryck,
Deville, Teng 92 - functional, anti-functional, and monotonic
constraints - AC-6, AC-7 general but rely heavily on data
structures for bookkeeping Bessière Régin - Now, back to AC-3 AC-2000, AC-2001, AC-3.1,
AC3.3, etc. - Non-binary constraints
- GAC (general) Mohr Masini 1988
- all-different (dedicated) Régin, 94
37Outline
- Motivation and material
- Node and arc consistency and their complexity
- Criteria for performance comparison CSP
parameters. - Which AC algorithm to choose? Project results may
tell - Path consistency and its complexity
- Consistency properties of a CSP
- Other related results box consistency,
constraint synthesis, look-ahead, non-binary
CSPs, etc.
38CSP parameters n, a, t, d
- n is number of variables
- a is maximum domain size
- t is constraint tightness
- d is constraint density
- where e is the constraints, emin(n-1), and
emax n(n-1)/2 - Lately, we use constraint ratio p e/emax
- ? Constraints in random problems often generated
uniform - ? Use only connected graphs (throw the
unconnected ones away)
39Criteria for performance comparison
- Bounding time and space complexity (theoretical)
- worst-case
- average-case
- best- case
- Counting the number of constraint checks
(theoretical, empirical) - Measuring CPU time (empirical)
40 Performance comparison Courtesy of Lin XU
AC-4
AC-7
AC-3
41Wisdom (?) Free adaptation from Bessière
- When a single constraint check is very expensive
to make, use AC-7. - When there is a lot of propagation, use AC-4
- When little propagation and constraint checks are
cheap, use AC-3x - Advice? Instructor's personal
opinion - Use AC-3..
42Outline
- Motivation and material
- Node and arc consistency and their complexity
- Criteria for performance comparison and CSP
parameters. - Path consistency and its complexity
- Consistency properties of CSPs
- Other related results box consistency,
constraint synthesis, look-ahead, non-binary
CSPs, etc.
43AC is not enough Example borrowed from Dechter
- Arc-consistent?
- Satisfiable?
- ? seek higher levels of consistency
V
V
1
1
b a
a b
V
V
V
V
2
3
2
a b
3
b a
a b
a b
44Consistency of a path
- A path (V0, V1, V2, , Vm) of length m is
consistent iff - for any value x?DV0 and for any value y?DVm that
are consistent (i.e., PV0 Vm(x, y)) - ? a sequence of values z1, z2, , zm-1 in the
domains of variables V1, V2, , Vm-1, such that
all constraints between them (along the path, not
across it) are satisfied - (i.e., PV0 V1(x, z1) ? PV1 V2(z1, z2) ?
? PVm-1 Vm(zm-1, zm) )
45Note
- ? The same variable can appear more than once in
the path - ? Every time, it may have a different value
- ? Constraints considered PV0,Vm and those along
the path - ? All other constraints are neglected
46Example consistency of a path
- ? Check path length 2, 3, 4, 5, 6, ....
?
?
?
?
?
?
?
?
?
?
?
?
47Path 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 (i.e., any length of path)
- Question should we enumerate every path of any
length? - Answer No, only length 2, thanks to Mackworth
AIJ'77
48 Making a CSP Path Consistent (PC)
- Special case Complete graph
- Theorem In a complete graph, if every path of
length 2 is consistent, the network is path
consistent Mackworth AIJ'77 - ? PC-1 two operations, composition and
intersection - ? Proof by induction.
- Special case Triangulated graph
- Theorem In a triangulated graph, if every path
of length 2 is consistent, the network is path
consistent Bliek Sam-Haroud 99 - ? PPC (partially path consistent) ? PC
49Tools for PC-1
- Two operators
- Constraint composition ( )
- R13 R12 R23
- Constraint intersection ( ? )
- R13? R13, old ? R13, induced
50Path consistency (PC-1)
- Achieved by composition and intersection (of
binary relations expressed as matrices) over all
paths of length two. - Procedure PC-1
- 1 Begin
- 2 Yn ? R
- 3 repeat
- 4 begin
- 5 Y0 ? Yn
- 6 For k ? 1 until n do
- 7 For i ? 1 until n do
- 8 For j ? 1 until n do
- 9 Ylij ? Yl-1ij ? Yl-1ik Yl-1kk Yl-1kj
- 10 end
- 11 until Yn Y0
- 12 Y ? Yn
- 10 end
51Properties of PC-1
- Discrete CSPs Montanari'74
- PC-1 terminates
- PC-1 results in a path consistent CSP
- PC-1 terminates. It is complete, sound (for
finding PC network) - PC-2 Improves to PC-1similarly to (AC-1 ? AC-3)
- Complexity of PC-1..
52Complexity of PC-1
- Procedure PC-1
- 1 Begin
- 2 Yn ? R
- 3 repeat
- 4 begin
- 5 Y0 ? Yn
- 6 For k ? 1 until n do
- 7 For i ? 1 until n do
- 8 For j ? 1 until n do
- 9 Ylij ? Yl-1ij ? Yl-1ik Yl-1kk
Yl-1kj - 10 end
- 11 until Yn Y0
- 12 Y ? Yn
- 10 end
- Line 9 a3
- Lines 610 n3. a3
- Line 3 at most n2 relations x a2 elements
- PC-1 is O(a5n5)
- PC-2 is O(a5n3) and ?(a3n3)
53Some improvements
- Mohr Henderson (AIJ 86)
- PC-2 O(a5n3) ? PC-3 O(a3n3)
- Open question PC-3 optimal?
- Han Lee (AIJ 88)
- PC-3 is incorrect
- PC-4 O(a3n3) space and time
- Singh (ICTAI 95)
- PC-5 uses ideas of AC-6 (support bookkeeping)
- Note PC is seldom used in practical applications
unless in presence of special type of constraints
(e.g., bounded difference)
54Path 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 lt C
55Path consistency as inference of binary
constraints
56Question Adapted from Dechter
- Given three variables Vi, Vk, and Vj and the
constraints CVi,Vk, CVi,Vj, and CVk,Vj, write the
effect of PC as a sequence of operations in
relational algebra.
B
B
A lt B
A lt B
A
A
B lt C
B lt C
C
C
-3 lt A C lt 0
A 3 gt C
Solution CVi,Vj ? CVi,Vj ? ??ij(CVi,Vk
CVk,Vj)
57Constraint propagation courtesy of Dechter
- After Arc-consistency
- After Path-consistency
- Are these CSPs the same?
- Which one is more explicit?
- Are they equivalent?
- The more propagation,
- the more explicit the constraints
- the more search is directed towards a solution
58PC can detect unsatisfiability
- Arc-consistent?
- Path-consistent?
V1
a b
?
?
?
V2
V3
?
a b
a b
a b
?
?
a b
V4
59Outline
- Motivation and material
- Node and arc consistency and their complexity
- Criteria for performance comparison and CSP
parameters. - Which AC algorithm to choose? Project results may
tell! - Path consistency and its complexity
- Consistency properties of a CSP
- Other related results box consistency,
constraint synthesis, look-ahead, non-binary
constraints, etc.
60Consistency properties of a CSP
- (Arc Consistency, AC)
- (Path Consistency, PC)
- Minimality
- Decomposability (ref. lossless join
decomposition) - When PC approximates minimality and
decomposability. - Example temporal reasoning
- (strong) k-consistency
- (i,j)-consistency
61 Minimality
- PC tightens the binary constraints
- The tightest possible binary constraints yield
the minimal network - Minimal network a.k.a. central problem
- Given two values for two variables, if they are
consistent, then they appear in at least one
solution. - Note
- Minimal ? path consistent
- The definition of minimal CSP is concerned with
binary CSPs
62Minimal CSP
- Minimal network a.k.a. central problem
- Given two values for two variables, if they are
consistent, then they appear in at least one
solution. - Informally
- 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 AIJ'77 - 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
Montanari'74 - The binary constraints are explicit as possible.
Montanari'74
63Decomposability
- Any combination of values for k variables that
satisfy the constraints between them can be
extended to a solution. - 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
Minimal ?
Decomposable ?
Path Consistent
?
?
n-consistent ?
Strong n-consistent ?
Solvable
64Relations to (theory of) DB
CSP Database
Minimal Pair-wise consistent
Decomposable Complete join
65PC approximates..
- In general
- Decomposability ? minimality ? path consistent
- PC is used to approximate minimality (which is
the central problem) - When is the approximation the real thing?
- Special cases
- When composition distributes over intersection,
Montanari'74 - PC-1 on the completed graph guarantees
minimality and decomposability - When constraints are convex
Bliek Sam-Haroud 99 - PPC on the triangulated graph guarantees
minimality and decomposability (and the existing
edges are as tight as possible)
66PC algorithms and property
- Result
- CSP0 is not path consistent or
- PC-1(CSP0) is path consistent
- It is tight, but could be tighter
- The graph is complete
- Result
- CSP0 is not path consistent or
- PPC(CSP0) is path consistent
- It is generally less tight than PC-1(CSP0)
- The graph is triangulated
Watch for ?PPC
67PC algorithms special cases
- Result
Montanari 74 - CSPa is not path consistent or
- PC-1(CSPa) is
- Path consistent, minimal decomposable
- Graph is complete
With a?(b?c)(a?b)?(b?c)
CSPb
- Result
BS-H 99 - CSPb is not path consistent or
- PPC(CSPb) is
- Path consistent, minimal, decomposable
- Existing edges are as tight as PC-1(CSPb)
- Graph is triangulated
Triangulatethe graph
PPC
Constraint are convex
68Special conditions examples
- Distributivity property
- 1 loop in PC-1 (PC-3) is sufficient
- Exploiting special conditions in temporal
reasoning - Temporal constraints in the Simple Temporal
Problem (STP) composition intersection - Composition distributes over intersection
- PC-1 is a generalization of the Floyd-Warshall
algorithm (all pairs shortest path) - Convex constraints
- PPC
69Distributivity property
Intersection, ? Composition,
- In PC-1, two operations
-
- RAB (RBC ? R'BC) (RAB RBC) ? (RAB
RBC) - When ( ) distributes over ( ? ), then
Montanari'74 - PC-1 guarantees that CSP is minimal and
decomposable - 1 loop in PC-1 is sufficient
B
RBC
RAB
RBC
A
C
70Temporal reasoning constraints of bounded
difference
- Variables X, Y, Z, etc.
- Constraints a ? Y-X ? b, i.e. Y-X a, b I
- Composition I 1 I2 a1, b1 a2, b2
a1 a2, b1b2 - Interpretation
- intervals indicate distances
- composition is triangle inequality.
- Intersection I1 ? I2 max(a1, a2), min(b1,
b2) - Distributivity I1 (I2 ? I3) (I1 I2) ? (I1
I3) - Proof left as an exercise
71Example constraints of bounded difference
- Composition of intervals
- R13 R12 R23 4, 12
- R01 R13 2,5 3, 5 5, 10
- R01 R'13 2,5 4, 12 6, 17
- Intersection of intervals R13 ? R'13 4, 12
? 3, 5 4, 5 - R01 (R13 ? R'13) (R01 R13) ? (R01 R'13)
- R01 (R13 ? R'13) 2, 5 4, 5 6, 10
- (R01 R13) ? (R01 R'13) 5, 10 ? 6,17
6, 10 - Path consistency guarantees minimality and
decomposability
72PC-1 on the STP
- PC-1 generalizes Floyd-Warshall algorithm
(all-pairs shortest path), where - composition is scalar addition and
- intersection is scalar minimal
73Convex constraints temporal reasoning (again!)
- Thanks to Xu Lin (2002)
- Constraints of bounded difference are convex
- We triangulate the graph (good heuristics exist)
- Apply PPC restrict propagations in PC to
triangles of the graph (and not in the complete
graph) - According to Bliek Sam-Haroud 99 PPC becomes
equivalent to PC, thus it guarantees minimality
and decomposability
74PC is not enough
- Arc-consistent?
- Path-consistent?
- Satisfiable?
- ? we should seek (even) higher levels of
consistency - ? k-consistency, k 1, 2, 3, .
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
75k-consistency
- A CSP is k-consistent iff
- given any consistent instantiation of any (k-1)
distinct variables - there exists an instantiation of any kth variable
such that the k values taken together satisfy all
the constraints among the k variables. - Example (courtesy of Dechter)
3-consistent?
4-consistent?
Q
Q
Q
Q
Q
76Warning Does 3-consistency guarantee
2-consistency?
B
red, blue
red, blue
?
?
A
C
red
red
- Question
- Is this CSP 3-consistent?
- is it 2-consistent?
- Lesson
- 3-consistency does not guarantee 2-consistency
77(Strong) k-consistency definition
- Definitions
- k-consistency vs. strong k-consistency
- k-consistency
- any consistent assignment for (k-1)-variable can
be extended to any kth variable - strong k-consistency
- has to be j-consistent for all j ? k
78(i,j)-consistency definition
- (i,j) consistency
- every consistent instantiation to i variables
- can be extended to every j variables
- Consequently
- 2-consistency i1, j1
- 3-consistency i2, j1
- k-consistency ik-1, j1
- Minimality i2, jn-2
- Decomposability ik, jn-k
79Consistency properties algorithms summary
- New terms AC, PC, minimal CSP, decomposable
CSP, complete graph, triangulated graph, Revise,
AC-1, AC-3, PC-1, PC-2, PPC - Complexity of AC, PC algorithms
- AC tightens domains, PC tightens binary
constraints - Consistency operations in terms of composition,
intersection in relational algebra - Path consistency approximates minimality, which
approximates decomposability - Situations when path consistency guarantees
minimality and decomposability - Strong k-consistency and (i,j)-consistency
80Outline
- Motivation and material
- Node and arc consistency and their complexity
- Criteria for performance comparison and CSP
parameters. - Which AC algorithm to choose? Project results may
tell! - Path consistency and its complexity
- Consistency properties of a CSP
- Other related results
- constraint synthesis,
- box consistency,
- look-ahead,
- non-binary CSPs, etc.
81Constraint synthesis
- k-consistency an alternative view
- Constraint of arity (k-1) are used to synthesize
a constraint of arity k, which is then used to
filter constraints of arity (k-1) - Examples
- 2-consistency DVi ? DVi ? ?Vi (CVi,Vj DVj)
- Projection of binary constraint is used to
tighten unary constraint - 3-consistency CVi,Vj ? CVi,Vj ? ?Vi,Vj(CVi,Vk
CVk,Vj) - Binary constraints are used to synthesize a
ternary constraint - Projection of the ternary constraint is used to
tighten binary constraint - k-consistency Freuder 78, 82
- Constraints of arity (k-1) are used to
synthesize constraints of arity k - Projection of k-ary constraint is used to
tighten (k-1)-ary constraints
82Solving CSPs by Constraint synthesis Freuder 78
- From k2 to kn,
- achieve k-consistency by using (k-1)-arity
constraints to synthesize k-arity constraints, - then use the k-ary constraints to filter
constraints of arity k-1, k-2, etc. - Process ends with a unique n-ary constraint whose
tuples are all the solutions to the CSP
83Interval constraints
- Domains are (continuous) intervals
- Historically also called continuous CSPs,
continuous domains - Domains are infinite
- We cannot enumerate consistent values/tuples
- Davis, AIJ 87 (see recommended reading) showed
that even AC may be incomplete or not terminate - We apply consistency (usually, arc-consistency)
on the boundaries of the interval
84Look-ahead (already discussed)
- Integration of consistency algorithm with search
- AC
- Forward Checking (FC) Haralick Elliott
- Directional Arc-Consistency (DAC) Dechter
- Maintaining arc consistency (MAC) Sabin
Freuder - PC
- Directed path consistency (DPC)
Dechter
85Non-binary CSPs
- (Almost) all algorithms and properties discussed
so far were restricted to binary CSPs - Consistency properties for non-binary CSPs are
the topic of current research. Mainly,
properties and algorithms for - GAC generalized arc-consistency Mohr Masini
- Relational m-consistency Dechter, Chap 8
86Generalized Arc-Consistency
- Conceptually project the constraint on each of
the variables in its scope to tighten the domain
of the variable.
- When constraint is not defined in extension, GAC
may be problematic (e.g., NP-hard in TCSP)
87Relational consistency
- Dechter (see Section 8.1.1) generalizes
consistency properties to non-binary constraints
as relational m-consistency - Relational 1-consistency relational
arc-consistency GAC - Relational 2-consistency relational
path-consistency
88Look-ahead in non-binary CSPs
- In binary CSPs, when a variable is instantiated,
Revise (Vf, Vc) updates the domain of a future
variable Vf that is a neighbor to the current
variable Vc - In non-binary CSPs, a constraint that applies to
a current variable may involve one or more past
variables and one or more future variables. The
question is when to trigger Revise? - There are 5 strategies nFC0, nFC1, , nFC5 in
increasing aggressivity Bessiere et al. AIJ
02 - For example, nFC0 triggers Revise only when all
but one variable has been instantiated
89Related results summary
- Interval constraints box consistency
- Solving CSPs by Constraint synthesis Freuder
- From k2 to kn-1, achieve k-consistency by using
(k-1)-arity constraints to synthesize k-arity
constraints, then filter constraints of arity
k-1, k-2, etc. - Integration with search
- AC
- Forward Checking (FC) Haralick Elliott
- Directional Arc-Consistency (DAC) Dechter
- Maintaining arc consistency (MAC) Sabin
Freuder - PC Directed path consistency (DPC)
Dechter - Non-binary constraints
- Generalized arc consistency (GAC) Mohr
Masini - Relational consistency Dechter
- Non-binary constraints and integration with
search - nFC0, nFC1, , nFC5
- etc.