search strategies cps4801. uninformed search strategies uninformed search strategies use only the...

51
Search Strategies CPS4801

Upload: thomasina-townsend

Post on 16-Dec-2015

231 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Search Strategies

CPS4801

Page 2: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Uninformed Search Strategies

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

• Breadth-first search• Uniform-cost search• Depth-first search• Depth-limited search• Iterative deepening search

Page 3: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

3

Breadth-first searchExpand shallowest unexpanded node• Implementation:• Frontier is a FIFO queue, i.e., new successors go at end

o

Page 4: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

4

Breadth-first search

Expand shallowest unexpanded node• Implementation:

o Frontier is a FIFO queue, i.e., new successors go at end

Page 5: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

5

Breadth-first searchExpand shallowest unexpanded node• Implementation:

o Frontier is a FIFO queue, i.e., new successors go at end

Page 6: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

6

Breadth-first searchExpand shallowest unexpanded node• Implementation:

o Frontier is a FIFO queue, i.e., new successors go at end

Page 7: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

7

Properties of breadth-first search

Complete? Yes (if b is finite)•• Time? 1+b+b2+b3+… +bd = O(bd)•• Space? O(bd) (O(bd-1) nodes in the explored

set and O(bd) nodes in the frontier)•• Optimal? Yes (if cost = 1 per step)•

Page 8: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Properties of breadth-first search

• O(bd) is scary.• Assuming b=10

• Space is the bigger problem (more than time)

Depth Nodes Time Memory

10 10 10 3 hours 10 terabytes

12 10 12 13 days 1 petabyte

14 10 14 3.5 years 99 petabytes

16 10 16 350 years 10 exabytes

Page 9: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

9

Uniform-cost search• Expand least-cost unexpanded node• (Cheapest search)• Implementation:

o Frontier = queue ordered by path cost

Page 10: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

10

Example: Romania

Page 11: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Properties of uniform-cost search

• Equivalent to breadth-first if step costs all equal

• Complete? Yes, if step cost ≥ ε• Time? # of nodes with g ≤ cost of optimal

solution, O(bceiling(C*/ ε)) where C* is the cost of the optimal solution

• Space? # of nodes with g ≤ cost of optimal solution, O(bceiling(C*/ ε))

• Optimal? Yes – nodes expanded in increasing order of g(n)

Page 12: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

12

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 13: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

13

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 14: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

14

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 15: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

15

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 16: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

16

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 17: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

17

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 18: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

18

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 19: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

19

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 20: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

20

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 21: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

21

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 22: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

22

Depth-first searchExpand deepest unexpanded node• Implementation:• fringe = LIFO queue, i.e., put successors at front

o

Page 23: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

23

Depth-first searchExpand deepest unexpanded node• Implementation:• Frontier = LIFO queue, i.e., put successors at front

o

Page 24: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

24

Properties of depth-first search

• Complete? No: fails in infinite-depth spaces, spaces with loopso Modify to avoid repeated states along patho complete in finite spaces

• Time? O(bm): terrible if m is much larger than do but if solutions are dense, may be much faster than

breadth-first

Space? O(bm), i.e., linear space!•

• Optimal? No•

Page 25: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Depth-limited search• depth-first search with depth limit l,• i.e., nodes at depth l have no successors

• 20 cities in map of Romania• l =19• Any city can be reached from any other

city in at most 9 steps.• Diameter gives a better depth limit.

Page 26: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Iterative deepening search

• Gradually increases the limit – 0, 1, 2, …• Combines the benefits of depth-first and

breadth-first search.

Page 27: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

27

Iterative deepening search l =0

Page 28: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

28

Iterative deepening search l =1

Page 29: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

29

Iterative deepening search l =2

Page 30: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

30

Iterative deepening search l =3

Page 31: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

31

Properties of iterative deepening search

Complete? Yes•

• Time? d b1 + (d-1)b2 + … + (1)bd = O(bd)•

• Space? O(bd)•

• Optimal? Yes

Page 32: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

32

Summary of algorithms

Page 33: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Informed Search Strategies

• uses problem-specific knowledge beyond the definition of the problem itself

Page 34: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first
Page 35: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Best-first search• Idea: use an evaluation function f(n) for each

nodeo estimate of "desirability" Expand most desirable unexpanded node

• Implementation:Order the nodes in frontier in decreasing order of desirability

• Special cases:o greedy best-first searcho A* search

Page 36: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Romania with step costs in km

Page 37: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Greedy best-first search

• Evaluation function f(n) = h(n) (heuristic)• = estimate of cost from n to goal•

• e.g., hSLD(n) = straight-line distance from n to Bucharest

• Greedy best-first search expands the node that appears to be closest to goal

Page 38: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Greedy best-first search example

Page 39: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Greedy best-first search example

Page 40: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Greedy best-first search example

Page 41: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Greedy best-first search example

Page 42: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Properties of greedy best-first search

Complete? No – can get stuck in loops, e.g., Iasi Neamt Iasi Neamt •

• Time? O(bm)•

• Space? O(bm) -- keeps all nodes in memory•

• Optimal? No•

Page 43: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* searchIdea: avoid expanding paths that are already expensive•

• Evaluation function f(n) = g(n) + h(n)•

• g(n) = cost so far to reach n• h(n) = estimated cost from n to goal• f(n) = estimated total cost of path through n to

goal

Page 44: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Romania with step costs in km

Page 45: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 46: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 47: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 48: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 49: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 50: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

A* search example

Page 51: Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first

Admissible heuristicsA heuristic h(n) is admissible if for every node n, h(n) ≤ h*(n), where h*(n) is the true cost to reach the goal state from n.•

• An admissible heuristic never overestimates the cost to reach the goal, i.e., it is optimistic

• Example: hSLD(n) (never overestimates the actual road distance)