1 / 61

Search I: Uninformed Search Strategies (final revision) AIMA Chapter 3

Search I: Uninformed Search Strategies (final revision) AIMA Chapter 3. Intro to A.I. CIS 391 Fall 2008. Outline (3-4 lectures). Problem-solving agents A kind of goal-based agent Problem formulation Example problems Tree Search Basics Basic uninformed search algorithms

michon
Download Presentation

Search I: Uninformed Search Strategies (final revision) AIMA Chapter 3

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. Search I: Uninformed Search Strategies(final revision)AIMA Chapter 3 Intro to A.I. CIS 391 Fall 2008

  2. Outline (3-4 lectures) • Problem-solving agents • A kind of goal-based agent • Problem formulation • Example problems • Tree Search Basics • Basic uninformed search algorithms • Breadth-first search • Depth-first Search • Iterative-deepening Search • Step-cost functions & Uniform-cost search CIS 391 - Intro to AI 2

  3. Problem Solving Agents &Problem Formulation

  4. Simple Problem Solving Agents • Assumes Environment is • Static • Fully Observable • Deterministic • Usually: Discrete CIS 391 - Intro to AI 4

  5. Review: Relevant Environment Types • Static(vs. dynamic): The environment is unchanged while an agent is deliberating. • Fully observable (vs. partially observable): An agent's sensors give it access to the complete state of the environment at each point in time. • Discrete (vs. continuous): A limited number of distinct, clearly defined percepts and actions. • Deterministic (vs. stochastic): The next state of the environment is completely determined by the current state and the action executed by the agent. CIS 391 - Intro to AI 5

  6. Example: Holiday in Romania You are here You need to be here CIS 391 - Intro to AI 6

  7. Example: Holiday in Romania • On holiday in Romania; currently in Arad • Flight leaves tomorrow from Bucharest • Formulate goal • Be in Bucharest • Formulate problem • States: various cities • Actions: drive between cities • Find solution • Sequence of cities; e.g. Arad, Sibiu, Fagaras, Bucharest, … CIS 391 - Intro to AI 7

  8. Problem formulation • A problem is defined by: • An initial state, e.g. Arad • Successor function S(X)= set of action-state pairs • e.g. S(Arad)={<Arad  Zerind, Zerind>,…} • initial state + successor function* = state space • Goal test, can be • Explicit, e.g. x=‘at bucharest’ • Implicit, e.g. checkmate(x) • Path cost (additive) • e.g. sum of distances, number of actions executed, … • c(x,a,y) is the step cost, assumed to be >= 0 • (where action a takes one from state x to state y) A solution is a sequence of actions from initial to goal state. Optimal solution has the lowest path cost. CIS 391 - Intro to AI 8

  9. Selecting a state space • Real world is absurdly complex State space must be abstracted for problem solving • (abstract) State = set (equivalence class) of real/abstract states • (abstract) Action = complex combination of real/abstract actions • e.g. Arad  Zerind represents a complex set of possible routes, detours, rest stops, etc • The abstraction is valid if the path between two states is reflected in the real world • (abstract) Solution = set of real/abstract paths that are solutions in the real/abstract world • Each abstract action should be “easier” than the real problem CIS 391 - Intro to AI 9

  10. aab S1 Action: (change a to b) aaa bbb abb Start Goal S2 CIS 391 - Intro to AI 10

  11. Formulating a Search Problem Decide: • Which properties matter & how to represent • Initial State, Goal State, Possible Intermediate States • Which actions are possible & how to represent • Operator Set • Which action is next • Path Cost Function CIS 391 - Intro to AI 11

  12. Example: 8-puzzle • States?? • Initial state?? • Actions?? • Goal test?? • Path cost?? CIS 391 - Intro to AI 12

  13. Example: 8-puzzle • States?? Integer location of each tile • Initial state?? Any state can be initial • Actions?? {Left, Right, Up, Down} • Goal test?? Check if goal configuration is reached • Path cost?? Number of actions to reach goal CIS 391 - Intro to AI 13

  14. Example: Missionaries & Cannibals Three missionaries and three cannibals come to a river. A rowboat that seats two is available. If the cannibals ever outnumber the missionaries on either bank of the river, the missionaries will be eaten. How shall they cross the river? CIS 391 - Intro to AI 14

  15. Formulation: Missionaries & Cannibals • How to formalize: • Initial state: all M, all C, and boat on one bank • Goal test: True if all M, all C, and boat on other bank • Operators: ?? • Cost: ?? Remember: • Representation: • States: Which properties matter & how to represent • Operators: Which actions are possible & how to represent • Path Cost: Deciding which action is next CIS 391 - Intro to AI 15

  16. Missionaries and Cannibals States: (CL, ML, BL) Initial 331 Goal 000 Operators: Travel Across Travel Back -101 101 -201 201 -011 011 -021 021 -111 111 CIS 391 - Intro to AI 16

  17. Important Definitions • State space: the set of all states reachable from the initial state by any sequence of actions • when several operators can apply to each state, this gets large very quickly. • Path: a sequence of actions leading from one state sj to another state sk • Frontier:those states that are available for the application of operators/actions • Solution: a path from the initial state (si) to a state sf that satisfies the goal test CIS 391 - Intro to AI 17

  18. Basic search algorithms: Tree Search • How do we find the solutions for the previous problem formulations? • Search the state space (remember complexity of space depends on state representation) • Here: search through explicit tree generation • ROOT= initial state. • Nodes and leafs generated through successor function. • In general search generates a graph (same state through multiple paths), but we’ll just look at trees • Treats different paths to the same node as distinct CIS 391 - Intro to AI 18

  19. Simple tree search example function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem do if no candidates for expansion thenreturnfailure choose leaf node for expansion according to strategy if node contains goal state thenreturnsolution else expand the node and add resulting nodes to the search tree enddo CIS 391 - Intro to AI 19

  20. Simple tree search example function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem do if no candidates for expansion thenreturnfailure choose leaf node for expansion according to strategy if node contains goal state thenreturnsolution else expand the node and add resulting nodes to the search tree enddo CIS 391 - Intro to AI 20

  21. Simple tree search example function TREE-SEARCH(problem, strategy) return a solution or failure Initialize search tree to the initial state of the problem do if no candidates for expansion thenreturnfailure choose leaf node for expansion according to strategy if node contains goal state thenreturnsolution else expand the node and add resulting nodes to the search tree enddo • Determines search process!! CIS 391 - Intro to AI 21

  22. 8-Puzzle: States and Nodes • A state is a (representation of a) physical configuration • A node is a data structure constituting part of a search tree • Also includes parent, children, depth, path cost g(x) • Here node= <state, parent-node, action, path-cost, depth> • States do not have parents, children, depth or path cost! • The EXPAND function • creates new nodes, • fills in the various fields • uses the OPERATORS (or SUCCESSOR-FN) of the problem to create the corresponding states Node State parent Action= Up Cost = 6 Depth = 6 state children CIS 391 - Intro to AI 22

  23. 8-Puzzle Search Tree • Leaving Action, Cost, Depth Implicit • Ignoring “backwards” moves (Ignoring “backwards” moves) CIS 391 - Intro to AI 23

  24. Tree search algorithm function TREE-SEARCH(problem,fringe) return a solution or failure fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe) loop do if EMPTY?(fringe) then return failure node REMOVE-FIRST(fringe) if GOAL-TEST[problem] applied to STATE[node] succeeds then return SOLUTION(node) fringe INSERT-ALL(EXPAND(node, problem), fringe) • fringe: generated nodes which are not yet expanded • Initially an empty queue, with operations insert, insert-all, remove-first , … & predicates empty?, … • The search strategy is implemented in the details of insert-all, in where new items are inserted into the queue CIS 391 - Intro to AI 24

  25. Tree search algorithm (2) function EXPAND(node,problem) return a set of nodes successors the empty set for each <action, result> in SUCCESSOR-FN[problem](STATE[node]) do s a new NODE STATE[s]  result PARENT-NODE[s]  node ACTION[s]  action PATH-COST[s]  PATH-COST[node]+ STEP-COST(node,action,s) DEPTH[s]  DEPTH[node]+1 add s to successors returnsuccessors CIS 391 - Intro to AI 25

  26. Search Strategies • Strategy = order of expansion • Dimensions for evaluation • Completeness- always find the solution? • Time complexity - # of nodes generated • Space complexity - # of nodes in memory • Optimality - finds a least cost solution? • Time/space complexity measurements • b,maximum branching factor of search tree • d,depth of the least cost solution • m, maximum depth of the state space (potentially ) CIS 391 - Intro to AI 26

  27. Uninformed Search Strategies

  28. Uninformed search strategies • (a.k.a. blind search) = use only information available in problem definition. • When strategies can determine whether one non-goal state is better than another informed search. • Categories defined by expansion algorithm: • Breadth-first search • Depth-first search • (Depth-limited search) • Iterative deepening search • Uniform-cost search • Bidirectional search CIS 391 - Intro to AI 28

  29. Breadth-first search • Idea: • Expand shallowest unexpanded node • Implementation: • Fringe is FIFO (First-In-First-Out) Queue: • Put successors at the end of fringe successor list. CIS 391 - Intro to AI 29

  30. 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 8 3 1 6 4 7 5 2 8 3 1 6 7 5 4 2 8 3 1 4 7 6 5 2 8 3 6 4 1 7 5 2 3 1 8 4 7 6 5 2 8 3 1 4 7 6 5 Breadth-first Search 2 8 3 1 6 4 7 5 1 • Expand shallowestunexpanded node • Implementation: fringe is a FIFO queue 2 3 4 9 8 5 7 6 CIS 391 - Intro to AI 30

  31. Review: Tree search algorithm function TREE-SEARCH(problem,fringe) return a solution or failure fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe) loop do if EMPTY?(fringe) then return failure node REMOVE-FIRST(fringe) if GOAL-TEST[problem] applied to STATE[node] succeeds then return SOLUTION(node) fringe INSERT-ALL(EXPAND(node, problem), fringe) Test immediately after removing from queue Position within queue of new items determines search strategy Nodes inserted into queue without testing to see if they are goal states CIS 391 - Intro to AI 31

  32. Properties of breadth-first search • Complete? • Time? • Space? • Optimal? CIS 391 - Intro to AI 32

  33. Properties of breadth-first search • Complete?Yes (if b is finite) • Time?1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) • Space?O(bd+1) (keeps every node in memory) • Optimal? Yes (if cost = 1 per step) (not optimal in general) b: maximum branching factor of search tree d: depth of the least cost solution m: maximum depth of the state space () CIS 391 - Intro to AI 33

  34. Exp Space worse than Exp Time… • Two lessons: • Memory requirements are a bigger problem than execution time. • Exponential complexity search problems cannot be solved by uninformed search methods for any but the smallest instances. Fig 3.11 Assumes b=10, 10Knodes/sec, 1K bytes/nodes CIS 391 - Intro to AI 34

  35. Depth First Search

  36. Depth-first search • Idea: • Expand deepest unexpanded node • Implementation: • Fringe is LIFO (Last-In-First-Out) Queue: • Put successors at the front of fringe successor list. CIS 391 - Intro to AI 36

  37. Uninformed search strategies • Categories defined by expansion algorithm: • Breadth-first search: FIFO queue • Depth-first search: LIFO queue • (Depth-limited search) • Iterative deepening search • Uniform-cost search • Bidirectional search CIS 391 - Intro to AI 37

  38. 2 8 3 1 6 4 7 5 2 8 3 1 4 7 6 5 2 8 3 1 6 4 7 5 2 8 3 1 6 7 5 4 2 8 3 1 4 7 6 5 2 8 3 6 4 1 7 5 2 3 1 8 4 7 6 5 2 8 3 1 4 7 6 5 Depth-first Search 2 8 3 1 6 4 7 5 1 • Expand deepestunexpanded node • Implementation: fringe is a LIFO queue 8 2 4 9 7 3 6 5 CIS 391 - Intro to AI 38

  39. Properties of depth-first search • Complete? No: fails in infinite-depth spaces, spaces with loops • Modify to avoid repeated states along path  complete in finite spaces • Time?O(bm): terrible if m is much larger than d • but if solutions are dense, may be much faster than breadth-first • Space?O(bm), i.e., linear space! • Optimal? No b: maximum branching factor of search tree d: depth of the least cost solution m: maximum depth of the state space () CIS 391 - Intro to AI 39

  40. Depth-first vs Breadth-first • Use depth-first if • Space is restricted • There are many possible solutions with long paths and wrong paths can be detected quickly • Search can be fine-tuned quickly • Use breadth-first if • Possible infinite paths • Some solutions have short paths • Can quickly discard unlikely paths CIS 391 - Intro to AI 40

  41. Iterative Deepening Search

  42. Search Conundrum • Breadth-first • Complete • uses O(bd+1) space • Depth-first • Not complete unless m is bounded • Uses O(bm) time; terrible if m >> d • butonly uses O(bm) space How can we get the best of both? CIS 391 - Intro to AI 42

  43. Depth-limited search: A building block • Depth-First search but with depth limit l. • i.e. nodes at depth l have no successors. • Solves the infinite-path problem. • If l = d (by luck!), then optimal • But: • If l < d then incompleteness results. • If l > d then not optimal. • Time complexity: • Space complexity: CIS 391 - Intro to AI 43

  44. Iterative deepening search • A general strategy to find best depth limit l. • Key idea: use Depth-limited search as subroutine, with increasing l . • Complete: Goal is always found at depth d, the depth of the shallowest goal-node. • Combines benefits of DF-search & BF-search CIS 391 - Intro to AI 44

  45. Iterative Deepening Search For d = 0 to  do depth-limited-search to level d if it succeeds then return solution (for details see full algorithm in AIMA pp 77-79) Could this possibly be efficient? Corrected! CIS 391 - Intro to AI 45

  46. ID-search, example • Limit=0 CIS 391 - Intro to AI 46

  47. ID-search, example • Limit=1 CIS 391 - Intro to AI 47

  48. ID-search, example • Limit=2 CIS 391 - Intro to AI 48

  49. ID-search, example • Limit=3 CIS 391 - Intro to AI 49

  50. ID search, Evaluation I: Complete? • Complete: YES (no infinite paths) CIS 391 - Intro to AI 50

More Related