l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1...

52
Brian Williams, Spring 03 1 Shortest Path and Informed Search Brian C. Williams 16.410 - 13 October 27 th , 2003 Slides adapted from: 6.034 Tomas Lozano Perez, Winston, and Russell and Norvig AIMA Brian Williams, Spring 03 2 Assignment • Reading: – Shortest path: Cormen Leiserson & Rivest, “Introduction to Algorithms” Ch. 25.1-.2 – Informed search and exploration: AIMA Ch. 4.1-2 • Homework: – Online problem set #6 due Monday November 3 rd .

Upload: others

Post on 02-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 1

Shortest Path and Informed Search

Brian C. Williams

16.410 - 13

October 27th, 2003

Slides adapted from:6.034 Tomas Lozano Perez,Winston, and Russell and Norvig AIMA

Brian Williams, Spring 03 2

Assignment

• Reading: – Shortest path:

Cormen Leiserson & Rivest, “Introduction to Algorithms” Ch. 25.1-.2

– Informed search and exploration: AIMA Ch. 4.1-2

• Homework:– Online problem set #6 due Monday November

3rd.

Page 2: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 3

courtesy NASA Ames courtesy NASA Lewis

How do we maneuver?

Brian Williams, Spring 03 4

Roadmaps are an effective state space abstraction

Page 3: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 5

u v1

x y

2

10

5

7

92 3 4 6s

Weighted Graphsand Path Lengths

Graph G = <V, E>Weight function w: E →ℜPath p = < vo, v1, … vk >

Path weight w(p) = Σ w(vi-1,vi)Shortest path weight δ(u,v) = min {w(p) : u →p v } else ∞

Brian Williams, Spring 03 6

Outline• Creating road maps for path

planning• Exploring roadmaps:

Shortest Paths– Single Source

• Dijkstra;s algorithm

– Informed search• Uniform cost search• Greedy search• A* search• Beam search• Hill climbing

• Avoiding adversaries– (Next Lecture)

Page 4: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 7

u v1

x y

2

10

5

7

92 3 4 6s

Single Source Shortest Path

Problem: Compute shortest path to all vertices from source s

Brian Williams, Spring 03 8

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6s

Single Source Shortest Path

Problem: Compute shortest path to all vertices from source s• estimate d[v] estimated shortest path length from s to v

Page 5: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 9

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6s

Single Source Shortest Path

Problem: Compute shortest path to all vertices from source s• estimate d[v] estimated shortest path length from s to v• predecessor π[v] final edge of shortest path to v

• induces shortest path tree

Brian Williams, Spring 03 10

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6s

Properties of Shortest Path

• Subpaths of shortest paths are shortest paths.

• s →p v = <s, x, u, v>

• s →p u = <s, x, u>

• s →p x = <s, x>

• x →p v = <x, u, v>

• x →p v = <x, u>

• u →p v = <u, v>

Page 6: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 11

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6s

Properties of Shortest Path

Corollary: Shortest paths are grown from shortest paths.

• The length of shortest path s →p u → v

is δ(s,v) = δ(s,u) + w(u,v).• ∀ <u,v> ∈ E δ(s,v) ≤ δ(s,u) + w(u,v)

Brian Williams, Spring 03 12

∞ ∞

u v1

∞ ∞x y

2

0

10

5

7

92 3 4 6s

Initialize-Single-Source(G, s)1. for each vertex v ∈ V[G] 2. do d[u] ← ∞3. π[v] ← NIL4. d[s] ← 0

Idea: Start With Upper Bound

O(v)

Page 7: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 13

5 9

u v2

5 7

u v2

Relax(u, v)

5 6

u v2

5 6

u v2

Relax(u, v)

Relax Bounds to Shortest Path

Relax (u, v, w)1. if d[u] + w(u,v) < d[v] 2. do d[v] ← d[u] + w(u,v) 3. π[v] ← u

Brian Williams, Spring 03 14

5 9

