C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

71
CONSTRAINT SATISFACTION PROBLEMS, PT 2 Instructor: Kris Hauser http://cs.indiana.edu/~hauserk 1

Transcript of C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

Page 1: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

1

CONSTRAINT SATISFACTION PROBLEMS, PT 2Instructor: Kris Hauser

http://cs.indiana.edu/~hauserk

Page 2: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

2

CONSTRAINT PROPAGATION …

… is the process of determining how the constraints and the possible values of one variable affect the possible values of other variables

It is an important form of “least-commitment” reasoning

2

Page 3: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

3

FORWARD CHECKINGWhenever a pair (Xv) is added to assignment A do:

For each variable Y not in A do:

For every constraint C relating Y to the variables in A do:

Remove all values from Y’s domain that do not satisfy C

n = number of variables d = size of initial domains s = maximum number of constraints

involving a given variable (s n-1) Forward checking takes O(nsd) time

Page 4: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

4

FORWARD CHECKING IN MAP COLORING

WA NT Q NSW V SA T

RGB RGB RGB RGB RGB RGB RGB

R RGB RGB RGB RGB RGB RGB

R GB G RGB RGB GB RGB

R B G RB B B RGB

Empty set: the current assignment {(WA R), (Q G), (V B)}does not lead to a solution

4

Page 5: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

5

FORWARD CHECKING IN MAP COLORING

TWA

NT

SA

Q

NSW

V

Contradiction that forward checking did not detect

WA NT Q NSW V SA T

RGB RGB RGB RGB RGB RGB RGB

R RGB RGB RGB RGB RGB RGB

R GB G RGB RGB GB RGB

R B G RB B B RGB

5

Page 6: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

6

FORWARD CHECKING IN MAP COLORING

TWA

NT

SA

Q

NSW

V

Contradiction that forward checking did not detect

WA NT Q NSW V SA T

RGB RGB RGB RGB RGB RGB RGB

R RGB RGB RGB RGB RGB RGB

R GB G RGB RGB GB RGB

R B G RB B B RGB

Detecting this contradiction requires a more powerful constraint propagation technique

6

Page 7: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

7

CONSTRAINT PROPAGATION FOR BINARY CONSTRAINTS

REMOVE-VALUES(X,Y)1. removed false2. For every value v in the domain of Y do

– If there is no value u in the domain of X such that the constraint on (X,Y) is satisfied thena. Remove v from Y‘s domainb. removed true

3. Return removed

Page 8: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

8

CONSTRAINT PROPAGATION FOR BINARY CONSTRAINTS

AC3 1. Initialize queue Q with all variables (not yet

instantiated)

2. While Q doa. X Remove(Q)b. For every (not yet instantiated) variable Y related to

X by a (binary) constraint do– If REMOVE-VALUES(X,Y) then

i. If Y’s domain = then exitii. Insert(Y,Q)

Page 9: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

9

EDGE LABELINGWe consider an image of a scene composed of polyhedral objects such that each vertex is the endpoint of exactly three edges

9

Page 10: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

10

EDGE LABELINGAn “edge extractor” has accurately extracted all the visible edges in the image. The problem is to label each edge as convex (+), concave (-), or occluding () such that the complete labeling is physically possible

10

Page 11: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

11

Convex edges

Concave edgesOccludin

gedges

11

Page 12: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

12

+

- -

++

++

+

The arrow isoriented suchthat the object is on the right ofthe occluding edge

12

Page 13: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

13

ONE POSSIBLE EDGE LABELING

+

++

+

+

+

+

+

++

--

13

Page 14: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

14

JUNCTION TYPES

Fork

L

T

Y

14

Page 15: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

15

JUNCTION LABEL SETS

+ + --

-- - + +

++ +

+

+

--

--

-+

(Waltz, 1975; Mackworth, 1977) 15

Page 16: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

16

EDGE LABELING AS A CSP

A variable is associated with each junction The domain of a variable is the label set

associated with the junction type Constraints: The values assigned to two

adjacent junctions must give the same label to the joining edge

16

Page 17: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

17

AC3 APPLIED TO EDGE LABELINGQ = (X1, X2, X3, ...)

X1

X5

X3

X8

X12

X2

X4

17

Page 18: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

