35
Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 www.cse.unl.edu/~choueiry/ S11- 421-821/ All questions: [email protected] Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 [email protected] Tel: +1(402)472-5444 More on Constraint Consistency Properties & Algorithms

Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Embed Size (px)

Citation preview

Page 1: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 1

Foundations of Constraint ProcessingCSCE421/821, Spring 2011

www.cse.unl.edu/~choueiry/S11-421-821/All questions: [email protected]

Berthe Y. Choueiry (Shu-we-ri)Avery Hall, Room 360

[email protected] Tel: +1(402)472-5444

More on Constraint Consistency

Properties & Algorithms

Page 2: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Outline1. Global properties

2. Local properties– Binary CSPs Dechter Sections 3.1, 3.2, 3.3, 3.4

– Non-Binary CSPs Dechter Sections 3.5.1, 8.1

3. Effects of Consistency Algorithms– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains Dechter Sections 3.5.3

– Weighted CSPs

2

Page 3: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Global Consistency Properties

• Minimality & Decomposability – Originally defined for binary CSPs– Easily extendable to non-binary CSPs

• Minimality Dechter Definition 2.6

– Every constraint is as tight as it can be– Minimality n-consistency– In DB, the relations are said to “join completely”

• Decomposability– Every consistent partial solution can be terminated backtrack

free – Decomposability ≡ strong n-consistency

3

Page 4: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Outline1. Global properties

2. Local properties– Binary CSPs– Non-Binary CSPs

3. Effects– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains– Weighted CSPs

4

Page 5: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Local Properties: Binary CSPs

• Classical ones– Arc, path, i, strong i, (i,j)-consistency

• More recently – Singleton Arc Consistency– Inverse Consistency– Neighborhood Inverse Consistency– (Conservative) Dual consistency

• Special Constraints

5

Page 6: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Classical Local Consistency: Properties

• Arc consistency– Every vvp can be extended to a partial solution of length 2

• Path consistency– Every partial solution of length 2 can be extended to a partial

solution of length 3

• i-consistency– Every partial solution of length (i-1) can be extended to a partial

solution of length i

• (i,j)-consistency– Every partial solution of length i can be extended to a partial

solution of length i+j

6

Page 7: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Classical Local Consistency: Algorithms

• Arc consistency: – AC-1, 2, 3, …, 7, AC-2001, AC-*, …– Effect: domain filtering– Complexity: in n2

• Path consistency– PC-1, 2, 3, …, 8, PC2001, PPC, …– Effect: adds binary constraints, modifies the width of network– Complexity: in n3

• i-consistency– Dechter Figure 3.14 & 3.15– Effect: adds constraints of arity i-1, modifies the arity of network– Complexity: in ni

7

Page 8: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Local Properties: Binary CSPs

• Classical ones– Arc, path, i, strong i, (i,j)-consistency

• More recently – Singleton Arc Consistency– Inverse Consistency– Neighborhood Inverse Consistency– (Conservative) Dual consistency

• Special Constraints

8

Page 9: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Singleton Arc Consistency (SAC)

• Property: The CSP is AC for every vvp• (Sketchy) Algorithm Repeat until no change occurs

Repeat for each variable Repeat for each value in domain

Assign this value to this variable. If the CSP is AC, keep the value. Otherwise, remove it.

• Effect: domain filtering• Note

– Proposed by Debruyne & Bessière, IJCAI 97– Quite expensive, but can be quite effective

9

Page 10: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Inverse Consistency

• Path Inverse Consistency (PIC)– Equivalent to (1,2)-consistency

• Inverse m-consistency– Equivalent to (1,m)-consistency

• Neighborhood Inverse Consistency (NIC)– Every vvp participates in a solution in the CSP

induced by its neighborhood

10

Page 11: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Neighborhood Inverse Consistency (NIC): Algorithm

Repeat until no change occurs

Repeat for each variable

Consider only the neighborhood of the variable

Repeat for each value for the variable

If the value appears in a complete solution for the neighborhood, then keep it.

Otherwise, remove it.• Effect: domain filtering• Note

– Proposed by Freuder & Elfe, AAAI 96– Very effective, very expensive

11

Page 12: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Summary: Binary CSPs

• Arc, path, i-consistency

• (i,j)-consistency

• SAC

• PIC

• (1,m)-consistency

• NIC

12

Page 13: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Local Properties: Binary CSPs

• Classical ones– Arc, path, i, strong i, (i,j)-consistency

• More recently – Singleton Arc Consistency– Inverse Consistency– Neighborhood Inverse Consistency– (Conservative) Dual consistency– Conservative Path Consistency Debruyene ICTAI 99

• Special Constraints

13

Page 14: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

AC for Special Constraints [Van Hentenryck et al. AIJ 92] • Specialized AC algorithms exist for special constraints• Functional

