le lecture ture 4
play

Le Lecture ture 4 Un Uninf nform ormed ed Se Sear arch ch - PowerPoint PPT Presentation

Computer Science CPSC 322 Le Lecture ture 4 Un Uninf nform ormed ed Se Sear arch ch St Strat ategies, egies, Se Sear arch h wi with h Co Costs ts (Ch Ch 3. 3.1-3.5, 3.5, 3. 3.7. 7.3) 3) 1 Announcements Assignment 1


  1. Computer Science CPSC 322 Le Lecture ture 4 Un Uninf nform ormed ed Se Sear arch ch St Strat ategies, egies, Se Sear arch h wi with h Co Costs ts (Ch Ch 3. 3.1-3.5, 3.5, 3. 3.7. 7.3) 3) 1

  2. Announcements • Assignment 1 out this week • User first edition of the textbook (2010), but feel free to check corresponding sections on the new edition 2

  3. Today’s Lecture • Recap from Previous lectures • Depth first search • Breadth first search • Iterative deepening • Search with costs • Intro to heuristic search (time permitting) 3

  4. Bog ogus us Ver ersi sion on of of Gen ener eric ic Sea earch ch Algo gorithm thm Input ut: a graph a set of start nodes Boolean procedure goal(n) that tests if n is a goal node frontier:= [<g>: g is a goal node]; While ile frontier is not empty: selec lect and remov emove e path < n o ,…., n k > from frontier; If goal(n k ) If return urn <n o ,…., n k >; Fin ind a neighbor n of n k add n to frontier; add end end • How many bugs? B. Two C. Three A. One D. Four 4

  5. Bog ogus us Ver ersi sion on of of Gen ener eric ic Sea earch ch Algo gorithm thm Input ut: a graph a set of start nodes Boolean procedure goal(n) that tests if n is a goal node frontier:= [<g>: g is a goal node]; While ile frontier is not empty: selec lect and remov emove e path < n o ,…., n k > from frontier; If goal(n k ) If return urn <n o ,…., n k >; Fin ind a neighbor n of n k add n to frontier; add end end • Start at the start node(s), NOT at the goal • Add all neighbours of n k to the frontier, NOT just one • Add path(s) to frontier, NOT just the node(s) 5

  6. Com ompa paring ring Sea earch ching ng Algo gorithms: thms: Will it fi t find nd a s a sol oluti ution on? ? th the bes e best t on one? e? Def. : A search algorithm is complet omplete if whenever there is at least one solution, the algorithm is is guar arant ntee eed d to fin ind it it within a finite amount of time. Def.: A search algorithm is optimal imal if when it finds a solution, it is the best st one Def.: The tim ime complexity omplexity of a search algorithm is the worst rst- case se amount of time it will take to run, expressed in terms of maximum path length m • maximum branching factor b. • Def.: The space ace complex omplexit ity of a search algorithm is the worst rst-case case amount of memory that the algorithm will use (i.e., the maximum number of nodes on the frontier), also expressed in terms of m and b. Slide 6

  7. Today’s Lecture • Recap from Previous lectures • Depth first search • Breadth first search • Iterative deepening • Search with costs • Intro to heuristic search (time permitting) 7

  8. Il Illu lustrati strative ve Gr Graph: ph: DFS FS Shaded nodes represent the end of paths on the frontier DFS explores each path on the frontier until its end (or until a goal is found) before considering any other path. 8

  9. DFS FS as s an in instantiation stantiation of f th the Ge Generic eric Search arch Alg lgori orithm thm Input ut: : a graph a set of start nodes Boolean procedure goal(n) testing if n is a goal node frontier:= [<s>: s is a start node]; While le frontier is not empty: select lect and remove e path <n o ,…., n k > from frontier; If goal(n k ) If return <n o ,…., n k >; For ever ery neighbor n of n k, add <n o ,…., n k , n> to frontier; add end end • In DFS, the frontier is a last-in-first-out stack Let’s see how this works in 9

  10. DFS FS in in AI AI Sp Space ce • Go to: http://www.aispace.org/mainTools.shtml • Click on “Graph Searching” to get to the Search Applet • Select the “Solve” tab in the applet • Select one of the available examples via “File -> Load Sample Problem (good idea to start with the “ Simple Tree ” problem) • Make sure that “Search Options - > Search Algorithms” in the toolbar is set to “Depth - First Search”. • Step through the algorithm with the “ Fine Step ” or “ Step ” buttons in the toolbar • The panel above the graph panel verbally describes what is happening during each step • The panel at the bottom shows how the frontier evolves See ava vaila ilable ble help lp pages ges and vid ideo eo tutor oria ials ls for mor ore e details ails on how w to use e the Sear arch ch applet plet (http: ttp://ww www. w.ais aispace.o ace.org/se g/search arch/index. index.sh shtml ml) Slide 10

  11. Depth pth-first first Search: arch: DFS FS Example: • the frontier is [p 1 , p 2 , …, p r ] - each p k is a path • neighbors of last node of p 1 are {n 1 , …, n k } • What happens? • p 1 is selected, and its last node is tested for being a goal. If not • K new paths are created by adding each of {n 1 , …, n k } to p 1 • These K new paths replace p 1 at the beginning of the frontier. • Thus, the frontier is now: [(p 1, n 1 ), …, (p 1, n k ), p 2 , …, p r ] . NOTE: p 2 is only selected when all paths extending p 1 have been explored. • You can get a much better sense of how DFS works by looking at the Search Applet in AI Space Slide 11

  12. Analysis lysis of f DFS FS Def. : A search algorithm is complete if whenever there is at least one solution, the algorithm is guaranteed to find it within a finite amount of time. Is DFS complete? 12

  13. Analysis lysis of f DFS FS Def. : A search algorithm is complete if whenever there is at least one solution, the algorithm is guaranteed to find it within a finite amount of time. Is DFS complete? No If there are cycles in the graph, DFS may get “stuck” in one of them • • see this in AISpace by loading “Cyclic Graph Examples” or by adding a cycle to “Simple Tree” e.g., click on “Create” tab, create a new edge from N7 to N1, go back to • 13 “Solve” and see what happens

  14. Analysis lysis of f DFS FS Def.: A search algorithm is optimal if when it finds a solution, it is the best one (e.g., the shortest) Is DFS optimal? • E.g., goal nodes: red boxes 14

  15. 15

  16. Analysis lysis of f DFS FS Def.: A search algorithm is optimal if when it finds a solution, it is the best one (e.g., the shortest) Is DFS optimal? A Yes B No • E.g., goal nodes: red boxes 16

  17. Analysis lysis of f DFS FS Def.: A search algorithm is optimal if when it finds a solution, it is the best one (e.g., the shortest) Is DFS optimal? No • It can “stumble” on longer solution paths before it gets to shorter ones. • E.g., goal nodes: red boxes • see this in AISpace by loading “Extended Tree Graph” and set N6 as a goal • e.g., click on “Create” tab, right - click on N6 and select “set as a goal node” 17

  18. Analysis lysis of f DFS FS Def.: The space complexity of a search algorithm is the worst-case amount of memory that the algorithm will use (i.e., the maximal number of nodes on the frontier), expressed in terms of maximum path length m - maximum forward branching factor b . - • What is DFS ’ s space complexity, in terms of m and b ? See how this 18 works in

  19. Analysis lysis of f DFS FS Def.: The space complexity of a search algorithm is the worst-case amount of memory that the algorithm will use (i.e., the maximal number of nodes on the frontier), expressed in terms of maximum path length m - maximum forward branching factor b . - • What is DFS ’ s space complexity, in terms of m and b ? O(bm) - for every node in the path currently explored, DFS maintains a path to its unexplored siblings in the search tree - Alternative paths that DFS needs to explore - The longest possible path is m, with a maximum of b-1 alterative paths per node 19 along the path

  20. Analysis lysis of f DFS FS Def.: The time complexity of a search algorithm is the worst-case amount of time it will take to run, expressed in terms of maximum path length m - maximum forward branching factor b . - • What is DFS ’ s time complexity, in terms of m and b? • E.g., single goal node -> red box 21

  21. Analysis lysis of f DFS FS Def.: The time complexity of a search algorithm is the worst-case amount of time it will take to run, expressed in terms of maximum path length m - maximum forward branching factor b . - • What is DFS ’ s time complexity, in terms of m and b? D. C. A. B. O(b+m) O(b m ) O(m b ) O(bm) • E.g., single goal node -> red box • Hint: think about how many nodes are in a search tree m steps away from the start 22

  22. 23

  23. Analysis lysis of f DFS FS Def.: The time complexity of a search algorithm is the worst-case amount of time it will take to run, expressed in terms of maximum path length m - maximum forward branching factor b . - • What is DFS ’ s time complexity, in terms of m and b? O(b m ) • In the worst case, must examine every node in the tree • E.g., single goal node -> red box 24

  24. To To Summarize marize Complete Optimal Time Space DFS NO NO O(b m ) O(bm) 25

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend