1 / 37

Review: Search problem formulation

Review: Search problem formulation. Initial state Actions Transition model Goal state (or goal test ) Path cost What is the optimal solution? What is the state space?. Example 1: Romania. On vacation in Romania; currently in Arad Flight leaves tomorrow from Bucharest. Initial state

drago
Télécharger la présentation

Review: Search problem formulation

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. Review: Search problem formulation • Initial state • Actions • Transition model • Goal state (or goal test) • Path cost • What is the optimal solution? • What is the state space?

  2. Example 1: Romania • On vacation in Romania; currently in Arad • Flight leaves tomorrow from Bucharest • Initial state • Arad • Actions • Go from one city to another • Transition model • If you go from city A to city B, you end up in city B • Goal state • Bucharest • Path cost • Sum of edge costs

  3. Example 2: The 8-puzzle • States • Locations of tiles • 8-puzzle: 181,440 states • 15-puzzle: 1.3 trillion states • 24-puzzle: 1025 states • Actions • Move blank left, right, up, down • Path cost • 1per move • Finding the optimal solution of n-Puzzle is NP-hard

  4. Review: Tree search • Given: initial state, goal state, actions, transition model, path cost • Find: lowest-cost path from initial state to goal • Initializethe frontier using the starting state • While the frontier is not empty • Choose a frontier node to expand according to search strategy • If the node contains the goal state, return solution • Else expand the node and add its children to the frontier

  5. Review: Search tree • The root node corresponds to the starting state • The children of a node correspond to the successor states of that node’s state • A path through the tree corresponds to a sequence of actions • A solution is a path ending in the goal state • Nodes vs. states • A state is a representation of a physical configuration, while a node is a data structure that is part of the search tree Starting state Action Successor state … … … … Goal state

  6. Tree search example

  7. Tree search example

  8. Tree search example Frontier

  9. Handling repeated states • Initializethe frontier using the starting state • While the frontier is not empty • Choose a frontier node to expand according to search strategy • If the node contains the goal state, return solution • Else expand the node and add its children to the frontier • To handle repeated states: • Keep an explored set; add each node to the explored set every time you expand it • Every time you add a node to the frontier, check whether it already exists in the frontier with a higher path cost, and if yes, replace that node with the new one

  10. Search strategies • A search strategy is defined by picking the order of node expansion • Strategies are evaluated along the following dimensions: • Completeness:does it always find a solution if one exists? • Optimality:does it always find a least-cost solution? • Time complexity:number of nodes generated • Space complexity: maximum number of nodes in memory • Time and space complexity are measured in terms of • b: maximum branching factor of the search tree • d: depth of the optimal solution • m: maximum length of any path in the state space (may be infinite)

  11. Uninformed search strategies • Uninformed search strategies use only the information available in the problem definition • Breadth-first search • Uniform-cost search • Depth-first search • Iterative deepening search

  12. Breadth-first search • Expand shallowest unexpanded node • Implementation: • frontieris a FIFO queue, i.e., new successors go at end A B C D E F G

  13. Breadth-first search • Expand shallowest unexpanded node • Implementation: • frontieris a FIFO queue, i.e., new successors go at end A B C D E F G

  14. Breadth-first search • Expand shallowest unexpanded node • Implementation: • frontieris a FIFO queue, i.e., new successors go at end A B C D E F G

  15. Breadth-first search • Expand shallowest unexpanded node • Implementation: • frontieris a FIFO queue, i.e., new successors go at end A B C D E F G

  16. Breadth-first search • Expand shallowest unexpanded node • Implementation: • frontieris a FIFO queue, i.e., new successors go at end A B C D E F G

  17. Properties of breadth-first search • Complete? Yes (if branching factor bis finite) • Optimal? Yes – if cost = 1 per step • Time? Number of nodes in a b-ary tree of depth d: O(bd) (d is the depth of the optimal solution) • Space? O(bd) • Space is the bigger problem (more than time)

  18. Uniform-cost search • For each frontier node, save the total cost of the path from the initial state to that node • Expand the frontier node with the lowest path cost • Implementation: frontier is a priority queue ordered by path cost • Equivalent to breadth-first if step costs all equal

  19. Illustration of uniform cost search(same as Dijkstra’s shortest path algorithm) Source: Wikipedia

  20. Properties of uniform-cost search • Complete? Yes, if step cost is greater than some positive constant ε(we don’t want infinite sequences of steps that have a finite total cost) • Optimal? Yes – nodes expanded in increasing order of path cost • Time? Number of nodes with path cost≤ cost of optimal solution (C*), O(bC*/ ε) This can be greater than O(bd): the search can explore long paths consisting of small steps before exploring shorter paths consisting of larger steps • Space? O(bC*/ ε)

  21. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  22. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  23. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  24. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  25. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  26. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  27. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  28. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  29. Depth-first search • Expand deepest unexpanded node • Implementation: • frontier = LIFO queue, i.e., put successors at front A B C D E F G

  30. Properties of depth-first search • Complete? Fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path  complete in finite spaces • Optimal? No – returns the first solution it finds • Time? Could be the time to reach a solution at maximum depth m: O(bm) Terrible if m is much larger than d But if there are lots of solutions, may be much faster than BFS • Space? O(bm), i.e., linear space!

  31. http://xkcd.com/761/

  32. Iterative deepening search • Use DFS as a subroutine • Check the root • Do a DFS searching for a path of length 1 • If there is no path of length 1, do a DFS searching for a path of length 2 • If there is no path of length 2, do a DFS searching for a path of length 3…

  33. Iterative deepening search

  34. Iterative deepening search

  35. Iterative deepening search

  36. Iterative deepening search

  37. Properties of iterative deepening search • Complete? Yes • Optimal? Yes, if step cost = 1 • Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd) • Space? O(bd)

More Related