Chapter 6 R&N ICS 271 Fall 2016 Kalev Kask ICS-271:Notes 5: 1 - - PowerPoint PPT Presentation

chapter 6 r n
SMART_READER_LITE
LIVE PREVIEW

Chapter 6 R&N ICS 271 Fall 2016 Kalev Kask ICS-271:Notes 5: 1 - - PowerPoint PPT Presentation

Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2016 Kalev Kask ICS-271:Notes 5: 1 Outline The constraint network model Variables, domains, constraints, constraint graph, solutions Examples:


slide-1
SLIDE 1

ICS-271:Notes 5: 1

Set 5: Constraint Satisfaction Problems Chapter 6 R&N

ICS 271 Fall 2016 Kalev Kask

slide-2
SLIDE 2

ICS-271:Notes 5: 2

Outline

  • The constraint network model

– Variables, domains, constraints, constraint graph, solutions

  • Examples:

– graph-coloring, 8-queen, cryptarithmetic, crossword puzzles, vision problems,scheduling, design

  • The search space and naive backtracking,
  • The constraint graph
  • Consistency enforcing algorithms

– arc-consistency, AC-1,AC-3

  • Backtracking strategies

– Forward-checking, dynamic variable orderings

  • Special case: solving tree problems
  • Local search for CSPs
slide-3
SLIDE 3

ICS-271:Notes 5: 3

slide-4
SLIDE 4

ICS-271:Notes 5: 4

A B

red green red yellow green red green yellow yellow green yellow red

Constraint Satisfaction

Example: map coloring

Variables - countries (A,B,C,etc.) Values - colors (e.g., red, green, yellow) Constraints: etc. , E D D, A B, A    C A B D E F G

slide-5
SLIDE 5

ICS-271:Notes 5: 5

slide-6
SLIDE 6

ICS-271:Notes 5: 6

slide-7
SLIDE 7

ICS-271:Notes 5: 7

slide-8
SLIDE 8

ICS-271:Notes 5: 8

slide-9
SLIDE 9

ICS-271:Notes 5: 9

Varieties of constraints

  • Unary constraints involve a single variable,

– e.g., SA ≠ green

  • Binary constraints involve pairs of variables,

– e.g., SA ≠ WA

  • Higher-order constraints involve 3 or more variables,

– Clauses in boolean (propositional) logic – e.g., cryptoarithmetic column constraints

slide-10
SLIDE 10

ICS-271:Notes 5: 10

Hard vs Soft Constraints

  • Hard constraints : must be satisfied

– Satisfaction problem

  • Soft constraints : capture preferences

– Optimization problem

slide-11
SLIDE 11

ICS-271:Notes 5: 11

Sudoku

Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints

slide-12
SLIDE 12

ICS-271:Notes 5: 12

Sudoku

Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints

2 3 4 6

2

Constraint propagation

  • Variables: 81 slots
  • Domains =

{1,2,3,4,5,6,7,8,9}

  • Constraints:
  • 27 not-equal
slide-13
SLIDE 13

ICS-271:Notes 5: 13

slide-14
SLIDE 14

ICS-271:Notes 5: 15

slide-15
SLIDE 15

ICS-271:Notes 5: 16

A network of constraints

  • Variables

  • Domains

  • f discrete values:
  • Binary constraints:

– Rij which represent the list of allowed pairs of values, Rij is a subset

  • f the Cartesian product: .
  • Constraint graph:

– A node for each variable and an edge for each constraint

  • Solution:

– An assignment of a value from its domain to each variable such that no constraint is violated.

  • A network of constraints represents the relation of all solutions.

n

,....,X X1

n

,....,D D

1

j ixD