u v2

5 9

u v2

Relax(u, v)

5 6

u v2

5 6

u v2

Relax(u, v)

Properties of Relaxing Bounds

After calling Relax(u, v, w) • d[u] + w(u,v) ≥ d[v]

d remains a shortest path upperbound after repeated calls to Relax.

Once d[v] is the shortest path its value persists

Page 8: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 15

∞ ∞

u v1

∞ ∞x y

2

0

10

5

7

92 3 4 6s

Q = {s,u,v,x,y}S = {}

Vertices to relaxVertices with shortest path value

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Brian Williams, Spring 03 16

∞ ∞

u v1

∞ ∞x y

2

0

10

5

7

92 3 4 6

Q = {x,y,u,v}S = {s}

s

Vertices to relaxVertices with shortest path value

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Page 9: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 17

10 ∞

u v1

∞ ∞x y

2

0

10

5

7

92 3 4 6

Q = {x,y,u,v}S = {s}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Brian Williams, Spring 03 18

10 ∞

u v1

5 ∞x y

2

0

10

5

7

92 3 4 6

Q = {x,y,u,v}S = {s}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Page 10: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 19

10 ∞

u v1

5 ∞x y

2

0

10

5

7

92 3 4 6

Q = {x,y,u,v}S = {s}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Brian Williams, Spring 03 20

8 14

u v1

5 7x y

2

0

10

5

7

92 3 4 6

Q = {y,u,v}S = {s, x}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Page 11: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 21

8 14

u v1

5 7x y

2

0

10

5

7

92 3 4 6

Q = {y,u,v}S = {s, x}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Brian Williams, Spring 03 22

8 13

u v1

5 7x y

2

0

10

5

7

92 3 4 6

Q = {u,v}S = {s, x, y}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Page 12: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 23

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6

Q = {v}S = {s, x, y, u}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Brian Williams, Spring 03 24

8 9

u v1

5 7x y

2

0

10

5

7

92 3 4 6

Q = {}S = {s, x, y, u, v}

s

Vertices to relaxVertices with shortest path valueShortest path edge Π[v] = arrows

Dijkstra’s Algorithm

Idea: Greedily relax out arcs of minimum cost nodesAssume all edges are non-negative.

Page 13: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 25

Dijkstra’s Algorithm

DIJKSTRA(G,w,s)1. Initialize-Single-Source(G, s)2. S ←∅3. Q ← V[G]4. while Q ≠ ∅5. do u ← Extract-Min(Q)6. S ← S ∪ {u}7. for each vertex v ∈ Adj[u] 8. do Relax(u, v, w)

Repeatedly select minimum cost node and relax out arcs

O(V)

O(V)

* O(V)O(E)

= O(V2+E)

or O(lg V)w fib heap

= O(VlgV+E)

Brian Williams, Spring 03 26

Outline• Creating road maps for path

planning• Exploring roadmaps:

Shortest Paths– Single Source

• Dijkstra;s algorithm

– Informed search• Uniform cost search• Greedy search• A* search• Beam search• Hill climbing

• Avoiding adversaries– (Next Lecture)

Page 14: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 27

C

S

B

GA

D2

5

4

23

2

51

Informed Search

Problem: Find the path to the goal G with the shortest path length g.

g = 8S

D

BA

C G

C G

D

C G

2 5

6 4

99 8

6 10

8

0

Extend search tree nodesto include path length g

Brian Williams, Spring 03 28

Classes of Search

Blind Depth-First Systematic exploration of whole tree

(uninformed) Breadth-First until the goal is found.

Iterative-Deepening

Best-first Uniform-cost Using path “length” as a measure,

(informed) Greedy finds “shortest” path.

A*

Page 15: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 29

A B

xx

start

goal

Uniform cost search spreads evenly from start

Does uniform cost search find the shortest path?

Brian Williams, Spring 03 30

C

S

B

GA

D2

5

4

23

2

51

S

Uniform Cost0

edge cost

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

path length

Page 16: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 31

C

S

B

GA

D2

5

4

23

2

51

S

BA 2 5

Uniform Cost0

edge costpath length

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Brian Williams, Spring 03 32

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C

2 5

6 4

Uniform Cost0

edge costpath length

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Page 17: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 33

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C

2 5

6 4

Uniform Cost0

edge costpath length

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Brian Williams, Spring 03 34

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C GD

2 5

6 4 6 10

Uniform Cost0

edge costpath length

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Page 18: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 35

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C G

C G

D

2 5

6 4

9 8

6 10

Uniform Cost0

edge costpath length

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Brian Williams, Spring 03 36

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C G

C G

D

C G

2 5

6 4

99 8

6 10

8

Uniform Cost0

edge costpath length

Expands nodes already visited

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Page 19: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 37

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C G

C G

D

C G

2 5

6 4

99 8

6 10

8

Uniform Cost0

edge costpath length

Expands nodes already visited

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Brian Williams, Spring 03 38

C

S

B

GA

D2

5

4

23

2

51

S

D

BA

C G

C G

D

C G

2 5

6 4

99 8

6 10

8

Uniform Cost0

edge costpath length

Expands nodes already visited

Enumerates partial paths in order of increasing path length g.

May expand vertex more than once.

Page 20: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 39

S

DA 2 4

Why Expand a Vertex More Than Once?

0path length

S

A

D21

4G

• The shortest path from S to G is (G D A S).

1

edge cost

• D is reached first using path (D S).

Suppose we expanded only the first path to visit each vertex X?

Brian Williams, Spring 03 40

S

DA 2 5

D3

Why Expand a Vertex More Than Once?

0path length

S

A

D21

4G

• The shortest path from S to G is (G D A S).

1

edge cost

• D is reached first using path (D S).

• This prevents path (D A S) from being expanded.

Suppose we expanded only the first path to visit each vertex X?

Page 21: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 41

S

D

DA 2 5

3

Why Expand a Vertex More Than Once?

0path length

S

A

D21

4G

• The shortest path from S to G is (G D A S).

1

edge cost

• D is reached first using path (D S).

• This prevents path (D A S) from being expanded.

Suppose we expanded only the first path to visit each vertex X?

10G

Brian Williams, Spring 03 42

S

D

DA 2 5

3

Why Expand a Vertex More Than Once?

0path length

S

A

D21

4G

• The shortest path from S to G is (G D A S).

1

edge cost

• D is reached first using path (D S).

• This prevents path (D A S) from being expanded.

Suppose we expanded only the first path to visit each vertex X?

10G

• The suboptimal path (G D S) is returned.

Page 22: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 43

Uniform Cost Search AlgorithmLet Q be a list of partial paths, Let S be the start node and Let G be the Goal node.Let g be the path length from S to N.

1. Initialize Q with partial path (S) as only entry; set Visited = ( )

2. If Q is empty, fail. Else, pick partial path N from Q with best g

3. If head(N) = G, return N (we’ve reached the goal!)

4. (Otherwise) Remove N from Q

5. Find all children of head(N) not in Visited and create all the one-step extensions of N to each child.

6. Add to Q all the extended paths;

7. Add children of head(N) to Visited

8. Go to step 2.

Brian Williams, Spring 03 44

Implementing the Search Strategies

Depth-first:

Pick first element of Q

Add path extensions to front of QBreadth-first:

Pick first element of Q

Add path extensions to end of QUniform-cost:

Pick first element of Q

Add path extensions to Q in order of increasing path length g.

Uses visited list

Uses visited list

No visited list

Page 23: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 45

Uniform Cost using BFSPick first element of Q; Insert path extensions, sorted by g.

5

7

6

Q

4

3

2

1

(2 A S) (5 B S)

(0 S)

C

S

B

GA

D2

5

4

23

2

51

1

Here we:• Insert on queue in order of g.• Remove first element of queue.

Brian Williams, Spring 03 46

Uniform Cost using BFS

5

7

6

Q

4

3

2

1

(4 C A S) (5 B S) (6 D A S)

(2 A S) (5 B S)

(0 S)

C

S

B

GA

D2

5

4

23

2

51

1

2

Pick first element of Q; Insert path extensions, sorted by g.

Here we:• Insert on queue in order of g.• Remove first element of queue.

Page 24: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 47

Uniform Cost using BFS

5

7

6

Q

4

3

2

1

(5 B S) (6 D A S)

(4 C A S) (5 B S) (6 D A S)

(2 A S) (5 B S)

(0 S)

C

S

B

GA

D2

5

4

23

2

51

1

2

3

Pick first element of Q; Insert path extensions, sorted by g.

Here we:• Insert on queue in order of g.• Remove first element of queue.

Brian Williams, Spring 03 48

Uniform Cost using BFS

(6 D B S) (6 D A S) (10 G B S) 5

(8 G D A S) (8 G D B S) (9 C D A S) (9 C D B S) (10 G B S)

7

(6 D A S) (8 G D B S) (9 C D B S) (10 G B S)6

Q

4

3

2

1

(5 B S) (6 D A S)

(4 C A S) (5 B S) (6 D A S)

(2 A S) (5 B S)

(0 S)

1

2

3

5,6

7C

S

B

GA

D2

5

4

23

2

51

4

Pick first element of Q; Insert path extensions, sorted by g.

Page 25: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 49

Can we stop as soon as the goal is enqueued?

• Other paths to the goal that are shorter may not yet be enqueued.

• Only when a path is pulled off the Q are we guaranteed that no shorter path will be added.

• This assumes all edges are positive.

(6 D B S) (6 D A S) (10 G B S)5

(8 G D A S) (8 G D B S) (9 C D A S) (9 C D B S) (10 G B S)

7

(6 D A S)(8 G D B S) (9 C D B S) (10 G B S)6

Q

4

3

2

1

(5 B S) (6 D A S)

(4 C A S) (5 B S) (6 D A S)

(2 A S) (5 B S)

(0 S)

Brian Williams, Spring 03 50

Implementing the Search Strategies

Depth-first:

Pick first element of Q

Add path extensions to front of QBreadth-first:

Pick first element of Q

Add path extensions to end of QUniform-cost:

Pick first element of Q

Add path extensions to Q in increasing order of path length g.

Uses visited list

Uses visited list

No visited list

Best-first: (generalizes uniform-cost)

Pick first element of Q

Add path extensions in increasing order of any cost function f

No visited list

Page 26: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 51

Best-first Search AlgorithmLet Q be a list of partial paths, Let S be the start node and Let G be the Goal node.Let f be a cost function on N.

1. Initialize Q with partial path (S) as only entry

2. If Q is empty, fail. Else, pick partial path N from Q with best f

3. If head(N) = G, return N (we’ve reached the goal!)

4. (Otherwise) Remove N from Q

5. Find all children of head(N) and create all the one-step extensions of N to each child.

6. Add to Q all the extended paths;

7. Go to step 2.

Brian Williams, Spring 03 52

Classes of Search

Blind Depth-First Systematic exploration of whole tree

(uninformed) Breadth-First until the goal is found.

Iterative-Deepening

Best-first Uniform-cost Using path “length” as a measure,

Greedy finds “shortest” path.

A*

Page 27: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 53

A B

xx

start

goal

Uniform cost search spreads evenly from start

Chicago, Il

Boston, MaRapid City, ND

Uniform cost search explores the direction away from the goal as much as with the goal.

Greedy search is directed towards the goal.

Brian Williams, Spring 03 54

Greedy Search

Search in an order imposed by a heuristic function, measuring cost to go.

Heuristic function h – is a function of the current node n, not the partial path s to n.

• Estimated distance to goal – h (n,G)

• Example: straight-line distance in a road network.

• “Goodness” of a node – h (n)

• Example: elevation

• Foothills, plateaus and ridges are problematic.

Page 28: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 55

Greedy

Q

5

4

3

2

1 (10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D

1

10

2

1

0

4

3

Heuristic values in redOrder of nodes in blue.

Pick first element of Q; Insert path extensions, sorted by h.

Brian Williams, Spring 03 56

Q

5

4

3

2

1

(2 A S) (3 B S)

(10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D

1

Greedy

10

2

1

0

4

3

Heuristic values in redOrder of nodes in blue.

Pick first element of Q; Insert path extensions, sorted by h.

Page 29: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 57

Greedy

Q

5

4

3

2

1

(1 C A S) (3 B S) (4 D A S)

(2 A S) (3 B S)

(10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D

1

2

10

2

1

0

4

3

Heuristic values in redOrder of nodes in blue.

Pick first element of Q; Insert path extensions, sorted by h.

Brian Williams, Spring 03 58

Greedy

Q

5

4

3

2

1

(3 B S) (4 D A S)

(1 C A S) (3 B S) (4 D A S)

(2 A S) (3 B S)

(10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D

1

2

3

10

2

1

0

4

3

Heuristic values in redOrder of nodes in blue.

Pick first element of Q; Insert path extensions, sorted by h.

Page 30: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 59

Greedy

Q

5

4

3

2

1

(0 G B S) (4 D A S) (4 D B S)

(3 B S) (4 D A S)

(1 C A S) (3 B S) (4 D A S)

(2 A S) (3 B S)

(10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D

1

2

3

4

10

2

1

0

4

3

Heuristic values in redOrder of nodes in blue.

Pick first element of Q; Insert path extensions, sorted by h.

Brian Williams, Spring 03 60

Greedy

Q

5

4

3

2

1

(0 G B S) (4 D A S) ) (4 D B S)

(3 B S) (4 D A S)

(1 C A S) (3 B S) (4 D A S)

(2 A S) (3 B S)

(10 S)

Added paths in blue; heuristic value of head is in front.

C

S

B

GA

D10

2

1

0

4

3

Heuristic values in red

Pick first element of Q; Insert path extensions, sorted by h.

2

5

4

2

3 2

51

Was the shortest path produced?

Edge cost in green.

Page 31: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 61

Classes of Search

Blind Depth-First Systematic exploration of whole tree

(uninformed) Breadth-First until the goal is found.

Iterative-Deepening

Best-first Uniform-cost Using path “length” as a measure,

Greedy finds “shortest” path.

A*

Brian Williams, Spring 03 62

A B

xx

start

goal

Uniform cost search spreads evenly from start

Page 32: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 63

start

goal

A* biases uniform cost towards the goal by using h

• f = g + h

• g = distance from start

• h = estimated distance to goal.

A B

xx

Uniform cost search spreads evenly from the start

A* finds an optimal solution if h never over estimates.

Then h is called “admissible”

Greedy goes for the goal, but forgets its past.

Brian Williams, Spring 03 64

Simple Optimal Search AlgorithmBFS + Admissible Heuristic

1. Initialize Q with partial path (S) as only entry;

2. If Q is empty, fail. Else, use f to pick “best” partial path N from Q

3. If head(N) = G, return N (we’ve reached the goal)

4. (Otherwise) Remove N from Q;

5. Find all the descendants of head(N) and create all the one-step extensions of N to each descendant.

6. Add to Q all the extended paths.

7. Go to step 2.

Let Q be a list of partial paths, Let S be the start node and Let G be the Goal node.Let f = g + h be an admissible heuristic function

Page 33: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 65

In the example, is han admissible heuristic?

C

S

B

GA

D2

5

4

23

2

51

Heuristic Values of h in Red

Edge cost in Green

• A is ok• B is ok• C is ok• D is too big, needs to be ≤ 2• S is too big, can always use 0 for start

10

2

1

04

3

A* finds an optimal solution if h never over estimates.

Then h is called “admissible”

Brian Williams, Spring 03 66

Admissible heuristics for 8 puzzle?

174

53

826

567

48

321

S G

What is the heuristic?

• An underestimate of number of moves to the goal.

Examples:

1. Number of misplaced tiles (7)

2. Sum of Manhattan distance of each tile to its goal location (17)

Page 34: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 67

A* Incorporates theDynamic Programming Principle

The shortest path from S through X to G= shortest path from S to X + shortest path from X to G.

• Idea: when shortest from S to X is found, ignore other S to X paths.

• When BFS dequeues the first partial path with head node X, this path is the shortest path from S to X.

Given the first path to X, we don’t need to extend other paths to X; delete them.

S GX

+

=S GX Xshortest shortest

shortest

Brian Williams, Spring 03 68

Simple Optimal Search AlgorithmHow do we add dynamic programming?

1. Initialize Q with partial path (S) as only entry;

2. If Q is empty, fail. Else, use f to pick the “best” partial path N from Q

3. If head(N) = G, return N (we’ve reached the goal)

4. (Else) Remove N from Q;

5. Find all children of head(N) and create all the one-step extensions of N to each child.

6. Add to Q all the extended paths.

7. Go to step 2.

Let Q be a list of partial paths, Let S be the start node and Let G be the Goal node.Let f = g + h be an admissible heuristic function

Page 35: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 69

A* Optimal Search AlgorithmBFS + Dyn Prog + Admissible Heuristic

1. Initialize Q with partial path (S) as only entry; set Expanded = ( )

2. If Q is empty, fail. Else, use f to pick “best” partial path N from Q

3. If head(N) = G, return N (we’ve reached the goal)

4. (Else) Remove N from Q;

5. if head(N) is in Expanded, go to step 2, otherwise add head(N) to Expanded.

6. Find all the children of head(N) (not in Expanded) and create all the one-step extensions of N to each child.

7. Add to Q all the extended paths.

8. Go to step 2.

Let Q be a list of partial paths, Let S be the start node and Let G be the Goal node.Let f = g + h be an admissible heuristic function

Brian Williams, Spring 03 70

A* (BFS + DynProg + Admissible Heuristic)

Q

1 (0 S)

1

Added paths in blue; cost f at head of each path.

C

S

B

GA

D2

5

4

23

2

51

Heuristic Values of g in Red

Edge cost in Green

0

2

1

01

3

Expanded

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Page 36: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 71

A* (BFS + DynProg + Admissible Heuristic)

Q

2

1 (0 S)

Added paths in blue; cost f at head of each path

1

C

S

B

GA

D2

5

4

23

2

510

2

1

01

3

Heuristic Values of g in Red

Edge cost in Green

Expanded

S

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Brian Williams, Spring 03 72

A* (BFS + DynProg + Admissible Heuristic)

Q

3

2

1

(4 A S) (8 B S)

(0 S)

1

2

Added paths in blue; cost f at head of each path

C

S

B

GA

D2

5

4

23

2

510

2

1

01

3

Heuristic Values of g in Red

Edge cost in Green

Expanded

S

S A

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Page 37: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 73

A* (BFS + DynProg + Admissible Heuristic)

Q

4

3

2

1

(5 C A S) (7 D A S) (8 B S)

(4 A S) (8 B S)

(0 S)

1

2

3

Added paths in blue; cost f at head of each path

C

S

B

GA

D2

5

4

23

2

510

2

1

01

3

Heuristic Values of g in Red

Edge cost in Green

Expanded

S

S A

S A C

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Brian Williams, Spring 03 74

A* (BFS + DynProg + Admissible Heuristic)

5

Q

4

3

2

1

(7 D A S) (8 B S)

(5 C A S) (7 D A S) (8 B S)

(4 A S) (8 B S)

(0 S)

1

2

3

4

Added paths in blue; cost f at head of each path

C

S

B

GA

D2

5

4

23

2

510

2

1

01

3

Heuristic Values of g in Red

Edge cost in Green

Expanded

S

S A

S A C

S A C D

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Page 38: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 75

A* (BFS + DynProg + Admissible Heuristic)

(8 G D A S) (8 B S)5

Q

4

3

2

1

(7 D A S) (8 B S)

(5 C A S) (7 D A S) (8 B S)

(4 A S) (8 B S)

(0 S)

1

2

3

4

5

Added paths in blue; cost f at head of each path

C

S

B

GA

D2

5

4

23

2

510

2

1

01

3

Heuristic Values of g in Red

Edge cost in Green

Expanded

S

S A

S A C

S A C D

Pick first element of Q; Insert path extensions, sorted by path length + heuristic.

Brian Williams, Spring 03 76

Cost and Performance

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Best-First

Hill-Climbing(backup)

Hill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 39: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 77

Cost and Performance

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

bd+1bd+1Best-First

Hill-Climbing(backup)

Hill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 78

Cost and Performance

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

Hill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 40: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 79

Classes of Search

Blind Depth-First Systematic exploration of whole tree

(uninformed) Breadth-First until the goal is found.

Iterative-Deepening

Variants Beam

Hill-Climbing (w backup)

ID A*

Best-first Uniform-cost Uses path “length” measure. Finds

Greedy “shortest” path.

A*

Brian Williams, Spring 03 80

C

S

B

GA

D

Q

4

3

2

1

(2 A S) (3 B S)

(10 S)

1

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Hill-ClimbingPick first element of Q; Replace Q with extensions (sorted by heuristic value)

Page 41: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 81

C

S

B

GA

D

Q

4

3

2

1

(1 C A S) (4 D A S)

(2 A S) (3 B S)

(10 S)

1

2

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Hill-ClimbingPick first element of Q; Replace Q with extensions (sorted by heuristic value)

Removed

Brian Williams, Spring 03 82

C

S

B

GA

D

Q

4

3

2

1

( )

(1 C A S) (4 D A S)

(2 A S) (3 B S)

(10 S)

1

2

3

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Fails to find a path!

Hill-ClimbingPick first element of Q; Replace Q with extensions (sorted by heuristic value)

Page 42: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 83

Cost and Performance

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

Hill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 84

Cost and Performance

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

b*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 43: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 85

Cost and Performance

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

bb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 86

Cost and Performance

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 44: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 87

Hill-Climbing (with backup)

C

S

B

GA

D

Q

5

4

3

2

1

(2 A S) (3 B S)

(10 S)

1

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Pick first element of Q; Add path extensions (sorted by heuristic value) to front of Q

Brian Williams, Spring 03 88

Hill-Climbing (with backup)

C

S

B

GA

D

Q

5

4

3

2

1

(1 C A S) (4 D A S) (3 B S)

(2 A S) (3 B S)

(10 S)

1

2

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Pick first element of Q; Add path extensions (sorted by heuristic value) to front of Q

All new nodes before old

Page 45: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 89

Hill-Climbing (with backup)

C

S

B

GA

D

Q

5

4

3

2

1

(4 D A S) (3 B S)

(1 C A S) (4 D A S) (3 B S)

(2 A S) (3 B S)

(10 S)

1

2

3

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Pick first element of Q; Add path extensions (sorted by heuristic value) to front of Q

Brian Williams, Spring 03 90

Hill-Climbing (with backup)

C

S

B

GA

D

Q

5

4

3

2

1

(0 G D A S) (1 C A S) (3 B S)

(4 D A S) (3 B S)

(1 C A S) (4 D A S) (3 B S)

(2 A S) (3 B S)

(10 S)

1

2

3

4

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Pick first element of Q; Add path extensions (sorted by heuristic value) to front of Q

Page 46: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 91

Hill-Climbing (with backup)

C

S

B

GA

D

Q

5

4

3

2

1

(0 G D A S) (1 C A S) (3 B S)

(4 D A S) (3 B S)

(1 C A S) (4 D A S) (3 B S)

(2 A S) (3 B S)

(10 S)

1

2

3

4

Added paths in blue; heuristic value of head is in front.

5

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Pick first element of Q; Add path extensions (sorted by heuristic value) to front of Q

Brian Williams, Spring 03 92

Cost and Performance

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Hill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 47: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 93

Cost and Performance

No

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Yesb*mbmHill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 94

Classes of Search

Blind Depth-First Systematic exploration of whole tree

(uninformed) Breadth-First until the goal is found.

Iterative-Deepening

Variants Beam

Hill-Climbing (w backup)

ID A*

Best-first Uniform-cost Uses path “length” measure. Finds

Greedy “shortest” path.

A*

Page 48: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 95

Q

2

1 (10 S)

Expand all Q elements; Keep the k best extensions (sorted by heuristic value)

C

S

B

GA

D

1

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0Added paths in blue; heuristic value of head is in front.

Idea: Incrementally expand the k best paths

Let k = 2

Beam

Brian Williams, Spring 03 96

C

S

B

GA

D

Q

2

1

(2 A S) (3 B S)

(10 S)

1

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Expand all Q elements; Keep the k best extensions (sorted by heuristic value)

Idea: Incrementally expand the k best paths

Let k = 2

Beam

Page 49: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 97

C

S

B

GA

D

Q

3

2

1

(0 G B S) (1 C A S)

(4 D A S) (4 D B S)

(2 A S) (3 B S)

(10 S)

1

2

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

2Keep k best

Expand all Q elements; Keep the k best extensions (sorted by heuristic value)

Idea: Incrementally expand the k best paths

Let k = 2

Beam

Brian Williams, Spring 03 98

C

S

B

GA

D

Q

3

2

1

(0 G B S) (1 C A S)

(4 D A S) (4 D B S)

(2 A S) (3 B S)

(10 S)

1

23

Added paths in blue; heuristic value of head is in front.

Heuristic Values

A=2 C=1 S=10

B=3 D=4 G=0

Beam

2Keep k best

Expand all Q elements; Keep the k best extensions (sorted by heuristic value)

Idea: Incrementally expand the k best paths

Let k = 2

Page 50: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 99

Cost and Performance

No

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Beam(beam width = k)

Yesbd+1bd+1Best-First

Yesb*mbmHill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 100

Cost and Performance

No

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

k*bBeam(beam width = k)

Yesbd+1bd+1Best-First

Yesb*mbmHill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 51: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 101

Cost and Performance

No

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

k*bk*b*mBeam(beam width = k)

Yesbd+1bd+1Best-First

Yesb*mbmHill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Brian Williams, Spring 03 102

Cost and Performance

No

No

No

Yes if uniform cost or A* w admissible heuristic.

Yes for unit edge cost

No

Optimal?

Nok*bk*b*mBeam(beam width = k)

Yesbd+1bd+1Best-First

Yesb*mbmHill-Climbing(backup)

Nobb*mHill-Climbing(no backup)

Yesbd+1bd+1Breadth-First

Yesb*mbmDepth-First

Guaranteed to

find a path?

Worst

Space

Worst

Time

Search

Method

Searching a tree with branching factor b, solution depth d, and max depth m

Worst case time is proportional to number of nodes visitedWorst case space is proportional to maximal length of Q

Page 52: l13b informed search path planningweb.mit.edu/16.410/www/lectures_fall04/l13b... · 4 2 3 2 5 1 Informed Search Problem: Find the path to the goal G with the shortest path length

Brian Williams, Spring 03 103

Outline• Creating road maps for path

planning • Exploring roadmaps: Shortest

Path– Single Source

• Dijkstra;s algorithm

– Informed search• Uniform cost search• Greedy search• A* search• Beam search• Hill climbing

• Avoiding adversaries– (Next Lecture)