cs 188 artificial intelligence
play

CS 188: Artificial Intelligence Constraint Satisfaction Problems II - PowerPoint PPT Presentation

CS 188: Artificial Intelligence Constraint Satisfaction Problems II Instructors: Dan Klein and Pieter Abbeel University of California, Berkeley [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All


  1. CS 188: Artificial Intelligence Constraint Satisfaction Problems II Instructors: Dan Klein and Pieter Abbeel University of California, Berkeley [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available at http://ai.berkeley.edu.]

  2. Today  Efficient Solution of CSPs  Local Search

  3. Reminder: CSPs  CSPs:  Variables  Domains  Constraints  Implicit (provide code to compute)  Explicit (provide a list of the legal tuples)  Unary / Binary / N-ary  Goals:  Here: find any solution  Also: find all, find best, etc.

  4. Backtracking Search

  5. Improving Backtracking  General-purpose ideas give huge gains in speed  … but it’s all still NP-hard  Filtering: Can we detect inevitable failure early?  Ordering:  Which variable should be assigned next? (MRV)  In what order should its values be tried? (LCV)  Structure: Can we exploit the problem structure?

  6. Arc Consistency and Beyond

  7. Arc Consistency of an Entire CSP  A simple form of propagation makes sure all arcs are simultaneously consistent: NT Q WA SA NSW V  Arc consistency detects failure earlier than forward checking Remember: Delete  Important: If X loses a value, neighbors of X need to be rechecked! from the tail!  Must rerun after each assignment!

  8. Limitations of Arc Consistency  After enforcing arc consistency:  Can have one solution left  Can have multiple solutions left  Can have no solutions left (and not know it)  Arc consistency still runs What went wrong here? inside a backtracking search!

  9. K-Consistency

  10. K-Consistency  Increasing degrees of consistency  1-Consistency (Node Consistency): Each single node’s domain has a value which meets that node’s unary constraints  2-Consistency (Arc Consistency): For each pair of nodes, any consistent assignment to one can be extended to the other  K-Consistency: For each k nodes, any consistent assignment to k-1 can be extended to the k th node.  Higher k more expensive to compute  (You need to know the k=2 case: arc consistency)

  11. Strong K-Consistency  Strong k-consistency: also k-1, k-2, … 1 consistent  Claim: strong n-consistency means we can solve without backtracking!  Why?  Choose any assignment to any variable  Choose a new variable  By 2-consistency, there is a choice consistent with the first  Choose a new variable  By 3-consistency, there is a choice consistent with the first 2  …  Lots of middle ground between arc consistency and n-consistency! (e.g. k=3, called path consistency)

  12. Structure

  13. Problem Structure  Extreme case: independent subproblems  Example: Tasmania and mainland do not interact  Independent subproblems are identifiable as connected components of constraint graph  Suppose a graph of n variables can be broken into subproblems of only c variables:  Worst-case solution cost is O((n/c)(d c )), linear in n  E.g., n = 80, d = 2, c =20  2 80 = 4 billion years at 10 million nodes/sec  (4)(2 20 ) = 0.4 seconds at 10 million nodes/sec

  14. Tree-Structured CSPs  Theorem: if the constraint graph has no loops, the CSP can be solved in O(n d 2 ) time  Compare to general CSPs, where worst-case time is O(d n )  This property also applies to probabilistic reasoning (later): an example of the relation between syntactic restrictions and the complexity of reasoning

  15. Tree-Structured CSPs  Algorithm for tree-structured CSPs:  Order: Choose a root variable, order variables so that parents precede children  Remove backward: For i = n : 2, apply RemoveInconsistent(Parent(X i ),X i )  Assign forward: For i = 1 : n, assign X i consistently with Parent(X i )  Runtime: O(n d 2 ) (why?)

  16. Tree-Structured CSPs  Claim 1: After backward pass, all root-to-leaf arcs are consistent  Proof: Each X → Y was made consistent at one point and Y’s domain could not have been reduced thereafter (because Y’s children were processed before Y)  Claim 2: If root-to-leaf arcs are consistent, forward assignment will not backtrack  Proof: Induction on position  Why doesn’t this algorithm work with cycles in the constraint graph?  Note: we’ll see this basic idea again with Bayes’ nets

  17. Improving Structure

  18. Nearly Tree-Structured CSPs  Conditioning: instantiate a variable, prune its neighbors' domains  Cutset conditioning: instantiate (in all ways) a set of variables such that the remaining constraint graph is a tree  Cutset size c gives runtime O( (d c ) (n-c) d 2 ), very fast for small c

  19. Cutset Conditioning Choose a cutset SA Instantiate the cutset (all possible ways) SA SA SA Compute residual CSP for each assignment Solve the residual CSPs (tree structured)

  20. Cutset Quiz  Find the smallest cutset for the graph below.

  21. Tree Decomposition*  Idea: create a tree-structured graph of mega-variables  Each mega-variable encodes part of the original CSP  Subproblems overlap to ensure consistent solutions M1 M2 M3 M4 ≠ ≠ ≠ ≠ Agree on shared vars Agree on shared vars Agree on shared vars NS NS WA NT NT Q Q V W W ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ SA SA SA SA {(WA=r,SA=g,NT=b), {(NT=r,SA=g,Q=b), Agree: (M1,M2) ∈ (WA=b,SA=r,NT=g), (NT=b,SA=g,Q=r), {( (WA=g,SA=g,NT=g), (NT=g,SA=g,Q=g) ), …} …} …}

  22. Iterative Improvement

  23. Iterative Algorithms for CSPs  Local search methods typically work with “complete” states, i.e., all variables assigned  To apply to CSPs:  Take an assignment with unsatisfied constraints  Operators reassign variable values  No fringe! Live on the edge.  Algorithm: While not solved,  Variable selection: randomly select any conflicted variable  Value selection: min-conflicts heuristic:  Choose a value that violates the fewest constraints  I.e., hill climb with h(n) = total number of violated constraints

  24. Example: 4-Queens  States: 4 queens in 4 columns (4 4 = 256 states)  Operators: move queen in column  Goal test: no attacks  Evaluation: c(n) = number of attacks [Demo: n-queens – iterative improvement (L5D1)] [Demo: coloring – iterative improvement]

  25. Video of Demo Iterative Improvement – n Queens

  26. Video of Demo Iterative Improvement – Coloring

  27. Performance of Min-Conflicts  Given random initial state, can solve n-queens in almost constant time for arbitrary n with high probability (e.g., n = 10,000,000)!  The same appears to be true for any randomly-generated CSP except in a narrow range of the ratio

  28. Summary: CSPs  CSPs are a special kind of search problem:  States are partial assignments  Goal test defined by constraints  Basic solution: backtracking search  Speed-ups:  Ordering  Filtering  Structure  Iterative min-conflicts is often effective in practice

  29. Local Search

  30. Local Search  Tree search keeps unexplored alternatives on the fringe (ensures completeness)  Local search: improve a single option until you can’t make it better (no fringe!)  New successor function: local changes  Generally much faster and more memory efficient (but incomplete and suboptimal)

  31. Hill Climbing  Simple, general idea:  Start wherever  Repeat: move to the best neighboring state  If no neighbors better than current, quit  What’s bad about this approach?  Complete?  Optimal?  What’s good about it?

  32. Hill Climbing Diagram

  33. Hill Climbing Quiz Starting from X, where do you end up ? Starting from Y, where do you end up ? Starting from Z, where do you end up ?

  34. Simulated Annealing  Idea: Escape local maxima by allowing downhill moves  But make them rarer as time goes on 34

  35. Simulated Annealing  Theoretical guarantee:  Stationary distribution:  If T decreased slowly enough, will converge to optimal state!  Is this an interesting guarantee?  Sounds like magic, but reality is reality:  The more downhill steps you need to escape a local optimum, the less likely you are to ever make them all in a row  People think hard about ridge operators which let you jump around the space in better ways

  36. Genetic Algorithms  Genetic algorithms use a natural selection metaphor  Keep best N hypotheses at each step (selection) based on a fitness function  Also have pairwise crossover operators, with optional mutation to give variety  Possibly the most misunderstood, misapplied (and even maligned) technique around

  37. Example: N-Queens  Why does crossover make sense here?  When wouldn’t it make sense?  What would mutation be?  What would a good fitness function be?

  38. Next Time: Adversarial Search!

Recommend


More recommend