A constraint C is functional with respect to a domain D iff for all vD (respectively wD) there exists at most one wD (respectively vD) such that C(v,w)

• Anti-functional

A constraint C is anti-functional with respect to a domain D iff C is functional with respect to D

• Monotonic

A constraint C is monotonic with respect to a domain D iff there exists a total ordering on D such that, for all v and wD, C(v,w) holds implies C(v’,w)’ holds for all values all v’ and w’D such that v’ v and w’ w

14

Page 15: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Outline1. Global properties

2. Local properties– Binary CSPs– Non-Binary CSPs

3. Effects of Consistency Algorithms– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains– Weighted CSPs

15

Page 16: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 16

How about Non-binary CSPs?

• (Almost) all properties (& algorithms) discussed so far were restricted to binary CSPs

• Consistency properties for non-binary CSPs are the topic of current research

• Mainly, properties and algorithms for:1. Domain filtering techniques (a.k.a. domain reduction, domain

propagation)• Do not change ‘topology’ of network (width/arity)• Do not modify constraints definitions

2. Relational m-consistency

[Dechter, Chap 8]

• Add constraints/change constraint definitions

Page 17: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Non-Binary CSPs1. Domain filtering

– Generalized Arc Consistency (GAC) Dechter 3.5.1– Singleton Generalized Arc Consistency (SGAC)– maxRPWC, rPIC, RPWC, etc. [Bessiere et al., 08]

2. Relational consistency– (strong) Relational m-consistency

• Relational Arc-Consistency (R1C)• Relational Path-Consistency (R2C)

– Relational (i,m)-consistency• i = 1, Relational (1,m)-consistency is a domain filtering technique• i=1 and m=2, Relational (1,m)-consistency is known as rPIC

– Relational (*,m)-consistency (m-wise consistency)

17

Page 18: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

• First introduced by [Mohr & Masini, ECAI 88]• Every value in the domain of every variable has a support in every

constraint in the problem• In every constraint, every vvp participates in a consistent tuple (can

be extended to all other variables in the scope of the constraint)

18

Generalized Arc-Consistency: Property

Page 19: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 19

Generalized Arc-Consistency: Algorithm1• (Sketchy) Algorithm

– Project the constraint on each of the variables in its scope to tighten the domain of the variable.

– As domains are filtered, filter the constraint

– Repeat the above until quiescence

• When constraint is not defined in extension, GAC may be problematic (e.g., NP-hard in TCSP)

Page 20: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 20

Generalized Arc-Consistency: Algorithm2• Another (Sketchy) Algorithm

– Iterate over every combination of a variable and a constraint where it appears (V x, Ci)

– For every value for Vx, identify a support for this value in C i, where a support is a tuple where all vvps in the tuple are alive

– Repeat the above until quiescence

• Does not filter the constraints• Check GAC2001 [Bessière et al., AIJ05]

• When constraint is not defined in extension, GAC may be problematic (e.g., NP-hard in TCSP)

Page 21: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

SGAC• Idea: Similar to SAC• (Sketchy) Algorithm

Repeat until quiescence

For each vvp

Assign the vvp; Enforce GAC on the CSP;

If CSP is GAC, keep the vvp, else remove it

• Note– Costly in practice, but polynomial as long as GAC is polynomial– SGAC has been empirically shown to solve every known 9x9

Sudoku puzzle

21

Page 22: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 22

Relational Consistency

• Dechter generalizes consistency Dechter 8.1.1

properties to non-binary constraints – Relational m-consistency

• Relational 1-consistency relational arc-consistency• Relational 2-consistency relational path-consistency

– Relational (i,m)-consistency• Relational (1,1)consistency GAC

• m-wise consistency (Databases)– Relational (*,m)-consistency

Page 23: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Relational 1-Consistency Dechter Def 8.1

• Property– For every constraint C– Let k be the arity of C– Every consistent partial solution of length k-1 – Can be extended to a consistent partial solution of length k

• (Sketchy) Algorithm Dechter Equation (8.2), (8.3)

– For each constraint C, generate all constraints of arity k-1 by• Joining C with the domain of each variable x in scope of C and

• Projecting result on remaining variables (possibly intersecting with existing constraints)

• Effect: Adds a huge number of new constraints• Complexity: polynomial in the largest scope

23

Page 24: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Relational 2-Consistency Dechter Def 8.2

• Property– For every two constraint C1 and C2

– Let s = scope(C1) scope(C2)

– Every consistent partial solution of length |s| -1

– Can be extended to a consistent partial solution of length |s|

• (Sketchy) Algorithm Dechter Equation (8.4)

– For each constraints C1 and C2, generate all constraints of arity |s| -1 by

• Joining C1, C2, and the domain of a variable (in C1 and C2 ) and• Projecting the result on remaining variables

• Effect: Adds a huge number of new constraints

• Complexity: polynomial in the largest |s|

24

Page 25: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Relational m-Consistency Dechter Def 8.3

• Property– For every m constraints C1 , C2 , .., Cm

– Let s = im scope(Ci)

– Every consistent partial solution of length |s| -1

– Can be extended to a consistent partial solution of length |s|

• (Sketchy) Algorithm Dechter Equation (8.5)

– For each m constraints, generate all constraints of arity |s| -1 by• Joining the m constraints and the domain of a variable (at the

intersection of their scopes) and

• Projecting the result on remaining variables

• Effect: Adds a huge number of new constraints• Complexity: polynomial in the sum of largest 2 scopes

25

Page 26: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Relational (i,m)-Consistency Dechter Def 8.4

• Property– For every m constraints C1 , C2 , .., Cm

– Let s = im scope(Ci)

– Every consistent partial solution of length i– Can be extended to a consistent partial solution of length |s|

• Algorithm Dechter Fig 8.1

– For each m constraints, generate all constraints of arity i by

• Joining the m constraints and the domain of a variable (at the intersection of their scopes) and

• Projecting the result on every combination of i variables

• Effect: Adds a huge number of new constraints, except for i=1• Complexity: exponential in s (largest union of scope of m constraints)

in time and space

26

Page 27: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

m-wise consistency• Property

– For every set of m constraints,– Every tuple in each constraint appears in a consistent solution to the m

constraints– That is, each constraint is as tight as it can be for the set of m constraints

• (Sketchy) Algorithm

Repeat until quiescence

Join each set of m constraints

Project it on each existing constraint to filter the constraint

• Effect: Filters the constraints, w/o introducing new constraints

• Note:– Defined in DB: pairwise consistency, relations join completely– Woodward defined R(*,m)C + new algorithms that are linear space, currently

under evaluation

27

Page 28: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Summary: Non-Binary CSPs1. Domain filtering

– Generalized Arc Consistency (GAC)– Singleton Generalized Arc Consistency (SGAC)– maxRPWC, rPIC, RPWC, etc. [Bessiere et al., 08]

2. Relational consistency– (strong) Relational m-consistency

• Relational Arc-Consistency (R1C)• Relational Path-Consistency (R2C)

– Relational (i,m)-consistency• i = 1, Relational (1,m)-consistency is a domain filtering technique• i=1 and m=2, Relational (1,m)-consistency is known as rPIC

– Relational (*,m)-consistency (m-wise consistency)

28

Page 29: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Outline1. Global properties

2. Local properties– Binary CSPs– Non-Binary CSPs

3. Effects of Consistency Algorithms– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains– Weighted CSPs

29

Page 30: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Effects of Consistency Algorithms

• Filter the domains– Old algorithms: AC-*, GAC-*, etc.– New algorithms: maxRPWC, R(1,m)C, etc.

• Filter the constraints– New algorithms: R(*,m)C

• Add new constraints to the problem– Old algorithms: PC-2, etc.– i-consistency (i > 2), (i,j)-C, RmC, R(i,m)C – Example: Solving the CSPs by Constraint Synthesis

30

Page 31: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 31

Solving CSPs by Constraint Synthesis [Freuder 78]

• From i=2 to i=n, – achieve i-consistency by using (i -1)-arity

constraints to synthesize i-arity constraints, – then use the i-ary constraints to filter

constraints of arity i-1, i-2, etc.

• Process ends – with a unique n-ary constraint – whose tuples are all the solutions to the CSP

Page 32: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Outline1. Global properties

2. Local properties– Binary CSPs– Non-Binary CSPs

3. Effects of Consistency Algorithms– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains– Weighted CSPs

32

Page 33: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency 33

Box Consistency (on interval constraints)

• Domains are (continuous) intervals – Historically also called: continuous CSPs, continuous domains

• Domains are infinite: – We cannot enumerate consistent values/tuples– [Davis, AIJ 87] (see recommended reading) showed that even

AC may be incomplete or not terminate

• We apply consistency (usually, arc-consistency) on the boundaries of the interval

• Sometimes, domains are split, so that boundaries can be further filtered

Page 34: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Weighted CSPs• Weighted CSPs

– Tuples have weights in [0,m], m: intolerable cost– Costs are added ab=min{m,a+b}

• Soft Arc Consistency (Cooper, de Givry, Schiex, etc.)

– VAC: Virtual Arc Consistency– EDAC: Existential Directional Arc Consistency– OSAC: Optimal Soft Arc Consistency

34

Page 35: Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring 2011 choueiry/S11-421-821

Foundations of Constraint Processing

More on Constraint Consistency

Summary1. Global properties

2. Local properties– Binary CSPs– Non-Binary CSPs

3. Effects of Consistency Algorithms– Domain filtering– Constraint filtering– Constraint synthesis

4. Beyond finite, crisp CSPs– Continuous domains– Weighted CSPs

35