Uninformed search strategies -...

64
Artificial Intelligence Uninformed search strategies

Transcript of Uninformed search strategies -...

Page 1: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Artificial Intelligence

Uninformed search strategies

Page 2: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

2

Search Implementation• Open set

– Group of states that haven’t been expanded yet

– Group of states that are children of nodes that have

been expanded

– Search strategy chooses which open state to expand

next

– “set” as in collection of objects, not strictly

mathematical set

• Data structure depends on search strategy

• Closed set

– Group of states that have been expanded

– Often neglected (for space reasons), more later

Page 3: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

3

Search Implementation (2)

Pseudocode:

1. Initialize Open to contain initial state

2. Choose/remove one state from Open3. (Optional) Jump to (8) if already in Closed

4. Check if state is a goal state (done if so)

5. Get child states using successor function

6. Insert children into Open7. (Optional) Insert original state into Closed

8. Repeat from (2)

Page 4: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

4

Uninformed Search Strategies

• Uninformed strategies use only the information available in the problem definition

– Also called “Blind Search”

– No info on number of steps or path cost from “current state to goal state”

– Only distinguish goal state from non-goal state

• Consider route-finding problem (Arad to Bucharest)

– Uninformed search has no preference of which to choose first between the three states connected to Arad

– Informed (heuristic) search might notice that only Sibu is in the “direction of” Arad to Bucharest

Page 5: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

5

Uninformed Search Methods

• Types

– Breadth-first search

– Uniform-cost search

– Depth-first search

– Depth-limited search

– Iterative deepening search

• Strategies differ by the order in which nodes

are expanded (i.e., removed from Open set)

Page 6: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

6

Breadth-First Search

• Expand root node, then expand all successors,

then their successors, and so on

• Expand shallowest unexpanded node first

– Left-to-right or right-to-left ordering

• All nodes at level d are expanded before level d+1

– Root node is level d = 0

• Method finds the shallowest goal state

• Open set

– Put new nodes at end, remove from front

– Queue, first-in first-out (FIFO)

Page 7: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

7

BFS Example: Romania

Arad

Open = { Arad }

Closed = { }

Page 8: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

8

BFS Example: Romania

Zerind Timisoara

Arad

Sibu

Open = { Zerind, Sibu, Timisoara }

Closed = { Arad }

Page 9: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

9

BFS Example: Romania

OradeaArad

Zerind Timisoara

Arad

Sibu

Open = { Sibu, Timisoara, Arad, Oradea }

Closed = { Arad, Zerind }

Page 10: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

10

BFS Example: Romania

OradeaArad Rimnicu

VilceaArad Oradea Fagaras

Zerind Timisoara

Arad

Sibu

Open = { Timisoara, Arad, Oradea, Arad, Oradea, Fagaras, Rimnicu Vicea }

Closed = { Arad, Zerind, Sibu }

Page 11: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

11

BFS Example: Romania

OradeaArad Rimnicu

VilceaArad Oradea Fagaras Arad

Zerind Timisoara

Arad

Sibu

Lugoj

Open = { Arad, Oradea, Arad, Oradea, Fagaras, Rimnicu Vicea, Arad, Lugoj }

Closed = { Arad, Zerind, Sibu, Timisoara }

Page 12: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

12

Properties of Breadth-First Search• Complete (good)

– If branching factor b is finite

• Space – nodes generated (exponential - bad)

– O(bd+1) = b + b2 + … + bd + (bd+1 – b) , d = goal depth

• Assume goal is last node (e.g., rightmost) at depth d

• Goal state is not expanded

– Big limitation (need lots of space)

• Depth=10, branching=10, space=1000 bytes/node 101 terabytes!

• Time (bad)

– Same as space

• Optimality (good)

– Not in general, shallowest may not be optimal path cost

– Optimal if path cost non-decreasing function of node depth

Page 13: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

13

Uniform-Cost Search• Modified breadth-first strategy

• Expand least-cost unexpanded leaf node first (rather than lowest-depth as in BFS)

– General additive cost function

– I.e. cost from initial state to current state

– Not cost from current state to goal! – not “informed” search!!

• Guaranteed to be the cheapest solution

– Otherwise it would have been expanded later

• Open set

– Remove nodes in order of increasing path cost

– Priority queue

Page 14: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

14

Romania Step Costs in km

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

DebretaCraiova

Sibiu

Rimnicu Vilcea

Fagaras

Pitesti

Bucharest

Giurgiu Eforie

Urziceni

Hirsova

Vaslui

Iasi

Neamt

75

71

118

111

70

75

151

140 99

80

146

97

138

211

101

90

85

86

98

142

92

87

120

Page 15: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

15

UCS Example: Romania

Arad

Open = { Arad(0) }

Closed = { }

Page 16: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

16

UCS Example: Romania

Zerind Timisoara

Arad

Sibu

75140

118

g = 140 g = 118g = 75

Open = { Zerind(75), Timisoara(118), Sibu(140) }

Closed = { Arad }

Page 17: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