18

+ -

+

-+- -

++

X1

X5

Q = (X1, ...)

18

AC3 APPLIED TO EDGE LABELING

Page 19: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

19

+ -

+

-+- -

++

X1

X5

Q = (X1, ...)

19

Page 20: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

20

+ -

+

-+- -

++

X5

Q = (X5, ...)

20

Page 21: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

21

+

+

+

+---

-- -

+

Q = (X5, ...)

X5

X3

21

Page 22: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

22

+

+

+

+---

-- -

+

Q = (X5, ...)

X5

X3

22

Page 23: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

23

+

+

+

+---

-- -

+

Q = (X3, ...)

X3

23

Page 24: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

24

+

+

+

+

+

-- - + +

++

Q = (X3, ...)

X3

X8

+

24

Page 25: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

25

+

+

+

+

+

-- - + +

++

Q = (X3, ...)

X3

X8

+

25

Page 26: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

26

+

+

+

+

+

-- - + +

++

Q = (X8, ...)

X8

+

26

Page 27: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

27

+

+

- -++

+ + --

+

X12

X8

Q = (X8, ...)

27

Page 28: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

28

COMPLEXITY ANALYSIS OF AC3

n = number of variables d = size of initial domains s = maximum number of

constraints involving a given variable (s n-1)

Each variables is inserted in Q up to d times

REMOVE-VALUES takes O(d2) time

AC3 takes O(ndsd2) = O(nsd3) time

Usually more expensive than forward checking

AC3 1. Initialize queue Q with all variables (not

yet instantiated)

2. While Q doa. X Remove(Q)b. For every (not yet instantiated) variable Y

related to X by a (binary) constraint do– If REMOVE-VALUES(X,Y) then

i. If Y’s domain = then exitii. Insert(Y,Q)

REMOVE-VALUES(X,Y)1. removed false2. For every value v in the domain of Y do

– If there is no value u in the domain of X such that the constraint on (X,Y) is satisfied then

a. Remove v from Y‘s domainb. removed true

3. Return removed

Page 29: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

29

IS AC3 ALL THAT WE NEED?

No !! AC3 can’t detect all contradictions among

binary constraints

X

Z

YXY

XZ YZ

{1, 2}

{1, 2}{1, 2}

29

Page 30: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

30

IS AC3 ALL THAT WE NEED?

No !! AC3 can’t detect all contradictions among

binary constraints

X

Z

YXY

XZ YZ

{1, 2}

{1, 2}{1, 2}

30

REMOVE-VALUES(X,Y)1. removed false2. For every value v in the domain of Y do

– If there is no value u in the domain of X such that the constraint on (X,Y) is satisfied then

a. Remove v from Y‘s domainb. removed true

3. Return removed

Page 31: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

31

IS AC3 ALL THAT WE NEED?

No !! AC3 can’t detect all contradictions among

binary constraints

X

Z

YXY

XZ YZ

{1, 2}

{1, 2}{1, 2}

31

REMOVE-VALUES(X,Y)1. removed false2. For every value v in the domain of Y do

– If there is no value u in the domain of X such that the constraint on (X,Y) is satisfied then

a. Remove v from Y‘s domainb. removed true

3. Return removed

REMOVE-VALUES(X,Y,Z)1. removed false2. For every value w in the domain of Z do

– If there is no pair (u,v) of values in the domains of X and Y verifying the constraint on (X,Y) such that the constraints on (X,Z) and (Y,Z) are satisfied thena. Remove w from Z‘s domainb. removed true

3. Return removed

Page 32: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

32

IS AC3 ALL THAT WE NEED?

No !! AC3 can’t detect all contradictions among

binary constraints

Not all constraints are binary

X

Z

YXY

XZ YZ

{1, 2}

{1, 2}{1, 2}

32

Page 33: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

33

TRADEOFF

Generalizing the constraint propagation algorithm increases its time complexity

Tradeoff between time spent in backtracking search and time spent in constraint propagation

A good tradeoff when all or most constraints are binary is often to combine backtracking with forward checking and/or AC3 (with REMOVE-VALUES for two variables)

33

Page 34: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

34

MODIFIED BACKTRACKING ALGORITHM WITH AC3

