set 5 constraint satisfaction problems chapter 6 r n
play

Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 - PowerPoint PPT Presentation

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


  1. Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2018 Kalev Kask ICS-271:Notes 5: 1

  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 constraint graph • Solvings CSPs – The search space and naive backtracking, – Consistency enforcing algorithms • arc-consistency, AC-1,AC-3 • Backtracking strategies – Forward-checking, dynamic variable orderings • Exploiting problem structure; e.g. solving tree problems • Local search for CSPs ICS-271:Notes 5: 2

  3. ICS-271:Notes 5: 3

  4. Constraint Satisfaction Example: map coloring Variables - countries (A,B,C,etc.) Values - colors (e.g., red, green, yellow)    A B, A D, D E , etc. Constraints: E A B A red green D red yellow green red B green yellow F yellow green G yellow red C ICS-271:Notes 5: 4

  5. ICS-271:Notes 5: 5

  6. ICS-271:Notes 5: 6

  7. ICS-271:Notes 5: 7

  8. ICS-271:Notes 5: 8

  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 ICS-271:Notes 5: 9

  10. Hard vs Soft Constraints • Hard constraints : must be satisfied – Satisfaction problem • Soft constraints : capture preferences – Optimization problem ICS-271:Notes 5: 10

  11. Sudoku Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints ICS-271:Notes 5: 11

  12. Sudoku • Variables: 81 slots • Domains = {1,2,3,4,5,6,7,8,9} • Constraints: • 27 not-equal Constraint propagation 2 3 2 4 6 Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints ICS-271:Notes 5: 12

  13. ICS-271:Notes 5: 13

  14. ICS-271:Notes 5: 15

  15. A network of constraints X 1 • Variables X – X X 1 ,....,X 5 2 n • Domains X – D ,....,D of discrete values: X 4 3 1 n • Binary constraints: – R ij which represent the list of allowed pairs of values, R ij is a subset D i xD of the Cartesian product: . j • 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.     {( 1 ) | ( , ) , , } sol x ,....,x x x R x D x D n i j ij i i j j ICS-271:Notes 5: 16

  16. Example : The 4-queen problem Standard CSP formulation of the problem: Place 4 Queens on a chess board of 4x4 such that no two queens reside in • Variables : each row is a variable. the same row, column or diagonal. 1 2 3 4 Q Q Q X 1 Q Q Q X 2 Q Q Q X 3 Q Q Q X 4  • Domains : { 1 , 2 , 3 , 4 }. D i 4 • Constraints : There are = 6 constraints involved: ( ) 2 • Constraint Graph : 12  {( 1 , 3 )( 1 , 4 )( 2 , 4 )( 3 , 1 )( 4 , 1 )( 4 , 2 )} R 13  {( 1 , 2 )( 1 , 4 )( 2 , 1 )( 2 , 3 )( 3 , 2 )( 3 , 4 )( 4 , 1 )( 4 , 3 )} X R X 1 3 14  {( 1 , 2 )( 1 , 3 )( 2 , 1 )( 2 , 3 )( 2 , 4 )( 3 , 1 )( 3 , 2 )( 3 , 4 )( 4 , 2 )( 4 , 3 )} R 23  {( 1 , 3 )( 1 , 4 )( 2 , 4 )( 3 , 1 )( 4 , 1 )( 4 , 2 )} R X X 2 24  4 {( 1 , 2 )( 1 , 4 )( 2 , 1 )( 2 , 3 )( 3 , 2 )( 3 , 4 )( 4 , 1 )( 4 , 3 )} R 34  {( 1 , 3 )( 1 , 4 )( 2 , 4 )( 3 , 1 )( 4 , 1 )( 4 , 2 )} R ICS-271:Notes 5: 17

  17. Class scheduling/Timetabling ICS-271:Notes 5: 19

  18. 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 ICS-271:Notes 5: 20

  19. But only d n unique assignments ICS-271:Notes 5: 21

  20. ICS-271:Notes 5: 22

  21. The search space • X 1 ,....,X Definition: given an ordering of the variables n – 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? How to pick a value from the remaining values? – Goal state : • a consistent assignment to all the variables. ICS-271:Notes 5: 23

  22. ICS-271:Notes 5: 24

  23. ICS-271:Notes 5: 25

  24. ICS-271:Notes 5: 26

  25. ICS-271:Notes 5: 27

  26. 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 ICS-271:Notes 5: 28

  27. The effect of variable ordering z divides x, y and t ICS-271:Notes 5: 30

  28. A coloring problem ICS-271:Notes 5: 31

  29. Backtracking Search for a Solution ICS-271:Notes 5: 32

  30. Backtracking Search for a Solution ICS-271:Notes 5: 33

  31. Backtracking Search for All Solutions ICS-271:Notes 5: 34

  32. The Minimal network: Example: the 4-queen problem ICS-271:Notes 5: 36

  33. 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. ICS-271:Notes 5: 37

  34. Arc-consistency X Y  1, 2, 3 1, 2, 3 1  X, Y, Z, T  3 X  Y  = Y = Z T  Z X  T 1, 2, 3 1, 2, 3  T Z ICS-271:Notes 5: 38

  35. Arc-consistency X Y  1 3 1  X, Y, Z, T  3 X  Y  = Y = Z T  Z X  T 2 3  T Z • Incorporated into backtracking search • Constraint programming languages powerful approach for modeling and solving combinatorial optimization problems. ICS-271:Notes 5: 39

  36. Arc-consistency algorithm domain of X domain of Y Arc is arc-consistent if for any value of there exist a matching value of ( ) X i ,X X X j i i Algorithm Revise makes an arc consistent ( ) X i ,X j Begin 1. For each a in D i if there is no value b in D j that is consistent with a then delete a from the D i . End. O(k 2 ) Revise is , k is the number of values in each domain. ICS-271:Notes 5: 40

  37. 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 ( ) X i ,X j • 4. Revise ( ) X i ,X j • 5. If Revise changes (reduces) the domain of X i then add to the queue all arcs that go to X i (( X l ,X i for all l except i ). – 6. end-while • End • Complexity: – Processing an arc requires O(k^2) steps – There is edges e – The number of times each arc can be processed is 2·k O(ek 3 – Total complexity is ) ICS-271:Notes 5: 41

  38. Sudoku • Variables: 81 slots • Domains = {1,2,3,4,5,6,7,8,9} • Constraints: • 27 not-equal Constraint propagation 2 3 2 4 6 Each row, column and major block must be all different “Well posed” if it has unique solution: 27 constraints ICS-271:Notes 5: 42

  39. Sudoku Path-consistency or 3-consistency 4-consistency and i-consistency in geeral Each row, column and major block must be all different “Well posed” if it has unique solution ICS-271:Notes 5: 43

  40. 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 (more explicit) networks yield smaller search spaces ICS-271:Notes 5: 44

  41. Improving Backtracking O(exp(n)) • 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 ICS-271:Notes 5: 45

  42. ICS-271:Notes 5: 46

  43. 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 ICS-271:Notes 5: 47

  44. ICS-271:Notes 5: 48

  45. ICS-271:Notes 5: 49

  46. ICS-271:Notes 5: 50

  47. ICS-271:Notes 5: 51

  48. ICS-271:Notes 5: 52

  49. ICS-271:Notes 5: 53

  50. ICS-271:Notes 5: 54

  51. ICS-271:Notes 5: 55

  52. ICS-271:Notes 5: 60

Recommend


More recommend