1 / 33

CS 312: Algorithm Analysis

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License . CS 312: Algorithm Analysis. Lecture #36: Best-first State-space Search: A*. Slides by: Eric Ringger, adapted from slides by Stuart Russell of UC Berkeley. Announcements. Homework #26 optional

alvis
Télécharger la présentation

CS 312: Algorithm Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. CS 312: Algorithm Analysis Lecture #36: Best-first State-space Search: A* Slides by: Eric Ringger, adapted from slides by Stuart Russell of UC Berkeley.

  2. Announcements • Homework #26 optional • Homework #27 due Wednesday • Project #7: TSP • Early: Wednesday • Due: Friday • Respond to survey by end of day Friday • Questions? • Will accept late project submissions up through next Tuesday at midnight!

  3. Project #7

  4. HW #26 Problem #1

  5. HW #26 Problem #1

  6. Objectives • Understand Best-first search as a sub-class of state-space search algorithms • Introduce A* Search • Compare and contrast with Branch & Bound • Understand Admissible Heuristics

  7. Acknowledgment • Russell & Norvig: 4.1-4.2

  8. Review: State-Space Search • Basic idea: • Represent partial solutions (and solutions) as states • Find a solution by searching the state space • Search involves generating successors of states (i.e., “expanding” states) and pruning wisely • A search strategy is defined by specifying the following: • The manner of state expansion • The order of state expansion

  9. Uninformed search strategies • Use only the information available in the problem definition • Are not informed by discoveries during the search. • Examples: • Breadth-first search • Depth-first search • Depth-limited search • Iterative deepening search

  10. Informed: Best-first search • A type of informed search strategy • Use an evaluation functionf(n) for each state • Estimate of "desirability" • Basic idea: Explore (expand) most desirable / promising state, according to the evaluation function • Examples: • Without agenda: • Greedy best-first search • With agenda: • Uniform-cost search • Single goal, State-space variant of Dijkstra’s • A* search

  11. State-space search algorithms

  12. Problem: Shortest Path Admittedly, not a hard problem. Map of Romania, distances in km

  13. Greedy best-first search • Evaluation function (heuristic) = estimate of cost from state to • e.g., straight-line distance from to Bucharest • Greedy best-first search expands the state that appears to be closest to goal • No agenda • Contrast with Simple Scissors (from proj. #4)

  14. Greedy best-first search example

  15. Greedy best-first search example

  16. Greedy best-first search example

  17. Greedy best-first search example

  18. Analysis of Search Strategies • We analyze search strategies in the following terms: • completeness: does it always find a solution if one exists? • optimality: does it always find an optimal solution, guaranteed? • time efficiency: number of states generated • space efficiency: maximum number of states in memory • “high water” mark on the agenda • Time and space efficiency are measured in terms of • b: maximum branching factor of the search tree • d: depth of the least-cost solution • m: maximum depth of the state space (may be ∞)

  19. Properties of greedy best-first search • Complete? • No – can get stuck in loops, e.g., Iasi Neamt Iasi Neamt … • or in dead ends • Optimal? • No • Time? • O(m*b) • Space? • O(m)

  20. A* search • Idea: avoid expanding paths that are already too expensive (at best) • Very similar to Branch and Bound! • But no BSSF • And no eager update of the BSSF • Solutions just go onto the agenda (always a priority queue) • First solution settled from the agenda wins • Also: Split the bound function into two parts: • Evaluation function f(n) = g(n) + h(n) = estimated total cost of path through n to goal • g(n) = cost so far to reach state n • h(n) = estimated cost to go from state n to goal

  21. A* search example

  22. A* search example

  23. A* search example

  24. A* search example

  25. A* search example

  26. A* search example Contrast with Dijkstra’s. Contrast with B&B.

  27. Properties of A* • Complete? • Yes • unless there are infinitely many states n such that f(n) ≤ f(G) • Optimal? • Yes, given an admissible heuristic • Time? • O(bm), Exponential • Space? • O(bm), worst case: keeps all states on agenda

  28. For Comparison:Uniform Cost Search • How does A* compare with Dijkstra’s algorithm? • Both use priority queue as agenda • A* solved shortest path (singular); Dijkstra’s solves shortest paths (plural) • A* has better heuristic function; Dijkstra’s: h(n)=0 • 0 is uniformly the estimated remaining cost for every state • A* searches graph or state-space; Dijkstra’s explores a graph • In state-space search: Uniform cost search is the single-goal version of Dijkstra’s • How could you have used A* in project #4? • What about project #5?

  29. Admissible heuristics • A heuristic h(n) is admissible iff for every state n, h(n) ≤ h*(n) • where h*(n) is the true cost to reach the goal state from n. • An admissible heuristic never overestimates the cost to reach the goal • it is optimistic • it is a lower bound for minimization • (upper bound for maximization) • Example: hSLD(n) for the shortest path problem • never overestimates the actual road distance • Theorem: If h(n) is admissible, then A* is optimal

  30. For Project #7 • Would you use A* for Project #7? • Why not? • What happens if you use a simple priority queue for your agenda in B&B? • Would it be correct? • Will you win?

  31. For comparison:Branch and Bound Optimization • Not best-first! • Idea: avoid expanding paths that are already too expensive at best, and prune them! • BSSF = best solution so far • Allows pruning • Permits any-time solution • Bound function f(n) • Estimated total cost of path through state nto goal (an optimistic bound) • You know this well!

  32. Properties of Branch and Bound • Complete? • Yes • Optimal? • Yes • As long as it runs to completion • As long as bound function is optimistic (a lower bound) • Time? • O(bm), Exponential • Space? • O(bm) • At worst, keeps all states in memory and does not prune. • At best?

  33. Assignment • HW #27: A* for the 8-puzzle

More Related