17

UCS Example: Romania

OradeaArad

Zerind Timisoara

Arad

Sibu

75140

118

7571

g = 75 + 71=146

g = 140 g = 118

Open = { Timisoara(118), Sibu(140), Oradea(146), Arad(150) }

Closed = { Arad, Zerind }

Page 18: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

18

UCS Example: Romania

OradeaArad Arad

Zerind Timisoara

Arad

Sibu

Lugoj

75140

118

7571

111118

g = 75 + 71=146

g = 140

g = 118 + 111 = 229

Open = { Sibu(140), Oradea(146), Arad(150), Lugoj(229), Arad(236) }

Closed = { Arad, Zerind, Timisoara }

Page 19: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

19

Properties of Uniform Cost Search

• Complete (good)

• Time and space (can be bad)

– Additional cost of priority queue

– Can be much greater than bd

• Can explore large subtrees of small steps before exploring

large (and perhaps useful) steps

• Optimal (good)

Page 20: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

20

Depth-First Search

• Always expand deepest unexpanded node

(on the fringe) first

– Left-to-right or right-to-left ordering

• Only when hit “dead-end” (leaf) does

search go back and expand nodes at next

shallower level

• Open set

– Put new nodes at end, remove from end

– Stack, last-in first-out (LIFO)

Page 21: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

21

DFS Example: Romania

Arad

Open = { Arad }

Closed = { }

Page 22: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

22

DFS Example: Romania

Zerind Timisoara

Arad

Sibu

Open = { Timisoara, Sibu, Zerind }

Closed = { Arad }

Page 23: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

23

DFS Example: Romania

Oradea

Zerind Timisoara

Arad

Sibu

Arad

Open = { Timisoara, Sibu, Oradea, Arad }

Closed = { Arad, Zerind }

Page 24: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

24

DFS Example: Romania

Oradea

Zerind Timisoara

Arad

Sibu

Zerind TimisoaraSibu

Arad

Open = { Timisoara, Sibu, Oradea, Timisoara, Sibu, Zerind }

Closed = { Arad, Zerind, Arad }

Page 25: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

25

DFS Example: Romania

Oradea

Zerind Timisoara

Arad

Sibu

Zerind TimisoaraSibu

Arad

Depth-first search can perform

infinite cyclic excursions if not check

for repeated-states! (more later)

Page 26: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

26

DFS Example:Depth-3 Binary Tree

Page 27: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

27

DFS Example:Depth-3 Binary Tree

Page 28: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

28

DFS Example:Depth-3 Binary Tree

Page 29: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

29

DFS Example:Depth-3 Binary Tree

Page 30: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

30

DFS Example:Depth-3 Binary Tree

Page 31: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

31

DFS Example:Depth-3 Binary Tree

Page 32: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

32

DFS Example:Depth-3 Binary Tree

Page 33: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

33

DFS Example:Depth-3 Binary Tree

Page 34: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

34

DFS Example:Depth-3 Binary Tree

Page 35: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

35

DFS Example:Depth-3 Binary Tree

Page 36: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

36

Properties of Depth-First Search

• Potentially not complete (can be bad)

– Fails in infinite-depth spaces or with loops

• Time (bad)

– O(bm), m=maximum depth

– Bad if m is larger than depth of goal (d)

– Good if multiple solutions (hit one)

• Space (better)

– O(mb), linear space (keep only leaf nodes “as you go”)• b leaf nodes at each level stored (up to level m)

• Optimality (bad)

– No, it returns the first deepest solution, so it could miss a shallower solution it has not yet seen (even at low depth)

Page 37: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

37

“Depth-Limited” Search

• Depth-first search with depth limit of l

• Avoids pitfalls of depth-first search by imposing a cutoff (stop) depth

• Implementation

– Depth-first stack with nodes at depth l having nosuccessors

• With 20 cities in the Arad to Bucharest example, know that a solution length < 20 exists

• Guaranteed to find solution (if exists), but not guaranteed to find shortest solution

– Complete (if depth limit big enough), but not optimal

• Time and space complexity of depth-first search

Page 38: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

38

Iterative Deepening Search

• Sidesteps issue of choosing best depth limit

– Finding good depth limit is difficult for most problems

• Try all possible depth limits

– First depth 0, then depth 1, then depth 2, …

• May seem wasteful, but overhead is not very costly

– Because most of the nodes are toward bottom of tree

– Not costly to generate upper nodes multiple times

• Preferred method with large search space and depth of solution not known

Page 39: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

39

Iterative Deepening Search: l=0

Arad

[Stop]

Page 40: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

40

Iterative Deepening Search: l=1

Arad

Page 41: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

41

Iterative Deepening Search: l=1

Zerind Timisoara

Arad

Sibu

[Stop]

Page 42: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

42

Iterative Deepening Search: l=2

Arad

Page 43: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

43

Iterative Deepening Search: l=2

Zerind Timisoara

Arad

Sibu

Page 44: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

44

Iterative Deepening Search: l=2

