uninformed search
play

Uninformed Search Lecture 4 Introduction to Artificial Intelligence - PDF document

Uninformed Search Lecture 4 Introduction to Artificial Intelligence Introduction to Artificial Intelligence Hadi Moradi moradi@usc.edu 1 Remember: Implementation of search algorithms Function General-Search(problem, Queuing-Fn) returns a


  1. Uninformed Search Lecture 4 Introduction to Artificial Intelligence Introduction to Artificial Intelligence Hadi Moradi moradi@usc.edu 1 Remember: Implementation of search algorithms Function General-Search(problem, Queuing-Fn) returns a Function General Search(problem Queuing Fn) returns a solution, or failure nodes � make-queue(make-node(initial-state[problem])) loop do if nodes is empty then return failure node � Remove-Front(nodes) ( ) if Goal-Test[problem] applied to State(node) succeeds then return node nodes � Queuing-Fn(nodes, Expand(node, Operators[problem])) end 2 1

  2. Remember: Implementation of search algorithms Queuing-Fn( queue , elements ) is a queuing Q i F ( l t ) i i function that inserts a set of elements into the queue and determines the order of node expansion. Varieties of the queuing function produce varieties of the search algorithm. 3 Encapsulating state information in nodes 4 2

  3. Evaluation of search strategies � Search algorithms are commonly evaluated � Search algorithms are commonly evaluated according to the following four criteria: � Completeness: does it always find a solution if one exists? � Time complexity: how long does it take as function of num of nodes? function of num. of nodes? � Space complexity: how much memory does it require? � Optimality: does it guarantee the least-cost solution? 5 Evaluation of search strategies � Time and space complexity are measured Time and space comple it a e meas ed in terms of: � b – max branching factor of the search tree � d – depth of the least-cost solution � m – max depth of the search tree (may be p ( y infinity) 6 3

  4. Note: Approximations • In our complexity analysis, we do not take the built-in loop- p y y , p detection into account. � The results only ‘formally’ apply to the variants of our algorithms WITHOUT loop-checks. � Studying the effect of the loop-checking � Studying the effect of the loop-checking on the complexity is hard: � overhead of the checking MAY or MAY NOT be compensated by the reduction of the size of the tree. http://www.cs.kuleuven.ac.be/~ dannyd/FAI/ 7 Note: Approximations � Also: our analysis DOES NOT take the length (space) of representing paths into account !! 8 4

  5. Uninformed search strategies Use only information available in the Use only information available in the problem formulation � Breadth-first � Uniform-cost � Uniform-cost � Depth-first � Depth-limited � Iterative deepening 9 Breadth-first search S � Move D A downwards B A D E , level by level by level, until C B B F E E goal is B D F F C E A G C reached. C F G G G 10 G 5

  6. Example: Traveling from Arad To Bucharest 11 Breadth-first search 12 6

  7. Breadth-first search 13 Breadth-first search 14 7

  8. Properties of breadth-first search � Search algorithms are commonly evaluated according to the following four criteria: � Completeness: � Time complexity: Time complexity: � Space complexity: � Optimality: 15 Uniform-cost search So, the queueing function keeps the node list sorted by increasing path cost, and we expand the first unexpanded node (hence with smallest path cost) A refinement of the breadth-first strategy: Breadth-first = uniform-cost with path cost = node depth 16 8

  9. Romania with step costs in km 17 Uniform-cost search 18 9

  10. Uniform-cost search 19 Uniform-cost search 20 10

  11. Properties of uniform-cost search � Completeness: � Completeness: ? ? � Time complexity: ? � Space complexity: ? � Optimality: ? 21 Implementation of uniform- cost search � Initialize Queue with root node (built from start Q ( state) � Repeat until Queue is empty/node 1 has Goal state: � Remove first node from front of Queue � Expand node (find its children) � Reject those children that have already been considered, to avoid loops � Add remaining children to Queue, in a way that keeps entire queue sorted by increasing path cost � If Goal was reached, return success, otherwise failure 22 11

  12. Caution! S 1 1 5 A A 5 5 � Uniform-cost search Uniform cost search C C 1 2 5 B not optimal if it is 10 10 D terminated when any node in the 5 queue has goal E 15 15 100 100 state. state 5 F 20 20 • Uniform cost returns the G path with cost 102 (if any 5 goal node is considered a solution), while there is a path with cost 25. 23 Question: S 1 5 A A C C 1 1 B 5 � Do we have the 1 D previous problem in this example? 5 E 100 100 5 F G 5 24 12

  13. Note: Loop Detection � In class we saw that the search may fail � In class, we saw that the search may fail or be sub-optimal if: - no loop detection: then algorithm runs into infinite cycles (A > B > A > B > …) (A -> B -> A -> B -> …) -not queueing-up a node that has a state which we have already visited: may yield suboptimal solution 25 Note: Loop Detection - simply avoiding to go back to our parent: simply avoiding to go back to our parent: looks promising, but we have not proven that it works Solution? I s that enough?? 26 13

  14. Example From: http://www.csee.umbc.edu/471/current/notes/uninformed-search/ G 27 Breadth-First Search Solution From: http://www.csee.umbc.edu/471/current/notes/uninformed-search/ 28 14

  15. Uniform-Cost Search Solution From: http://www.csee.umbc.edu/471/current/notes/uninformed-search/ 29 Note: Queuing in Uniform- Cost Search Problem: wasting (but not incorrect) to queue-up th three nodes with G: d ith G Although different paths, but for sure that the one with � smallest path cost (9 in the example) is the first one in the queue. Solution: refine the queuing function by: 30 I s that it?? 15

  16. A Clean Robust Algorithm Function UniformCost-Search(problem, Queuing-Fn) returns a solution, or failure open � make-queue(make-node(initial-state[problem])) closed � [empty] loop do if open is empty then return failure currnode � Remove-Front(open) if Goal-Test[problem] applied to State(currnode) then return currnode children � Expand(currnode, Operators[problem]) while children not empty [… see next slide …] end closed � Insert(closed, currnode) open � Sort-By-PathCost(open) end 31 A Clean Robust Algorithm [… see previous slide …] children � Expand(currnode, Operators[problem]) while children not empty child � Remove-Front(children) if no node in open or closed has child’s state open � Queuing-Fn(open, child) else if there exists node in open that has child’s state if PathCost(child) < PathCost(node) open � Delete-Node(open, node) open � Queuing-Fn(open, child) p g ( p ) else if there exists node in closed that has child’s state if PathCost(child) < PathCost(node) closed � Delete-Node(closed, node) open � Queuing-Fn(open, child) end [… see previous slide …] 32 16

  17. Example # State Depth Cost Parent S 1 5 5 A 1 1 S S 0 0 0 0 - C 1 B 5 1 D 5 E E 100 100 5 F G 5 33 Example # State Depth Cost Parent S S 1 1 1 S S 0 0 0 0 - 5 A 2 A 1 1 1 C 1 3 C 1 5 1 B 5 1 D Black = open queue 5 Grey = closed queue E E 100 100 100 100 # : The step in which the node expanded 5 Insert expanded nodes F Such as to keep open queue G sorted 5 34 17

  18. Example # State Depth Cost Parent S S 1 1 1 S S 0 0 0 0 - 5 5 A 2 A 1 1 1 C 1 4 B 2 2 2 B 5 3 C 1 5 1 1 D Node 2 has 2 successors: one with state B 5 and one with state S. E E 100 100 100 100 We have node # 1 in closed with state S; 5 F but its path cost 0 is smaller than the path G cost obtained by expanding from A to S. 5 So we do not queue-up the successor of node 2 that has state S. 35 Example # State Depth Cost Parent S S 1 1 S S 0 0 0 0 - 5 5 A 2 A 1 1 1 C 1 4 B 2 2 2 B 5 5 C 3 3 4 1 D 6 G 3 102 4 Node 4 has a successor with state C and 5 Cost smaller than node # 3 in open that E E 100 100 100 100 Also had state C; so we update open Also had state C; so we update open To reflect the shortest path. 5 F G 5 36 18

  19. Example # State Depth Cost Parent S S 1 5 5 1 1 S S 0 0 0 0 - A C 2 A 1 1 1 1 4 B 2 2 2 B 5 5 C 3 3 4 1 D 7 D 4 8 5 6 G 3 102 4 5 E E 100 100 100 100 5 F G 5 37 Example # State Depth Cost Parent S S 1 1 S S 0 0 0 0 - 5 5 A 2 A 1 1 1 C 1 4 B 2 2 2 B 5 5 C 3 3 4 1 D 7 D 4 8 5 8 E 5 13 7 6 G 3 102 4 5 E E 100 100 100 100 5 F G 5 38 19

  20. Example # State Depth Cost Parent S S 1 5 5 1 1 S S 0 0 0 0 - A C 2 A 1 1 1 1 4 B 2 2 2 B 5 5 C 3 3 4 1 D 7 D 4 8 5 8 E 5 13 7 5 9 F 6 18 8 E E 6 G 3 102 4 100 100 100 100 5 F G 5 39 Example # State Depth Cost Parent S S 1 5 5 1 S S 0 0 0 0 - A C 2 A 1 1 1 1 4 B 2 2 2 B 5 5 C 3 3 4 1 D 7 D 4 8 5 8 E 5 13 7 5 9 F 6 18 8 E E 10 G 7 23 9 100 100 100 100 6 6 G G 3 3 102 102 4 4 5 F G 5 40 20

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