CSP-BACKTRACKING(A, var-domains)1. If assignment A is complete then return A2. Run AC3 and update var-domains accordingly3. If a variable has an empty domain then return

failure4. X select a variable not in A5. D select an ordering on the domain of X6. For each value v in D do

a. Add (Xv) to Ab. var-domains forward checking(var-domains, X, v, A)c. If no variable has an empty domain then

(i) result CSP-BACKTRACKING(A, var-domains)(ii) If result failure then return result

d. Remove (Xv) from A

7. Return failure

Page 35: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

35

A COMPLETE EXAMPLE:4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

1) The modified backtracking algorithm starts by calling AC3, which removes no value

35

Page 36: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

36

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

2) The backtracking algorithm then selects a variable and a value for this variable. No heuristic helps in this selection. X1 and the value 1 are arbitrarily selected

36

Page 37: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

37

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

3) The algorithm performs forward checking, which eliminates 2 values in each other variable’s domain

Page 38: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

38

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

4) The algorithm calls AC3

38

Page 39: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

39

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

4) The algorithm calls AC3, which eliminates 3 from the domain of X2

X2 = 3 isincompatiblewith any of the remaining valuesof X3

39

REMOVE-VALUES(X,Y)1. removed false2. For every value v in the domain of Y do

– If there is no value u in the domain of X such that the constraint on (X,Y) is satisfied then

a. Remove v from Y‘s domainb. removed true

3. Return removed

Page 40: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

40

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

4) The algorithm calls AC3, which eliminates 3 from the domain of X2, and 2 from the domain of X3

40

Page 41: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

41

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

4) The algorithm calls AC3, which eliminates 3 from the domain of X2, and 2 from the domain of X3, and 4 from the domain of X3

41

Page 42: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

42

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

5) The domain of X3 is empty backtracking

42

Page 43: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

43

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

6) The algorithm removes 1 from X1’s domain and assign 2 to X1 43

Page 44: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

44

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

7) The algorithm performs forward checking

44

Page 45: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

45

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

8) The algorithm calls AC3

45

Page 46: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

46

4-QUEENS PROBLEM

1

3

2

4

32 41

X1

{1,2,3,4}

X3

{1,2,3,4}X4

{1,2,3,4}

X2

{1,2,3,4}

8) The algorithm calls AC3, which reduces the domains of X3 and X4 to a single value

46

Page 47: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

47

EXPLOITING THE STRUCTURE OF CSP

If the constraint graph contains several components, then solve one independent CSP per component

TWA

NT

SA

Q

NSW

V

47

Page 48: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

48

EXPLOITING THE STRUCTURE OF CSP

If the constraint graph is a tree, then :1. Order the variables from the

root to the leaves (X1, X2, …, Xn)

2. For j = n, n-1, …, 2 callREMOVE-VALUES(Xj, Xi) where Xi is the parent of Xj

3. Assign any valid value to X1

4. For j = 2, …, n doAssign any value to Xj consistent with the

value assigned to its parent Xi

X

Y Z

U V

W

(X, Y, Z, U, V, W)

48

Page 49: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

49

EXPLOITING THE STRUCTURE OF CSP

Whenever a variable is assigned a value by the backtracking algorithm, propagate this value and remove the variable from the constraint graph

WA

NT

SA

Q

NSW

V

49

Page 50: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

50

EXPLOITING THE STRUCTURE OF CSP

Whenever a variable is assigned a value by the backtracking algorithm, propagate this value and remove the variable from the constraint graph

WA

NTQ

NSW

V

If the graph becomes a tree, then proceed as shown in previousslide

50

Page 51: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

51

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

RepresentationVariables Xij for i, j in {1,..,9}

Domains {1,…,9}

Constraints:

XijXik, for jk

Xij Xkj, for ik

XijXmn, for (i,j), (m,n) in same cell

Page 52: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

52

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

RepresentationVariables Xij for i, j in {1,..,9}

Domains {1,…,9}

Constraints:

XijXik, for jk

Xij Xkj, for ik

XijXmn, for (i,j), (m,n) in same cell

Page 53: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

53

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

RepresentationVariables Xij for i, j in {1,..,9}

Domains {1,…,9}

Constraints:

XijXik, for jk

Xij Xkj, for ik