OradeaArad

Zerind Timisoara

Arad

Sibu

Page 45: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

45

Iterative Deepening Search: l=2

OradeaArad Rimnicu

VilceaArad Oradea Fagaras

Zerind Timisoara

Arad

Sibu

Page 46: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

46

Iterative Deepening Search: l=2

OradeaArad Rimnicu

VilceaArad Oradea Fagaras Arad

Zerind Timisoara

Arad

Sibu

Lugoj

[Stop]

Page 47: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

47

Properties of Iterative

Deepening Search• Complete (good)

• Time (not too bad)

– O(bd), where d is depth of shallowest solution

• Breadth-first finds shallowest (good for path cost

when is non-decreasing function of the depth)

• Space (good)

– O(bd) – as in depth-first

• Optimality (good)

– Yes (Same as BFS)

IDS combines benefits

of depth-first and

breadth-first search

Page 48: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

48

Properties of Iterative

Deepening Search

• Nodes generated when goal at depth d

(bottom level; root is depth 0) with

branching factor b

(d)b + (d-1)b2 + …+ (1)bd O(bd)

Nodes at bottom

generated once

Children of root

generated d times

Note: root node always generated/available

b Worst (Asymp) Case

2 2x

3 1.5x

4 1.33x

Cost: IDS vs. DLS

Page 49: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

49

Properties of Iterative

Deepening Search

• Compare to Breadth-first search

b + b2 + …+ bd + (bd+1 – b ) O(bd+1)

• Comparison for b = 10 and d = 5

– #nodes(IDS) = 123,450

– #nodes(BFS) = 1,111,100

Assume goal is last node (e.g., rightmost) at depth d

These are nodes already put in the queue/stack from the

non-goal nodes at depth d (though not examined later)

Depth-first search does not have these extra nodes

Page 50: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

When To Use Iterative

Deepening Search?

“In general, Iterative Deepening is the

preferred uninformed search method when

there is a large search space and the depth

of the solution is not known.”

50

Page 51: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Side note: On loops

51

• Loop: Returning to a node previously

visited on path

• How to avoid?

– 1) Don’t (only slows BFS/UCS/DLS/IDS)

– 2) Keep a list of previously visited nodes →

Closed set

• Cost?

– BFS/UCS: Minimal, Closed set is always

smaller than Open

– DFS: Worsens space cost to similar to BFS

Page 52: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Side note: On exponential complexity

52

• So far, describe time/space complexity as

exponential in terms of branching factor and

depth. E.g., O(bd)

• But if we avoid looping, will only visit each

state once!

• In terms of number of states n, complexity

can be O(bn) or even O(n) !!

• For problems with limited number of states,

these algorithms are very fast

– Consider Romania problem, only 20 states

Page 53: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Side note: Recursive DFS

53

• Possible to implement DFS (and related) as

recursive functions

– Think of child states as “new” initial states

• Reduces space cost to O(m)

• Loops

– Only need to store/check current path (previous

recursion levels)

– No additional space cost

• Recursive implementation is typical

Page 54: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

In-Class Exercise

54

goal

A

E

B

G

I

D

1

2

2

4

2

F

C

H

1

1

1

start

Page 55: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Search Tree

55

Order child nodes “alphabetically” left to right

DA AD

NOYES

Page 56: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Search Tree

56

Page 57: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Search Tree

57

A

B

D

H I

C

E

GF

goal

Page 58: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Breadth-First Search

58

A

B

D

H I

C

E

GF

goal

A B E C D F G H I solution path: A E G I

Page 59: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Depth-First Search

59

A

B

D

H I

C

E

GF

goal

A B C D E F G H I solution path: A E G I

Page 60: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Uniform-Cost Search

60

A

B

D

H I

C

E

GF

goal

2 1

1 2 1 4

1 2

Page 61: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Uniform-Cost Search

61

A

B

D

H I

C

E

GF

goal

2 1

1 2 1 4

1 22+1 = 3 2+2 = 4 1+1 = 2

1+4 = 5

1+4 +2= 71+4 +1= 6

12

Page 62: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

Uniform-Cost Search

62

A

B

D

H I

C

E

GF

goal

A E B F C D G H I solution path: A E G I

2 1

1 2 1 4

1 22+1 = 3 2+2 = 4 1+1 = 2

1+4 = 5

1+4 +2= 71+4 +1= 6

12

(Note: B & F have same cost!)

Page 63: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use
Page 64: Uninformed search strategies - web.cse.ohio-state.eduweb.cse.ohio-state.edu/~barker.348/cse3521_su19/UninformedSearc… · Uninformed Search Strategies • Uninformed strategies use

64

Summary

• Breadth-first search

– Expands shallowest node in tree first

• Uniform-cost search

– Expands least-cost (additive) leaf node first

• Depth-first search

– Expands deepest node first

• Depth-limited search

– Limits how deep a depth-first search can go

• Iterative deepening search ***

– Depth-limited search with increasing limits until goal is found

– Combines benefits of BFS and DFS