Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

82
Foundations of Constraint Processing Basic Consistency Methods 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~ cse421 All questions: [email protected] Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 [email protected] Tel: +1(402)472-5444 Basic Consistency Methods

description

Basic Consistency Methods. Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~ cse421 All questions: [email protected] Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 [email protected] Tel: +1(402)472-5444. Lecture Sources. Required reading - PowerPoint PPT Presentation

Transcript of Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Page 1: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 1

Foundations of Constraint ProcessingCSCE421821 Spring 2011

wwwcseunledu~cse421All 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 2: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 3: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 4: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 5: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 6: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 7: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 8: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 9: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 10: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 11: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 12: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 13: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 14: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 15: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 16: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 17: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 18: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 19: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 20: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 21: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 22: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 23: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 24: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 25: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 26: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 26

NC amp AC Example courtesy of M Fromherz

[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

AC propagates boundUnary constraint xgt3 is imposedAC propagates bounds again

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 27: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 28: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 29: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 30: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

bull 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

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 31: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 32: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 33: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 34: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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 proceedsndash Generates data structuresndash Prepares data structuresndash Iterates over constraints while updating support in data structures

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 35: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

MM

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 36: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 37: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 38: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 39: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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 amp CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 40: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 41: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 42: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 42

Performance comparison Courtesy of Lin XU

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

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 43: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 44: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 45: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 46: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 47: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 48: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 49: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 50: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 51: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 52: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 53: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 53

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

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 54: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 54

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

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 55: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 55

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

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 56: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

56

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

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 57: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 57

Enforcing Path Consistency (PC)General 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

General 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

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 58: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods

PPC versus PC

58

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 59: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 59

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

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 60: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 60

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

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 61: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 61

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

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 62: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 62

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

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 63: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 63

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

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 64: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 64

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

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 65: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 65

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

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 66: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 66

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

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 67: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 67

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 68: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 68

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

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 69: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 69

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 constraints to the direct constraint CVi Vj [Montanari74]

bull The binary constraints are explicit as possible [Montanari74]

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 70: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 70

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

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 71: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 71

Relations to (theory of) DB

CSP DatabaseMinimal bull |C|-wise consistent

bull The relations join completely

Decomposable

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 72: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 72

Outline1 Motivation and background

2 Node consistency and its complexity

3 Arc consistency and its complexity

4 Criteria for performance comparison and CSP parameters

5 Path consistency and its complexity

6 Global consistency propertiesndash Minimalityndash Decomposability

7 When PC guarantees global consistency

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 73: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 73

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

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 74: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods

PPC versus PC

74

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 75: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 75

PC Special Case

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

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 76: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

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]

bull PC-1 guarantees that CSP is minimal and decomposablebull The outer loop of PC-1 can be removed

Intersection

Composition bull

RAB RrsquoBCRBCA

B

C

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 77: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods

Condition does not always hold

Constraint composition does not always distribute over constraint intersection

bullR12= R23= Rrsquo23=

bull sdot( cap ) = =sdot

bull( ) cap ( )= cap = sdot sdot

77

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 00 00 00 0

0 00 00 00 0

1 10 01 10 0

0 01 00 01 0

1 00 01 00 0

1 10 01 10 0

0 01 00 01 0

1 10 01 10 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

1 00 01 00 0

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 78: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods

Temporal Reasoning constraints of bounded difference

78

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

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 79: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods

Example Temporal Reasoning

79

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

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 80: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 80

Composition Distributes over

bull PC-1 generalizes Floyd-Warshall algorithm (all-pairs shortest path) where ndash composition is lsquoscalar additionrsquo andndash intersection is lsquoscalar minimalrsquo

bull PC-1 generalizes Warshall algorithm (transitive closure)ndash Composition is logical ORndash Intersection is logical AND

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 81: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 81

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

Basic Consistency Methods 82

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

Page 82: Foundations of Constraint Processing CSCE421/821, Spring 2011 cse.unl/~ cse421

Foundations of Constraint Processing

Basic Consistency Methods 82

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