D

} , , ) , ( | ) {( 1

j j i i ij j i n

D x D x R x x ,....,x x sol    

1

X

5

X

4

X

3

X

2

X

slide-16
SLIDE 16

ICS-271:Notes 5: 17

Example : The 4-queen problem Q Q Q Q Q Q Q Q

Place 4 Queens on a chess board of 4x4 such that no two queens reside in the same row, column or diagonal. Standard CSP formulation of the problem:

  • Variables: each row is a variable.

Q Q Q Q

1

X

4

X

3

X

2

X

1 2 3 4

  • Domains:

}. 4 , 3 , 2 , 1 { 

i

D

  • Constraints: There are = 6 constraints involved:

4 2

( )

)} 2 , 4 )( 1 , 4 )( 1 , 3 )( 4 , 2 )( 4 , 1 )( 3 , 1 {(

12 

R )} 3 , 4 )( 1 , 4 )( 4 , 3 )( 2 , 3 )( 3 , 2 )( 1 , 2 )( 4 , 1 )( 2 , 1 {(

13 

R )} 3 , 4 )( 2 , 4 )( 4 , 3 )( 2 , 3 )( 1 , 3 )( 4 , 2 )( 3 , 2 )( 1 , 2 )( 3 , 1 )( 2 , 1 {(

14 

R )} 2 , 4 )( 1 , 4 )( 1 , 3 )( 4 , 2 )( 4 , 1 )( 3 , 1 {(

23 

R )} 3 , 4 )( 1 , 4 )( 4 , 3 )( 2 , 3 )( 3 , 2 )( 1 , 2 )( 4 , 1 )( 2 , 1 {(

24 

R )} 2 , 4 )( 1 , 4 )( 1 , 3 )( 4 , 2 )( 4 , 1 )( 3 , 1 {(

34 

R

  • Constraint Graph :

1

X

2

X

4

X

3

X

slide-17
SLIDE 17

ICS-271:Notes 5: 19

Class scheduling/Timetabling

slide-18
SLIDE 18

ICS-271:Notes 5: 20

Search vs. Inference

  • Search :

– In the space of partial variable-value assignments – Key idea : conditioning

  • Inference :

– Derive new information implied by values/constraints – Key idea : local consistency

slide-19
SLIDE 19

ICS-271:Notes 5: 21

But only dn unique assignments

slide-20
SLIDE 20

ICS-271:Notes 5: 22

slide-21
SLIDE 21

ICS-271:Notes 5: 23

The search space

  • Definition: given an ordering of the variables

– a state:

  • is an assignment to a subset of variables that is consistent.

– Operators:

  • add an assignment to the next variable that does not violate any
  • constraint. How to choose next variable?

– Goal state:

  • a consistent assignment to all the variables.

n

,....,X X1

slide-22
SLIDE 22

ICS-271:Notes 5: 24

slide-23
SLIDE 23

ICS-271:Notes 5: 25

slide-24
SLIDE 24

ICS-271:Notes 5: 26

slide-25
SLIDE 25

ICS-271:Notes 5: 27

slide-26
SLIDE 26

ICS-271:Notes 5: 28

Backtracking

  • Complexity of extending a partial solution:

– Complexity of consistent: O(e log t), t bounds #tuples, e bounds #constraints – Complexity of selectvalue: O(e k log t), k bounds domain size

slide-27
SLIDE 27

ICS-271:Notes 5: 30

The effect of variable ordering

z divides x, y and t

slide-28
SLIDE 28

ICS-271:Notes 5: 31

A coloring problem

slide-29
SLIDE 29

ICS-271:Notes 5: 32

Backtracking Search for a Solution

slide-30
SLIDE 30

ICS-271:Notes 5: 33

Backtracking Search for a Solution

slide-31
SLIDE 31

ICS-271:Notes 5: 34

Backtracking Search for All Solutions

slide-32
SLIDE 32

ICS-271:Notes 5: 35

Summary so far

  • Constraint Satisfaction Problems

– variables, domains, constraints – solution = assignment to all variables such that all constraints are satisfied – constraint graph

  • Search vs Inference:

– conditioning vs local consistency.

  • Search

– Backtracking search :

  • In the space of partial assignments;
  • add consistent var=value assignment at each search space node.
  • If not possible, backtrack

– Effect on search space size on var/val order :

  • Variable order – most constrained variable first
  • Value order – least constraining value first
slide-33
SLIDE 33

ICS-271:Notes 5: 36

The Minimal network: Example: the 4-queen problem

slide-34
SLIDE 34

ICS-271:Notes 5: 37

Inference (Approximation) algorithms

  • Arc-consistency (Waltz, 1972)
  • Path-consistency (Montanari 1974, Mackworth 1977)
  • k-consistency (Freuder 1982)
  • Key Idea :

– Transform the network into smaller and smaller (but equivalent) networks by tightening the domains/constraints.

slide-35
SLIDE 35

ICS-271:Notes 5: 38

Arc-consistency

3 2, 1, 3 2, 1, 3 2, 1, 1  X, Y, Z, T  3 X  Y Y = Z T  Z X  T X Y T Z 3 2, 1,

 =  

slide-36
SLIDE 36

ICS-271:Notes 5: 39

1  X, Y, Z, T  3 X  Y Y = Z T  Z X  T X Y T Z

 =  

1 3 2 3

  • Incorporated into backtracking search
  • Constraint programming languages powerful

approach for modeling and solving combinatorial

  • ptimization problems.

Arc-consistency

slide-37
SLIDE 37

ICS-271:Notes 5: 40

Arc-consistency algorithm

domain of X domain of Y Arc is arc-consistent if for any value of there exist a matching value of Algorithm Revise makes an arc consistent Begin

  • 1. For each a in Di if there is no value b in Dj that is consistent with a then delete a

from the Di. End. Revise is , k is the number of values in each domain.

) (

j i,X

X

i

X

i

X ) (

j i,X

X

) O(k 2

slide-38
SLIDE 38

ICS-271:Notes 5: 41

Algorithm AC-3

  • Begin

– 1. Q <--- put all arcs in the queue in both directions – 2. While Q is not empty do, – 3. Select and delete an arc from the queue Q

  • 4. Revise
  • 5. If Revise changes (reduces) the domain of Xi then add to the

queue all arcs that go to Xi ((Xl,Xi for all l except i). – 6. end-while

  • End
  • Complexity:

– Processing an arc requires O(k^2) steps – There is edges – The number of times each arc can be processed is 2·k – Total complexity is ) (

j i,X

X ) (

j i,X

X

) O(ek 3 e

slide-39
SLIDE 39

ICS-271:Notes 5: 42

Sudoku

Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints

2 3 4 6

2

Constraint propagation

  • Variables: 81 slots
  • Domains =

{1,2,3,4,5,6,7,8,9}

  • Constraints:
  • 27 not-equal
slide-40
SLIDE 40

ICS-271:Notes 5: 43

Sudoku

Each row, column and major block must be all different “Well posed” if it has unique solution Path-consistency or 3-consistency 4-consistency and i-consistency in geeral

slide-41
SLIDE 41

ICS-271:Notes 5: 44

The Effect of Consistency Level

  • After arc(2)-consistency z=5 and l=5 are

removed

  • After path(3)-consistency

– R’_zx – R’_zy – R’_zl – R’_xy – R’_xl – R’_yl

Tighter networks yield smaller search spaces

slide-42
SLIDE 42

ICS-271:Notes 5: 45

  • Before search: (reducing the search space)

– Arc-consistency, path-consistency, k-consistency – Variable ordering (fixed)

  • During search:

– Look-ahead schemes:

  • Variable ordering (Choose the most constraining variable)
  • Value ordering (Choose the least restricting value)

– Look-back schemes:

  • Backjumping
  • Constraint recording
  • Dependency-directed backtracking

Improving Backtracking O(exp(n))

slide-43
SLIDE 43

ICS-271:Notes 5: 46

slide-44
SLIDE 44

ICS-271:Notes 5: 47

Look-ahead: Variable and value orderings

  • Intuition:

– Choose a variable that will detect failures early – Choose a value least likely to yield a dead-end – Approach: apply propagation at each node in the search tree

  • Forward-checking

– Check each unassigned variable separately

  • Maintaining arc-consistency (MAC)

– Apply full arc-consistency

slide-45
SLIDE 45

ICS-271:Notes 5: 48

slide-46
SLIDE 46

ICS-271:Notes 5: 49

slide-47
SLIDE 47

ICS-271:Notes 5: 50

slide-48
SLIDE 48

ICS-271:Notes 5: 51

slide-49
SLIDE 49

ICS-271:Notes 5: 52

slide-50
SLIDE 50

ICS-271:Notes 5: 53

slide-51
SLIDE 51

ICS-271:Notes 5: 54

slide-52
SLIDE 52

ICS-271:Notes 5: 55

slide-53
SLIDE 53

ICS-271:Notes 5: 60

slide-54
SLIDE 54

ICS-271:Notes 5: 62

Summary so far

  • Constraint Satisfaction Problems

– variables, domains, constraints – solution = assignment to all variables such that all constraints are satisfied – constraint graph

  • Search vs Inference:

– conditioning vs local consistency.

  • Search

– In the space of partial assignments; add var=val at each search space node. – Effect on search space size on var/val order :

  • Variable order – most constrained variable first
  • Value order – least constraining value first
  • Inference (local consistency)

– Prune domains/constraints – Arc/path/k-consistency

  • Combining search and local consistency to improve efficiency

– Forward checking (FC) – Maintaining Arc Consistency (MAC)

slide-55
SLIDE 55

ICS-271:Notes 5: 63

Forward-checking on Graph-coloring

) (

2

ek O

) ( ) (

3 2

ek O ek O

FW overhead: MAC overhead:

slide-56
SLIDE 56

ICS-271:Notes 5: 64

Algorithm DVO (DVFC)

slide-57
SLIDE 57

ICS-271:Notes 5: 65

Propositional Satisfiability

  • If Alex goes, then Becky goes:
  • If Chris goes, then Alex goes:
  • Query:

Is it possible that Chris goes to the party but Becky does not?

Example: party problem

) (or, B A B A 

) (or, A C A C 

e? satisfiabl Is 

  C B, A, C B, A  theory nal propositio

slide-58
SLIDE 58

ICS-271:Notes 5: 66

Unit Propagation

  • Arc-consistency for CNFs.
  • Involve a single clause and a single literal
  • Example:
  • Formula:

– C must be true – A must be true – B must be false and true – formula is not satisfiable

A A , ) (  

  • C

C

  C B, A, C B, A 

slide-59
SLIDE 59

ICS-271:Notes 5: 67

Look-ahead for SAT

(Davis-Putnam, Logeman and Laveland, 1962)

slide-60
SLIDE 60

ICS-271:Notes 5: 68

Look-ahead for SAT: DPLL

Only enclosed area will be explored with unit-propagation Backtracking look-ahead with Unit propagation= Generalized arc-consistency (Davis-Putnam, Logeman and Laveland, 1962)

example: (┐A V B) ˄ (┐C V A) ˄ (A V B V D) ˄ (C)

slide-61
SLIDE 61

ICS-271:Notes 5: 70

Look-back:

Backjumping / Learning

  • Backjumping:

– In deadends, go back to the most recent culprit.

  • Learning:

– constraint-recording, no-good recording.

– good-recording

slide-62
SLIDE 62

ICS-271:Notes 5: 72

Backjumping

  • (X1=r,x2=b,x3=b,x4=b,x5=g,x6=r,x7={r,b})
  • (r,b,b,b,g,r) conflict set of x7

– Conflict set : a partial assignment that cannot be extended to the next variable

  • (r,-,b,b,g,-) c.s. of x7
  • (r,-,b,-,-,-,-) minimal conflict-set
  • Leaf deadend: (r,b,b,b,g,r)

– No-good : a partial assignment that cannot be extended to a solution – No-good = internal deadend

  • Every conflict-set is a no-good

– But not other way around (x1=r is a no-good)

?

slide-63
SLIDE 63

ICS-271:Notes 5: 74

slide-64
SLIDE 64

ICS-271:Notes 5: 75

slide-65
SLIDE 65

ICS-271:Notes 5: 76

slide-66
SLIDE 66

ICS-271:Notes 5: 77

  • 4. Arc-consistency in tree-structured CSPs makes search backtrack-free
slide-67
SLIDE 67

ICS-271:Notes 5: 78

slide-68
SLIDE 68

ICS-271:Notes 5: 79

The cycle-cutset method

  • An instantiation can be viewed as blocking cycles in the graph
  • Given an instantiation to a set of variables that cut all cycles (a

cycle-cutset) the rest of the problem can be solved in linear time by a tree algorithm.

  • Complexity (n number of variables, k the domain size and C the

cycle-cutset size):

) (

2

k nk O

C

slide-69
SLIDE 69

ICS-271:Notes 5: 80

Tree Decomposition

T WA NT SA NT SA Q SA Q

NSW

SA

NSW

V

Complexity is O(n exp(w)) where w bounds the number of variables in a cluster. Known as the treewidth.

slide-70
SLIDE 70

ICS-271:Notes 5: 81

Local Search for CSPs

  • Local Search
  • Works with complete variable assignments (called a state)
  • Has a cost function associated with each state
  • E.g. min-conflicts – number of constraints violated
  • Considers only immediate neighborhood for next state
  • E.g. change the value of one variable
  • Operators
  • Greedy heuristic : pick a value for a variable that leads to

greatest reduction in total cost – can get stuck in local optima

  • Random moves : occasionally make a random move
  • Sideways moves, re-starts, constraint re-weighting, …
  • Incomplete
  • Often fast
  • orders of magnitude faster than systematic e.g. DFS
slide-71
SLIDE 71

ICS-271:Notes 5: 83

slide-72
SLIDE 72

ICS-271:Notes 5: 84

GSAT – local search for SAT

(Selman, Levesque and Mitchell, 1992)

1. For i=1 to MaxTries 2. Select a random assignment A 3. For j=1 to MaxFlips 4. if A satisfies all constraints, return A 5. else flip a variable to maximize the score 6. (number of satisfied constraints; if no variable 7. assignment increases the score, flip at random) 8. end 9. end

Greatly improves hill-climbing by adding restarts and sideway moves

slide-73
SLIDE 73

ICS-271:Notes 5: 85

WalkSAT

(Selman, Kautz and Cohen, 1994)

With probability p random walk – flip a variable in some unsatisfied constraint With probability 1-p perform a hill-climbing step

Adds random walk to GSAT:

Randomized hill-climbing often solves large and hard satisfiable problems

slide-74
SLIDE 74

ICS-271:Notes 5: 86

More Stochastic Search: Simulated Annealing, Constraint Reweighting

  • Simulated annealing:

– A method for overcoming local minimas – Allows bad moves with some probability:

  • With some probability related to a temperature parameter T the

next move is picked randomly. – Theoretically, with a slow enough cooling schedule, this algorithm will find the optimal solution. But so will searching randomly.

  • Breakout method (Morris, 1990): adjust the weights of the violated

constraints

slide-75
SLIDE 75

ICS-271:Notes 5: 87

Problem Hardness

slide-76
SLIDE 76

ICS-271:Notes 5: 88

slide-77
SLIDE 77

ICS-271:Notes 5: 89

Game of Mastermind