XijXmn, for (i,j), (m,n) in same cell

Can we detect this using constraint propagation?

Page 54: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

54

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

RepresentationVariables Xij for i, j in {1,..,9}

Domains {1,…,9}

Constraints:

XijXik, for jk

Xij Xkj, for ik

XijXmn, for (i,j), (m,n) in same cell

Must detect 9-way interactions

Page 55: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

55

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

???

R18=3

R22=8

R32=6

R37=9

C15=4

C12=9 C2

8=4 C38=1

C33=8

C39=5

Page 56: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

56

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

???

R18=3

R22=8

R32=6

R37=9

C15=4

C12=9 C2

8=4 C38=1

C33=8

C39=5

X18 = (1,3)

Page 57: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

57

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

???

R18=3

R22=8

R32=6

R37=9

C15=4

C12=9 C2

8=4 C38=1

C33=8

C39=5

X18 = (1,3) X2

2 = (3,3)

Page 58: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

58

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

???

R18=3

R22=8

R32=6

R37=9

C15=4

C12=9 C2

8=4 C38=1

C33=8

C39=5

X18 = (1,3) X2

2 = (3,3)X3

2 = (2,3)X3

7 = (3,3)

Page 59: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

59

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=I

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

R18=3

R22=8

R32=6

R37=9

C15=4

C12=9 C2

8=4 C38=1

C33=8

C39=5

X18 = (1,3) X2

2 = (3,3)X3

2 = (2,3)X3

7 = (3,3)

Page 60: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

60

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=I

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

C12 = 9

R12=

{1-9}

Page 61: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

61

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=i

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

C22 = {1-9}C1

2 = 9

R12=

{2-9}

Page 62: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

62

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=I

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

C12 = 9

R12=

{2-9}

X22 = (3,3)

X32 = (2,2)

Page 63: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

63

8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=I

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

C12 = 9

R12=2

X22 = (3,3)

X32 = (2,2)

Page 64: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

64

2 8

5 8

9

3

2

2

9

5

6

9

2

7

7

4

Representation 2VariablesRi

j in {1,…,9}Ci

j in {1,…,9}Xi

j in {(1,1),…,(3,3)}

Constraints:

Rij=k Ck

j=I

Similar constraints between X’s and R’s, X’s and C’s

Rij Ri

k for j k

Cij Ci

k for j k

Xij Xi

k for j k

C12 = 9

R12=2

X22 = (3,3)

X32 = (2,2)

Page 65: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

65

LOCAL SEARCH FOR CSPS

Init: Make an arbitrary assignment Repeat: Modify some variable to reduce # of

violated constraints

Page 66: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

66

BOOLEAN SATISFIABILITY PROBLEMS

Highly successful local search algorithms WalkSAT

See R&N 7.3

p constraints of form ui* uj* uk*= 1 where u* is either u or u

n variables ui, …, un

Page 67: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

67

OBSERVATIONS…

If a CSP has few constraints, local search solves it quicklyRandom starting assignment not too far

from a solutionMillion-queens puzzles solved in < 1min, c.

1990 If a CSP has many constraints, local

search solves it quicklyConstraints “guide” solver to a solution (if

one exists)

Page 68: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

68

HARD SUDOKU’S

1 . . | . . . | . . 2. 9 . | 4 . . | . 5 .. . 6 | . . . | 7 . .------+-------+------. 5 . | 9 . 3 | . . .. . . | . 7 . | . . .. . . | 8 5 . | . 4 .------+-------+------7 . . | . . . | 6 . .. 3 . | . . 9 | . 8 .. . 2 | . . . | . . 1

Human solvers: Lot of logic (deep constraint propagation)

Computer solvers: Lot of backtracking

Page 69: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

69

HARD & EASY 3-SAT PROBLEMS Let R = # of constraints / # of

variables

As n , the fraction of hard problems reduces to 0

Page 70: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

70

RECAP

Constraint propagation, AC3 Taking advantage of CSP structure Local search for CSPs

Page 71: C ONSTRAINT S ATISFACTION P ROBLEMS, P T 2 Instructor: Kris Hauser hauserk 1.

71

NEXT CLASS

Intro to uncertainty R&N 4.3-4, 13.1-2