1 / 43

Uninformed Search

Uninformed Search. ECE457 Applied Artificial Intelligence Spring 2008 Lecture #2. Outline. Problem-solving by searching Uninformed search techniques Russell & Norvig, chapter 3. Problem-solving by searching. An agent needs to perform actions to get from its current state to a goal .

regis
Télécharger la présentation

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. Uninformed Search ECE457 Applied Artificial Intelligence Spring 2008 Lecture #2

  2. Outline • Problem-solving by searching • Uninformed search techniques • Russell & Norvig, chapter 3 ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 2

  3. Problem-solving by searching • An agent needs to perform actions to get from its current state to a goal. • This process is called searching. • Central in many AI systems • Theorem proving, VLSI layout, game playing, navigation, scheduling, etc. ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 3

  4. Requirements for searching • Define the problem • Represent the search space by states • Define the actions the agent can perform and their cost • Define a goal • What is the agent searching for? • Define the solution • The goal itself? • The path (i.e. sequence of actions) to get to the goal? ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 4

  5. Assumptions • Goal-based agent • Environment • Fully observable • Deterministic • Sequential • Static • Discrete • Single agent ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 5

  6. Formulating problems • A well-defined problem has: • An initial state • A set of actions • A goal test • A concept of cost ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 6

  7. Well-Defined Problem Example • Initial state • Action • Move blank left, right, up or down, provided it does not get out of the game • Goal test • Are the tiles in the “goal state” order? • Cost • Each move costs 1 • Path cost is the sum of moves ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 7

  8. Well-Defined Problem Example • Travelling salesman problem • Find the shortest round trip to visit each city exactly once • Initial state • Any city • Set of actions • Move to an unvisited city • Goal test • Is the agent in the initial city after having visited every city? • Concept of cost • Action cost: distance between cities • Path cost: total distance travelled ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 8

  9. Example: 8-puzzle left down left down left down right up ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 9

  10. Parent Root Child Branching factor (b) Node (state) Expanding a node Edge (action) Maximum depth (m) Fringe Leaf Search Tree ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 10

  11. Properties of Search Algos. • Completeness • Is the algorithm guaranteed to find a goal node, if one exists? • Optimality • Is the algorithm guaranteed to find the best goal node, i.e. the one with the cheapest path cost? • Time complexity • How many nodes are generated? • Space complexity • What’s the maximum number of nodes stored in memory? ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 11

  12. Types of Search • Uninformed Search • Only has the information provided by the problem formulation (initial state, set of actions, goal test, cost) • Informed Search • Has additional information that allows it to judge the promise of an action, i.e. the estimated cost from a state to a goal ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 12

  13. Breath-First Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 13

  14. Breath-First Search • Complete, if b is finite • Optimal, if path cost is equal to depth • Guaranteed to return the shallowest goal (depth d) • Time complexity = O(bd+1) • Space complexity = O(bd+1) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 14

  15. Breath-First Search • Upper-bound case: goal is last node of depth d • Number of generated nodes:b+b²+b³+…+bd+(bd+1-b) = O(bd+1) • Space & time complexity: all generated nodes ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 15

  16. Uniform-Cost Search • Expansion of Breath-First Search • Explore the cheapest node first (in terms of path cost) • Condition: No zero-cost or negative-cost edges. • Minimum cost is є • Breath-First Search is Uniform-Cost Search with constant-cost edges ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 16

  17. Uniform-Cost Search • Complete given a finite tree • Optimal • Time complexity = O(bC*/є+1) ≥O(bd+1) • Space complexity = O(bC*/є+1) ≥O(bd+1) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 17

  18. Uniform-Cost Search • Upper-bound case: goal has path cost C*, all other actions have minimum cost of є • Depth explored before taking action C*: C*/є • Depth of fringe nodes: C*/є + 1 • Space & time complexity: all generated nodes: O(bC*/є+1) є C* є є є є є є є є є є є є є є ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 18

  19. Depth-First Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 19

  20. Depth-First Search • Complete, if m is finite • Not optimal • Time complexity = O(bm) • Space complexity = bm+1 = O(bm) • Can be reduced to O(m) with recursive algorithm ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 20

  21. Depth-First Search • Upper-bound case for space: goal is last node of first branch • After that, we start deleting nodes • Number of generated nodes: b nodes at each of m levels • Space complexity: all generated nodes = O(bm) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 21

  22. Depth-First Search • Upper-bound case for time: goal is last node of last branch • Number of nodes generated:b nodes for each node of m levels (entire tree) • Time complexity: all generated nodes O(bm) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 22

  23. Depth-Limited Search • Depth-First Search with depth limit l • Avoids problems of Depth-First Search when trees are unbounded • Depth-First Search is Depth-Limited Search with l =  ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 23

  24. Depth-Limited Search • Complete, if l > d • Not optimal • Time complexity = O(bl) • Space complexity = O(bl) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 24

  25. Depth-Limited Search • Upper-bound case for space: goal is last node of first branch • After that, we start deleting nodes • Number of generated nodes: b nodes at each of l levels • Space complexity: all generated nodes = O(bl) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 25

  26. Depth-Limited Search • Upper-bound case for time: goal is last node of last branch • Number of nodes generated:b nodes for each node of l levels (entire tree to depth l) • Time complexity: all generated nodes O(bl) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 26

  27. Iterative Deepening Search • Depth-First Search with increasing depth limit l • Repeat depth-limited search over and over, with l = l + 1 • Avoids problems of Depth-First Search when trees are unbounded • Avoids problem of Depth-Limited Search when goal depth d > l ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 27

  28. Iterative Deepening Search • Complete , if b is finite • Optimal, if path cost is equal to depth • Guaranteed to return the shallowest goal • Time complexity = O(bd) • Space complexity = O(bd) • Nodes on levels above d are generated multiple times ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 28

  29. Iterative Deepening Search • Upper-bound case for space: goal is last node of first branch • After that, we start deleting nodes • Number of generated nodes: b nodes at each of d levels • Space complexity: all generated nodes = O(bd) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 29

  30. Iterative Deepening Search • Upper-bound case for time: goal is last node of last branch • Number of nodes generated:b nodes for each node of d levels (entire tree to depth d) • Time complexity: all generated nodes O(bd) ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 30

  31. Depth Searches ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 31

  32. Summary of Searches 1: Assuming b finite (common in trees) 2: Assuming equal action costs 3: Assuming all costs  є 4: Unless m finite (uncommon in trees) 5: Unless l precisely selected ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 32

  33. Summary / Example • Going from Arad to Bucharest ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 33

  34. Summary / Example • Initial state • Being in Arad • Action • Move to a neighbouring city, if a road exists. • Goal test • Are we in Bucharest? • Cost • Move cost = distance between cities • Path cost = distance travelled since Arad ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 34

  35. Summary / Example • Breath-First Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 35

  36. Summary / Example Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 418 Dobreta 374 Arad 0 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 418 Dobreta 374 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 450 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 450 Dobreta 374 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 418 Dobreta 374 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 Mehadia 299 Bucharest 418 Dobreta 374 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Arad 0 Zerind 75 Sibiu 140 Timisoara 118 Oradea 146 Lugoj 229 Fagaras 239 Rimnicu 220 Craiova 366 Pietsti 317 • Uniform-Cost Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 36

  37. Summary / Example • Depth-First Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 37

  38. Summary / Example • Depth-Limited Search, l = 4 ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 38

  39. Summary / Example • Iterative Deepening Search ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 39

  40. Repeated States Example: 8-puzzle left down left down left down right up ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 40

  41. Repeated States • Unavoidable in problems where • Actions are reversible • Multiple paths to the same state are possible • Can greatly increase the number of nodes in a tree • Or even make a finite tree infinite! ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 41

  42. D A B C D E D B A C C C C D D B D E E D D E E E E E E E E E E E E E E D Repeated States • Each state generates a single child twice • 26 different states • 225 leaves (i.e. state Z) • Over 67Mnodes in the tree ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 42

  43. Repeated States • Maintain a closed list of visited states • Closed list (for expanded nodes) vs. open list (for fringe nodes) • Detect and discard repeated states upon generation • Increases space complexity ECE457 Applied Artificial Intelligence R. Khoury (2008) Page 43

More Related