1 / 26

Blind Search

Blind Search. Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm by Prof. Jean-Claude Latombe . Blind Search . Depth first search Breadth first search Iterative deepening

lorin
Download Presentation

Blind Search

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. Blind Search Russell and Norvig: Chapter 3, Sections 3.4 – 3.6 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm by Prof. Jean-Claude Latombe

  2. Blind Search • Depth first search • Breadth first search • Iterative deepening • No matter where the goal is, these algorithms will do the same thing.

  3. 1 Depth-First fringe

  4. 1 2 Depth-First fringe

  5. 1 2 3 Depth-First fringe

  6. 1 Breadth First fringe

  7. 1 2 Breadth First fringe

  8. 1 2 3 Breadth First fringe

  9. 1 2 3 4 Breadth First fringe

  10. Generic Search Algorithm Path search(start, operators, is_goal) { fringe = makeList(start); while (state=fringe.popFirst()) { if (is_goal(state)) return pathTo(state); S = successors(state, operators); fringe = insert(S, fringe); } return NULL; } Depth-first: insert=prepend; Breadth-first: insert=append

  11. Performance Measures of Search Algorithms • CompletenessIs the algorithm guaranteed to find a solution when there is one? • OptimalityIs this solution optimal? • Time complexityHow long does it take? • Space complexityHow much memory does it require?

  12. Important Parameters • Maximum number of successors of any state branching factor b of the search tree • Minimal length of a path in the state space between the initial and a goal state depth d of the shallowest goal node in the search tree

  13. Evaluation of Breadth-first Search • b: branching factor • d: depth of shallowest goal node • Complete • Optimal if step cost is 1 • Number of nodes generated:1 + b + b2 + … + bd = (bd+1-1)/(b-1) = O(bd) • Time and space complexity is O(bd)

  14. Big O Notation g(n) is in O(f(n)) if there exist two positive constants a and N such that: for all n > N, g(n)  af(n)

  15. Time and Memory Requirements Assumptions: b = 10; 1,000,000 nodes/sec; 100bytes/node

  16. Evaluation of Depth-first Search • b: branching factor • d: depth of shallowest goal node • m: maximal depth of a leaf node • Complete only for finite search tree • Not optimal • Number of nodes generated:1 + b + b2 + … + bm = O(bm) • Time complexity is O(bm) • Space complexity is O(bm) or O(m)

  17. Depth-Limited Strategy • Depth-first with depth cutoffk (maximal depth below which nodes are not expanded) • Three possible outcomes: • Solution • Failure (no solution) • Cutoff (no solution within cutoff)

  18. Iterative Deepening Strategy Repeat for k = 0, 1, 2, …: Perform depth-first with depth cutoff k • Complete • Optimal if step cost =1 • Space complexity is: O(bd) or O(d) • Time complexity is:(d+1)(1) + db + (d-1)b2 + … + (1) bd = O(bd) • Same as BFS! WHY???

  19. Calculation db + (d-1)b2 + … + (1) bd = bd +2bd-1 +3bd-2 +… +db = bd(1 + 2b-1 + 3b-2 + … + db-d)  bd(Si=1,…,ib(1-i)) = bd (b/(b-1))2

  20. Comparison of Strategies • Breadth-first is complete and optimal, but has high space complexity • Bad when branching factor is high • Depth-first is space efficient, but neither complete nor optimal • Bad when search depth is infinite • Iterative deepening is asymptotically optimal

  21. S A 0 1 10 S B G 5 5 A B C 1 5 15 5 15 C G G 10 11 Uniform-Cost Strategy • Each step has some cost > 0. • The cost of the path to each fringe node N is • g(N) = costs of all steps. • The goal is to generate a solution path of minimal cost. • The queue FRINGE is sorted in increasing cost.

  22. No Few Many search tree is infinite search tree is finite 1 2 3 4 5 assembly planning 7 8 6 8-queens 8-puzzle and robot navigation Repeated States

  23. Avoiding Repeated States • Requires comparing state descriptions • Breadth-first strategy: • Keep track of all generated states • If the state of a new node already exists, then discard the node

  24. Avoiding Repeated States • Depth-first strategy: • Solution 1: • Keep track of all states associated with nodes in current path • If the state of a new node already exists, then discard the node  Avoids loops • Solution 2: • Keep track of all states generated so far • If the state of a new node has already been generated, then discard the node  Space complexity of breadth-first

  25. Summary • Search strategies: breadth-first, depth-first, and variants • Evaluation of strategies: completeness, optimality, time and space complexity • Avoiding repeated states

More Related