1 / 55

Solving problems by searching

Solving problems by searching. Chapter 3. Outline. Problem-solving agents Problem types Problem formulation Example problems Basic search algorithms. Problem-solving agents. Example: Romania. On holiday in Romania; currently in Arad. Flight leaves tomorrow to Bucharest Formulate goal:

lucus
Download Presentation

Solving problems by searching

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. Solving problems by searching Chapter 3 CS 3243 - Blind Search

  2. Outline • Problem-solving agents • Problem types • Problem formulation • Example problems • Basic search algorithms CS 3243 - Blind Search

  3. Problem-solving agents CS 3243 - Blind Search

  4. Example: Romania • On holiday in Romania; currently in Arad. • Flight leaves tomorrow to Bucharest • Formulate goal: • goal: be in Bucharest • Formulate problem: • states: various cities • actions: drive between cities • Find solution: • sequence of cities , {Arad, Sibiu, Fagaras, Bucharest} CS 3243 - Blind Search

  5. Example: Romania CS 3243 - Blind Search

  6. Problem types • Deterministic, fully observablesingle-state problem • Agent knows exactly which state it will be in; solution is a sequence • Non-observable sensorless problem (conformant توافقي problem) • Agent may have no idea where it is; solution is a sequence • Nondeterministic and/or partially observable contingency طارئ/احتمال problem • percepts provide new information about current state • often interleave {search, execution} • Unknown state space exploration problem CS 3243 - Blind Search

  7. Example: vacuumworld • Single-state, start in #5. Solution? CS 3243 - Blind Search

  8. Example: vacuumworld • Single-state, start in #5. Solution?[Right, Suck] • Sensorless, start in {1,2,3,4,5,6,7,8} • Solution? CS 3243 - Blind Search

  9. Example: vacuumworld • Single-state, start in #5. Solution?[Right, Suck] • Sensorless, start in {1,2,3,4,5,6,7,8} • Solution? [Right,Suck,Left,Suck] e.g., Right goes to {2,4,6,8} Left goes to {1,3,5,7} CS 3243 - Blind Search

  10. Example: vacuumworld • Contingency • Nondeterministic: Suck may dirty a clean carpet • Partially observable: location, dirt at current location. • Percept: [L, Clean], i.e., start in #5 or #7 Solution? [Right, if dirt then Suck] CS 3243 - Blind Search

  11. Single-state problem formulation A problem is defined by four items: • initial state e.g., "at Arad" • actions or successor functionS(x) = set of action–state pairs • e.g., S(Arad) = {<Arad  Zerind, Zerind>, … } • 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, etc. • c(x,a,y) is the step cost, assumed to be ≥ 0 • A solution is a sequence of actions leading from the initial state to a goal state CS 3243 - Blind Search

  12. Selecting a state space • Real world is complex • state space must be abstracted for problem solving (Abstract) state = set of real states • (Abstract) action = complex combination of real actions • e.g., "Arad Zerind" represents a complex set of possible routes, detours, rest stops, etc. • (Abstract) solution = set of real paths that are solutions in the real world CS 3243 - Blind Search

  13. Vacuum world state space graph • states? • actions? • goal test? • path cost? CS 3243 - Blind Search

  14. Vacuum world state space graph • states?integerdirt and robotlocation • actions?Left, Right, Suck • goal test?nodirt at alllocations • path cost?1 per action CS 3243 - Blind Search

  15. Example: The 8-puzzle • states? • actions? • goal test? • path cost? CS 3243 - Blind Search

  16. Example: The 8-puzzle • states?locations of tiles • actions?moveblankleft, right, up, down • goal test?= goal state (given) • path cost? 1 per move CS 3243 - Blind Search

  17. Example: robotic assembly • states?: real-valued coordinates of robot joint angles parts of the object to be assembled actions?: continuous motions of robot joints goal test?: complete assembly path cost?: time to execute CS 3243 - Blind Search

  18. Tree search algorithms • Basic idea: • offline, simulated exploration of statespace by generatingsuccessors of already-explored states (~expandingstates) CS 3243 - Blind Search

  19. Tree search example CS 3243 - Blind Search

  20. Tree search example CS 3243 - Blind Search

  21. Tree search example CS 3243 - Blind Search

  22. Implementation: general tree search CS 3243 - Blind Search

  23. Implementation: states vs. nodes • A state is a (representation of) a physicalconfiguration. • A node is a datastructure constituting part of a searchtree includes state, parent node, action, path costg(x), depth. • The Expandfunctioncreatesnewnodes, filling in the various fields and using the SuccessorFn of the problem to create the correspondingstates. CS 3243 - Blind Search

  24. Search strategies • A searchstrategy 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? • timecomplexity: number of nodesgenerated during the search • spacecomplexity: maximumnumber of nodesstored in memory • optimality: does it always find a least-costsolution? • Time and spacecomplexity are measured in terms of • b:branchingfactor or the maximum number of successors of any node in the search tree. • d: depth of the least-costsolution • m: maximumdepth of anypath in the statespace. CS 3243 - Blind Search

  25. Uninformed search strategies • Uninformed search strategies useonly the informationavailable in the problemdefinition. • Also known as BlindSearch. • Breadth-first search • Uniform-cost search • Depth-first search • Depth-limited search • Iterativedeepening search CS 3243 - Blind Search

  26. Breadth-first search • The root node is expanded first • Then allsuccessors of the root node are expanded next, then their successors, and so on. CS 3243 - Blind Search

  27. Breadth-first search • Allnodes are expanded at a given depth in the search tree before any nodes at the nextlevel are expanded. CS 3243 - Blind Search

  28. Breadth-first search • Nodes that are visitedfirst will be expandedfirst.Implementation: • fringe is a FIFOqueue, i.e., new successors go at end. CS 3243 - Blind Search

  29. Breadth-first search • Expandshallow nodes beforedeeper nodes • Implementation: • fringe is a FIFOqueue, i.e., new successors go at end CS 3243 - Blind Search

  30. Properties of breadth-first search • Complete?Yes (if b is finite) • Time?b+b2+b3+… +bd + (bd+1-b) = O(bd+1) • Space?b+b2+b3+… +bd +(bd+1 - b) (keeps every node in memory) • Optimal? Yes (if cost = 1 per step) CS 3243 - Blind Search

  31. Time & Memory requirements for Breadth-first search Ex: b = 10 , speed = 10000 nodes/sec , space = 1000 bytes/node Space is the biggerproblem (more than time) CS 3243 - Blind Search

  32. Uniform-cost search • Expandleast-costunexpandednodeImplementation: • fringe = queue ordered by pathcost • Equivalent to breadth-first if step costs all equal • Complete? Yes, if step cost ≥ ε (+ve constant)Time?# of nodes with g ≤ cost of optimalsolution, O(bceiling(C*/ ε))where C* is the cost of the optimal solution • Space?# of nodes with g≤ cost of optimalsolution, O(bceiling(C*/ ε))Optimal?Yes – nodes expanded in increasing order of g(n) CS 3243 - Blind Search

  33. Depth-first search • Expand the deepestnode in the fringe of search treeexpandednodes are dropped from the fringe. CS 3243 - Blind Search

  34. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  35. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  36. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  37. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  38. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  39. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  40. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  41. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  42. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  43. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  44. Depth-first search • ExpanddeepestunexpandednodeImplementation: • fringe= LIFOqueue, i.e., put successors at front CS 3243 - Blind Search

  45. Properties of depth-first search • Complete?No: fails in infinite-depth spaces, spaces with loops (unbounded tree) • Modify to avoidrepeatedstates along path • Time?O(bm): where m is maximumdepth. • if solutions are dense, much faster than breadth-firstSpace?O(bm)= bm+1 nodes space. • Ex: memory = 118 kB(instead of 10 peta B for breadth-first , for d=12) Optimal? No (in case of multi-nodes goal) CS 3243 - Blind Search

  46. Depth-limited search • To solve the problem of unbounded trees. = depth-first search with depth limit L i.e., nodes at depthL treated as they have nosuccessors • In case of L < d , the goal at depth d is beyond the limit, and hence fail to get the goal. • In case of L > d , the solution is non-optimal. CS 3243 - Blind Search

  47. Iterative deepening search • it combines the benefits of depth-first (low memory & breadth-first (complete) search. • Total number of nodes generated: • N(IDS) = D*b + (d-1)*b2 + ….. + 1 * bd • Ex: if b=10 , d=5 , • N(IDS) = 123,450 • N(BFS) = 1,111,100 • Hence, Iterative deepening is the preferreduninformedsearch method when there is large search space and the depth of the solution is notknown. CS 3243 - Blind Search

  48. Iterative deepening search L=0 CS 3243 - Blind Search

  49. Iterative deepening search L=1 CS 3243 - Blind Search

  50. Iterative deepening search L=2 CS 3243 - Blind Search

More Related