1 / 61

Lecture 3: State-spaces and Uninformed Search

Lecture 3: State-spaces and Uninformed Search. ICS 271 Fall 2008. Overview. Intelligent agents: problem solving as search State-space problem formulation consists of state space operators, successor function start state goal states Cost function The search graph

Download Presentation

Lecture 3: State-spaces and Uninformed 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. Lecture 3: State-spaces and Uninformed Search ICS 271 Fall 2008

  2. Overview • Intelligent agents: problem solving as search • State-space problem formulation consists of • state space • operators, successor function • start state • goal states • Cost function • The search graph • A Search Tree is an efficient way to represent the search process • There are a variety of search algorithms, including • Depth-First Search • Breadth-First Search • Others which use heuristic knowledge (in future lectures)

  3. Problem-Solving Agents • Intelligent agents can solve problems by searching a state-space • State-space Model • the agent’s model of the world • usually a set of discrete states • e.g., in driving, the states in the model could be towns/cities • Goal State(s) • a goal is defined as a desirable state for an agent • there may be many states which satisfy the goal • e.g., drive to a town with a ski-resort • or just one state which satisfies the goal • e.g., drive to Mammoth • Operators • operators are legal actions which the agent can take to move from one state to another

  4. C B A D F E The Traveling Salesperson Problem • Find the shortest tour that visits all cities without visiting any city twice and return to starting point. • State: sequence of cities visited • S0 = A

  5. C B A D F E The Traveling Salesperson Problem • Find the shortest tour that visits all cities without visiting any city twice and return to starting point. • State: sequence of cities visited • S0 = A • SG = a complete tour

  6. Example: 8-queen problem

  7. The Sliding Tile Problem Up Down Left Right

  8. The “8-Puzzle” Problem Start State 1 2 3 4 6 7 5 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Goal State

  9. Tree search example

  10. Tree search example

  11. Tree search example

  12. State space of the 8 puzzle problem

  13. Implementation: states vs. nodes • A state is a (representation of) a physical configuration • A node is a data structure constituting part of a search tree contains info such as: state, parent node, action, path costg(x), depth • The Expand function creates new nodes, filling in the various fields and using the SuccessorFn of the problem to create the corresponding states.

  14. Searching the search space • Uninformed Blind search • Breadth-first • uniform first • depth-first • Iterative deepening depth-first • Bidirectional • Branch and Bound • Informed Heuristic search • Greedy search, hill climbing, Heuristics • Important concepts: • Completeness • Time complexity • Space complexity • Quality of solution

  15. Breadth-first search • Expand shallowest unexpanded node • Fringe: nodes waiting in a queue to be explored, also called OPEN • Implementation: • fringe is a first-in-first-out (FIFO) queue, i.e., new successors go at end of the queue. Is A a goal state?

  16. Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end Expand: fringe = [B,C] Is B a goal state?

  17. Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end Expand: fringe=[C,D,E] Is C a goal state?

  18. Breadth-first search • Expand shallowest unexpanded node • Implementation: • fringe is a FIFO queue, i.e., new successors go at end Expand: fringe=[D,E,F,G] Is D a goal state?

  19. B C A G S D F E Example: Map Navigation S = start, G = goal, other nodes = intermediate states, links = legal transitions

  20. A B C S G D E F Initial BFS Search Tree S D A D B E E C Note: this is the search tree at some particular point in in the search.

  21. Search Method 1: Breadth First Search S D A B A E D S E E C F S B B (Use the simple heuristic of not generating a child node if that node is a parent to avoid “obvious” loops: this clearly does not avoid all loops and there are other ways to do this)

  22. Breadth-First Search

  23. Breadth-First-Search (*) 1. Put the start node s on OPEN 2. If OPEN is empty exit with failure. 3. Remove the first node n from OPEN and place it on CLOSED. 4. If n is a goal node, exit successfully with the solution obtained by tracing back pointers from n to s. 5. Otherwise, expand n, generating all its successors attach to them pointers back to n, and put them at the end of OPEN in some order. • Go to step 2. For Shortest path or uniform cost: 5’ Otherwise, expand n, generating all its successors attach to them pointers back to n, and put them in OPEN in order of shortest cost path. * This simplified version does not check for loops or repeated states

  24. What is the Complexity of Breadth-First Search? • Time Complexity • assume (worst case) that there is 1 goal leaf at the RHS • so BFS will expand all nodes = 1 + b + b2+ ......... + bd = O (bd) • Space Complexity • how many nodes can be in the queue (worst-case)? • at depth d-1 there are bd unexpanded nodes in the Q = O (bd) d=0 d=1 d=2 G d=0 d=1 d=2 G

  25. Examples of Time and Memory Requirements for Breadth-First Search Depth of Nodes Solution Expanded Time Memory 0 1 1 millisecond 100 bytes 2 111 0.1 seconds 11 kbytes 4 11,111 11 seconds 1 megabyte 8 108 31 hours 11 giabytes 12 1012 35 years 111 terabytes Assuming b=10, 1000 nodes/sec, 100 bytes/node

  26. 1 2 3 7 4 6 5 8 9 10 11 12 13 14 15 Breadth-First Search (BFS) Properties • Solution Length: optimal • Expand each node once (can check for duplicates) • Search Time: O(Bd) • Memory Required: O(Bd) • Drawback: requires exponential space

  27. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = Last In First Out (LIPO) queue, i.e., put successors at front Is A a goal state?

  28. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[B,C] Is B a goal state?

  29. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[D,E,C] Is D = goal state?

  30. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[H,I,E,C] Is H = goal state?

  31. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[I,E,C] Is I = goal state?

  32. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[E,C] Is E = goal state?

  33. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[J,K,C] Is J = goal state?

  34. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[K,C] Is K = goal state?

  35. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[C] Is C = goal state?

  36. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[F,G] Is F = goal state?

  37. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[L,M,G] Is L = goal state?

  38. Depth-first search • Expand deepest unexpanded node • Implementation: • fringe = LIFO queue, i.e., put successors at front queue=[M,G] Is M = goal state?

  39. A B C S G D E F Search Method 2: Depth First Search (DFS) S D A B D E C Here, to avoid repeated states assume we don’t expand any child node which appears already in the path from the root S to the parent. (Again, one could use other strategies) F D G

  40. Depth-First Search

  41. Depth-First-Search (*) 1. Put the start node s on OPEN 2. If OPEN is empty exit with failure. 3. Remove the first node n from OPEN and place it on CLOSED. 4. If n is a goal node, exit successfully with the solution obtained by tracing back pointers from n to s. 5. Otherwise, expand n, generating all its successors attach to them pointers back to n, and put them at the top of OPEN in some order. 6. Go to step 2.

  42. What is the Complexity of Depth-First Search? • Time Complexity (d is deepest path) • assume (worst case) that there is 1 goal leaf at the RHS • so DFS will expand all nodes =1 + b + b2+ ......... + bd = O (bd) • Space Complexity • how many nodes can be in the queue (worst-case)? • at depth l < d we have b-1 nodes • at depth d we have b nodes • total = (d-1)*(b-1) + b = O(bd) d=0 d=1 d=2 G d=0 d=1 d=2 d=3 d=4

  43. Techniques for Avoiding Repeated States S • Method 1 • do not create paths containing cycles (loops) • Method 2 • never generate a state generated before • must keep track of all possible states (uses a lot of memory) • e.g., 8-puzzle problem, we have 9! = 362,880 states • Method 1 is most practical, work well on most problems B S B C C C S B S State Space Example of a Search Tree

  44. Example, Diamond Networks

  45. Depth-First Search (DFS) Properties • Non-optimal solution path • Incomplete unless there is a depth bound • Reexpansion of nodes (when the search space is a graph), • Exponential time • Linear space

  46. Comparing DFS and BFS • Same worst-case time Complexity, but • In the worst-case BFS is always better than DFS • Sometime, on the average DFS is better if: • many goals, no loops and no infinite paths • BFS is much worse memory-wise • DFS is linear space • BFS may store the whole search space. • In general • BFS is better if goal is not deep, if infinite paths, if many loops, if small search space • DFS is better if many goals, not many loops, • DFS is much better in terms of memory

  47. Iterative Deepening Search (DFS) • Every iteration is a DFS with a depth cutoff. Iterative deepening (ID) • i = 1 • While no solution, do • DFS from initial state S0 with cutoff i • If found goal, stop and return solution, else, increment cutoff Comments: • IDS implements BFS with DFS • Only one path in memory • BFS at step i may need to keep 2i nodes in OPEN

  48. Iterative deepening search L=0

  49. Iterative deepening search L=1

More Related