constraint satisfaction problems csps
play

Constraint Satisfaction Problems (CSPs) Russell and Norvig Chapter 6 - PowerPoint PPT Presentation

Constraint Satisfaction Problems (CSPs) Russell and Norvig Chapter 6 CSP example: map coloring Given a map of Australia, color it using three colors such that no neighboring territories have the same color. 2 CSP example: map coloring 3


  1. Constraint Satisfaction Problems (CSPs) Russell and Norvig Chapter 6

  2. CSP example: map coloring Given a map of Australia, color it using three colors such that no neighboring territories have the same color. 2

  3. CSP example: map coloring 3

  4. Constraint satisfaction problems n A CSP is composed of: q A set of variables X 1 ,X 2 , … ,X n with domains (possible values) D 1 ,D 2 , … ,D n q A set of constraints C 1 ,C 2 , … ,C m q Each constraint C i limits the values that a subset of variables can take, e.g., V 1 ≠ V 2 4

  5. Constraint satisfaction problems n A CSP is composed of: q A set of variables X 1 ,X 2 , … ,X n with domains (possible values) D 1 ,D 2 , … ,D n q A set of constraints C 1 ,C 2 , … ,C m q Each constraint C i limits the values that a subset of variables can take, e.g., V 1 ≠ V 2 In our example: Variables: WA, NT, Q, NSW, V, SA, T n Domains: D i ={red,green,blue} n Constraints: adjacent regions must have different colors. n q E.g. WA ≠ NT (if the language allows this) or q (WA,NT) in {(red,green),(red,blue),(green,red),(green,blue),(blue,red), (blue,green)} 5

  6. Constraint satisfaction problems n A state is defined by an assignment of values to some or all variables. n Consistent assignment: assignment that does not violate the constraints. n Complete assignment: every variable is assigned. n Goal: a complete, consistent assignment. {WA=red,NT=green,Q=red,NSW=green,V=red,SA=blue,T=green} 6

  7. Constraint satisfaction problems n Simple example of a formal representation language n CSP benefits q Generic goal and successor functions q Useful general-purpose algorithms with more power than standard search algorithms, including generic heuristics n Applications: q Time table problems (exam/teaching schedules) q Assignment problems (who teaches what) 7

  8. Varieties of CSPs n Discrete variables q Finite domains of size d ⇒ O(d n ) complete assignments. The satisfiability problem: a Boolean CSP n q Infinite domains (integers, strings, etc.) n Continuous variables q Linear constraints solvable in poly time by linear programming methods (dealt with in the field of operations research). n Our focus: discrete variables and finite domains 8

  9. Varieties of constraints n Unary constraints involve a single variable. q e.g. SA ≠ green n Binary constraints involve pairs of variables. q e.g. SA ≠ WA n Global constraints involve an arbitrary number of variables. n Preferences (soft constraints) e.g. red is better than green often representable by a cost for each variable assignment; not considered here. 9

  10. Constraint graph n Binary CSP: each constraint relates two variables n Constraint graph: nodes are variables, edges are constraints 10

  11. Example: cryptarithmetic puzzles The constraints are represented by a hypergraph 11

  12. CSP as a standard search problem n Incremental formulation q Initial State : the empty assignment {}. q Successor : Assign value to unassigned variable provided there is no conflict. q Goal test : the current assignment is complete. n Same formulation for all CSPs! n Solution is found at depth n ( n variables). q What search method would you choose? 12

  13. Backtracking search n Observation: the order of assignment doesn’t matter ⇒ can consider assignment of a single variable at a time. Results in d n leaves (d: number of values per variable). n Backtracking search: DFS for CSPs with single- variable assignments (backtracks when a variable has no value that can be assigned) n The basic uninformed algorithm for CSP 13

  14. Sudoku solving 1 2 3 4 5 6 7 8 9 A B C D E F G H I 14

  15. Sudoku solving 1 2 3 4 5 6 7 8 9 Constraints: A B Alldiff(A1,A2,A3,A4,A5,A6,A7,A8,A9) C … D Alldiff(A1,B1,C1,D1,E1,F1,G1,H1,I1) E … F Alldiff(A1,A2,A3,B1,B2,B3,C1,C2,C3) G … H I Can be translated into constraints between pairs of variables. 15

  16. Sudoku solving 1 2 3 4 5 6 7 8 9 A B C D E F G H I Let’s see if we can figure the value of the center grid point. Images from wikipedia and http://www.instructables.com/id/Solve-Sudoku-Without-even-thinking!/ 16

  17. Solving Sudoku Show code for solving sudoku 17

  18. Constraint propagation n Enforce local consistency n Propagate the implications of each constraint 18

  19. Arc consistency n X → Y is arc-consistent iff for every value x of X there is some allowed value y of Y n Example: X and Y can take on the values 0 … 9 with the constraint: Y=X 2 . Can use arc consistency to reduce the domains of X and Y: q X → Y reduce X’s domain to {0,1,2,3} q Y → X reduce Y’s domain to {0,1,4,9} 19

  20. The Arc Consistency Algorithm function AC-3( csp ) returns false if an inconsistency is found and true otherwise inputs : csp , a binary csp with components {X, D, C} local variables: queue, a queue of arcs initially the arcs in csp while queue is not empty do ( X i , X j ) ← REMOVE-FIRST( queue ) if REVISE( csp , X i , X j ) then if size of D i =0 then return false for each X k in X i .NEIGHBORS – { X j } do add ( X k , X i ) to queue function REVISE( csp , X i , X j ) returns true iff we revise the domain of X i revised ← false for each x in D i do if no value y in D j allows (x,y) to satisfy the constraints between X i and X j then delete x from D i revised ← true return revised 20

  21. Arc consistency limitations n X → Y is arc-consistent iff for every value x of X there is some allowed y of Y n Consider mapping Australia with two colors. Each arc is consistent, and yet there is no solution to the CSP. n So it doesn’t help in this case 21

  22. Path Consistency n Looks at triples of variables q The set { X i , X j } is path-consistent with respect to X m if for every assignment consistent with the constraints of X i , X j , there is an assignment to X m that satisfies the constraints on { X i , X m } and { X m , X j } n The PC-2 algorithm achieves path consistency 22

  23. K-consistency n Stronger forms of propagation can be defined using the notion of k-consistency. n A CSP is k-consistent if for any set of k-1 variables and for any consistent assignment to those variables, a consistent value can always be assigned to any k-th variable. n Not practical! 23

  24. Backtracking example 24

  25. Backtracking example 25

  26. Backtracking example 26

  27. Backtracking example 27

  28. Improving backtracking efficiency n General-purpose heuristics can provide huge gains in speed: q Which variable should be assigned next? q In what order should its values be tried? q Can we detect inevitable failure early? 28

  29. Backtracking search function BACKTRACKING-SEARCH( csp ) return a solution or failure return RECURSIVE-BACKTRACKING( {} , csp ) function RECURSIVE-BACKTRACKING( assignment, csp ) return a solution or failure if assignment is complete then return assignment var ← SELECT-UNASSIGNED-VARIABLE(VARIABLES[ csp ], assignment , csp ) for each value in ORDER-DOMAIN-VALUES( var, assignment, csp ) do if value is consistent with assignment according to CONSTRAINTS[ csp ] then add {var=value} to assignment result ← RECURSIVE-BACTRACKING( assignment, csp ) if result ≠ failure then return result remove {var=value} from assignment return failure 29

  30. Most constrained variable var ← SELECT-UNASSIGNED-VARIABLE( csp ) Choose the variable with the fewest legal values (most constrained variable) a.k.a. minimum remaining values (MRV) or “fail first” heuristic q What is the intuition behind this choice? 30

  31. Most constraining variable n Select the variable that is involved in the largest number of constraints on other unassigned variables. n Also called the degree heuristic because that variable has the largest degree in the constraint graph. n Often used as a tie breaker e.g. in conjunction with MRV. 31

  32. Least constraining value heuristic n Guides the choice of which value to assign next. n Given a variable, choose the least constraining value: q The value that rules out the fewest values in the remaining variables q Why is this a good idea? 32

  33. Forward checking n Can we detect inevitable failure early? q And avoid it later! n Forward checking: keep track of remaining legal values for unassigned variables. n Terminate search direction when a variable has no legal values. 33

  34. Forward checking Assign {WA=red} n Effects on other variables connected by constraints with WA n NT can no longer be red q SA can no longer be red q 34

  35. Forward checking Assign {Q=green} n Effects on other variables connected by constraints with WA n NT can no longer be green q NSW can no longer be green q SA can no longer be green q 35

  36. Forward checking If V is assigned blue n Effects on other variables connected by constraints with WA n SA is empty q NSW can no longer be blue q FC has detected that partial assignment is inconsistent with the constraints and n backtracking can occur. 36

  37. Example: 4-Queens Problem X1 X2 {1,2,3,4} {1,2,3,4} 1 2 3 4 1 2 3 4 X3 X4 {1,2,3,4} {1,2,3,4} 37

  38. Example: 4-Queens Problem X1 X2 {1,2,3,4} {1,2,3,4} 1 2 3 4 1 2 3 4 X3 X4 {1,2,3,4} {1,2,3,4} 38

  39. Example: 4-Queens Problem X1 X2 {1,2,3,4} { , ,3,4} 1 2 3 4 1 2 3 4 X3 X4 { ,2, ,4} { ,2,3, } 39

  40. Example: 4-Queens Problem X1 X2 {1,2,3,4} { , ,3,4} 1 2 3 4 1 2 3 4 X3 X4 { ,2, ,4} { ,2,3, } 40

  41. Example: 4-Queens Problem X1 X2 {1,2,3,4} { , ,3,4} 1 2 3 4 1 2 3 4 X3 X4 { , , , } { ,2,3, } 41

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend