cs 343h artificial intelligence
play

CS 343H: Artificial Intelligence Lecture 4: Informed Search - PowerPoint PPT Presentation

CS 343H: Artificial Intelligence Lecture 4: Informed Search 1/23/2014 Slides courtesy of Dan Klein at UC-Berkeley Unless otherwise noted Today Informed search Heuristics Greedy search A* search Graph search Recap: Search


  1. CS 343H: Artificial Intelligence Lecture 4: Informed Search 1/23/2014 Slides courtesy of Dan Klein at UC-Berkeley Unless otherwise noted

  2. Today  Informed search  Heuristics  Greedy search  A* search  Graph search

  3. Recap: Search  Search problem:  States (configurations of the world)  Actions and costs  Successor function: a function from states to lists of (state, action, cost) triples (world dynamics)  Start state and goal test  Search tree:  Nodes: represent plans for reaching states  Plans have costs (sum of action costs)  Search algorithm:  Systematically builds a search tree  Chooses an ordering of the fringe (unexplored nodes)  Optimal: finds least-cost plans

  4. Example: Pancake Problem Cost: Number of pancakes flipped

  5. Example: Pancake Problem State space graph with costs as weights 4 2 3 2 3 4 3 4 2 3 2 2 4 3

  6. General Tree Search Action: flip top two Action: flip all four Path to reach goal: Cost: 2 Cost: 4 Flip four, flip three Total cost: 7

  7. Recall: Uniform Cost Search  Strategy: expand lowest c  1 … path cost c  2 c  3  The good: UCS is complete and optimal!  The bad:  Explores options in every “direction”  No information about goal location Start Goal [demo: countours UCS]

  8. Search heuristic  A heuristic is:  A function that estimates how close a state is to a goal  Designed for a particular search problem 10 5 11.2

  9. Example: Heuristic Function h(x)

  10. Example: Heuristic Function Heuristic: the largest pancake that is still out of place 3 h(x) 4 3 4 3 0 4 4 3 4 4 2 3

  11.  How to use the heuristic?  What about following the “ arrow ” of the heuristic?.... Greedy search

  12. Example: Heuristic Function h(x)

  13. Best First / Greedy Search  Expand the node that seems closest…  What can go wrong?

  14. Greedy search  Strategy: expand a node b … that you think is closest to a goal state  Heuristic: estimate of distance to nearest goal for each state  A common case:  Best-first takes you b … straight to the (wrong) goal  Worst-case: like a badly- guided DFS [demo: countours greedy]

  15. Enter: A* search

  16. Combining UCS and Greedy  Uniform-cost orders by path cost, or backward cost g(n)  Greedy orders by goal proximity, or forward cost h(n) 5 h=1 e 1 1 3 2 S a d G h=6 h=5 1 h=2 h=0 1 c b h=7 h=6  A* Search orders by the sum: f(n) = g(n) + h(n) Example: Teg Grenager

  17. When should A* terminate?  Should we stop when we enqueue a goal? A 2 2 h = 2 G S h = 3 h = 0 B 3 2 h = 1  No: only stop when we dequeue a goal

  18. Is A* Optimal? 1 A 3 h = 6 h = 0 S h = 7 G 5  What went wrong?  Actual bad goal cost < estimated good goal cost  We need estimates to be less than actual costs!

  19. Idea: admissibility Inadmissible (pessimistic): Admissible (optimistic): break optimality by trapping slows down bad plans but good plans on the fringe never outweigh true costs

  20. Admissible Heuristics  A heuristic h is admissible (optimistic) if: where is the true cost to a nearest goal  Examples: 15 4  Coming up with admissible heuristics is most of what’s involved in using A* in practice.

  21. Optimality of A* Notation: …  g(n) = cost to node n  h(n) = estimated cost from n A to the nearest goal (heuristic) B  f(n) = g(n) + h(n) = estimated total cost via n  A: a lowest cost goal node  B: another goal node Claim: A will exit the fringe before B.

  22. Claim: A will exit the fringe before B. Optimality of A*  Imagine B is on the fringe. …  Some ancestor n of A must be on the fringe too (maybe n is A)  Claim: n will be expanded before B. A 1. f(n) <= f(A) B • f(n) = g(n) + h(n) // by definition • f(n) <= g(A) // by admissibility of h • g(A) = f(A) // because h=0 at goal

  23. Claim: A will exit the fringe before B. Optimality of A*  Imagine B is on the fringe. …  Some ancestor n of A must be on the fringe too (maybe n is A)  Claim: n will be expanded before B. A 1. f(n) <= f(A) 2. f(A) < f(B) B • g(A) < g(B) // B is suboptimal • f(A) < f(B) // h=0 at goals

  24. Claim: A will exit the fringe before B. Optimality of A*  Imagine B is on the fringe. …  Some ancestor n of A must be on the fringe too (maybe n is A)  Claim: n will be expanded before B. A 1. f(n) <= f(A) 2. f(A) < f(B) B 3. n will expand before B • f(n) <= f(A) < f(B) // from above • f(n) < f(B)

  25. Claim: A will exit the fringe before B. Optimality of A*  Imagine B is on the fringe. …  Some ancestor n of A must be on the fringe too (maybe n is A)  Claim: n will be expanded before B. A 1. f(n) <= f(A) 2. f(A) < f(B) B 3. n will expand before B  All ancestors of A expand before B  A expands before B

  26. Properties of A* Uniform-Cost A* b b … …

  27. UCS vs A* Contours  Uniform-cost expands equally in all directions Start Goal  A* expands mainly toward the goal, but does hedge its bets to ensure optimality Start Goal [demo: countours UCS / A*]

  28. A* applications  Pathing / routing problems  Video games  Resource planning problems  Robot motion planning  Language analysis  Machine translation  Speech recognition  …

  29. Creating Admissible Heuristics  Most of the work in solving hard search problems optimally is in coming up with admissible heuristics  Often, admissible heuristics are solutions to relaxed problems, where new actions are available 366 15  Inadmissible heuristics are often useful too (why?)

  30. Example: 8 Puzzle  What are the states?  How many states?  What are the actions?  What states can I reach from the start state?  What should the costs be?

  31. 8 Puzzle I  Heuristic: Number of tiles misplaced  Why is it admissible? Average nodes expanded when  h(start) = 8 optimal path has length… …4 steps …8 steps …12 steps  This is a relaxed- 3.6 x 10 6 UCS 112 6,300 problem heuristic TILES 13 39 227

  32. 8 Puzzle II  What if we had an easier 8-puzzle where any tile could slide any direction at any time, ignoring other tiles?  Total Manhattan distance Average nodes expanded when  Why admissible? optimal path has length… …4 steps …8 steps …12 steps  h(start) = 3 + 1 + 2 + … TILES 13 39 227 12 25 73 = 18 MANHATTAN

  33. 8 Puzzle II  What if we had an easier 8-puzzle where any tile could slide any direction at any time, ignoring other tiles?  Total Manhattan distance Average nodes expanded when  Why admissible? optimal path has length… …4 steps …8 steps …12 steps  h(start) = 3 + 1 + 2 + … TILES 13 39 227 12 25 73 = 18 MANHATTAN

  34. 8 Puzzle III  How about using the actual cost as a heuristic?  Would it be admissible?  Would we save on nodes expanded?  What’s wrong with it?  With A*: a trade-off between quality of estimate and work per node!

  35. Today  Informed search  Heuristics  Greedy search  A* search  Graph search

  36. Tree Search: Extra Work!  Failure to detect repeated states can cause exponentially more work. Why? Search tree State graph

  37. Graph Search  In BFS, for example, we shouldn’t bother expanding the circled nodes (why?) S e p d q e h r b c h r p q f a a q c p q f G a q c G a

  38. Graph Search  Idea: never expand a state twice  How to implement:  Tree search + set of expanded states (“closed set”)  Expand the search tree node-by- node, but…  Before expanding a node, check to make sure its state is new  If not new, skip it  Important: store the closed set as a set, not a list  Can graph search wreck completeness? Why/why not?  How about optimality? Warning: 3e book has a more complex, but also correct, variant

  39. A* Graph Search Gone Wrong? State space graph Search tree S (0+2) A 1 1 h=4 S A (1+4) B (1+1) C h=1 1 h=2 2 C (2+1) C (3+1) 3 B G (5+0) G (6+0) h=1 G h=0

  40. Consistency of Heuristics  Admissibility: heuristic cost <= A actual cost to goal 1 h=4  h(A) <= actual cost from A to G C 3 G

  41. Consistency of Heuristics  Stronger than admissibility A  Definition: 1 h=4  C heuristic cost <= actual cost per arc h=2  h=1 h(A) - h(C) <= cost(A to C)  Consequences:  The f value along a path never decreases  A* graph search is optimal

  42. Optimality  Tree search:  A* is optimal if heuristic is admissible (and non-negative)  UCS is a special case (h = 0)  Graph search:  A* optimal if heuristic is consistent  UCS optimal (h = 0 is consistent)  Consistency implies admissibility  In general, most natural admissible heuristics tend to be consistent, especially if from relaxed problems

  43. Trivial Heuristics, Dominance  Dominance: h a ≥ h c if  Heuristics form a semi-lattice:  Max of admissible heuristics is admissible  Trivial heuristics  Bottom of lattice is the zero heuristic (what does this give us?)  Top of lattice is the exact heuristic

Recommend


More recommend