42
BEAM-STACK SEARCH: INTEGRATING BACKTRACKING WITH BEAM SEARCH Ring Zhou and Eric A. Hansen Presented by Paul Gross

Beam-Stack Search: Integrating Backtracking with Beam Search

  • Upload
    lona

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

Beam-Stack Search: Integrating Backtracking with Beam Search. Ring Zhou and Eric A. Hansen Presented by Paul Gross. Beam-Stack Search Overview. Complete, anytime algorithm O( dw ) Memory Complexity d = depth of optimal solution, w = beam width Uses novel beam stack structure - PowerPoint PPT Presentation

Citation preview

Page 1: Beam-Stack Search: Integrating Backtracking with Beam Search

BEAM-STACK SEARCH:INTEGRATING BACKTRACKING WITH BEAM SEARCH

Ring Zhou and Eric A. HansenPresented by Paul Gross

Page 2: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-Stack Search Overview Complete, anytime algorithm O(dw) Memory Complexity

d = depth of optimal solution, w = beam width Uses novel beam stack structure

Stores most promising, unexpanded nodes at each level

Bounds, admissibly prunes sub-optimal nodes Outperforms

Breadth-first Branch and Bound (BFBnB) Divide and Conquer Solution Reconstruction implementation

Depth-first Iterative Deepening A* (DFIDA*) Iterative-Deepening A* heuristic implementation

Page 3: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam Search Algorithm Breadth-first approach

Bound level fringe size Size is beam width (w)

Branches most w promising nodes at each level

Width bound reduces complexity Time, Memory: O(wd)

Incomplete due to inadmissible pruning rule

w = 2

...

Goal State

Page 4: Beam-Stack Search: Integrating Backtracking with Beam Search

Making Beam Search Complete Beam-Stack search

Builds off Breadth-first Beam Search Prune layers by beam width Each layer expands at most w nodes

Expand layers by f(n) bounds f(n) = g(n) + h(n) as in A*, where h(n) admissible

Beam Stack stores f(n) ranges for each layer Successor layer nodes have f(n) value in range

Backtracking pruned nodes by shifting f(n) ranges Provides completeness

Page 5: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack

Level Open Closed

Current Node

Beam Width (w)Upper f(n) Bound

S

Current Level

Best Goal

A B C

2 2 3

4 65 2 62 4

D E F G H I J

1

0 1 1 2 2 0 2

2 2

g(n) = Vh(n) =

V

3

Page 6: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack

[ 0 , 10 )

Level Open Closed

Current Node

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level

Best Goal

g(n) = Vh(n) =

V

Page 7: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

g(n) = Vh(n) =

V

Page 8: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

g(n) = Vh(n) =

V

Page 9: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

f(A) = g(A) + h(A) = 2 + 1 = 3

Page 10: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1 A

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

f(A) = g(A) + h(A) = 2 + 1 = 3

Page 11: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1 A

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2

Page 12: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1 AB

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2

Page 13: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1 AB

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

Page 14: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 10

Level Open Closed0 S1 ABC

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

layerSize(1) = 3> w

f(A), f(B) < f(C), prune C Adjust beam stack to

backtrack to C

Page 15: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 5

Level Open Closed0 S1 AB

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 0

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

layerSize(1) = 3> w

f(A), f(B) < f(C), prune C Adjust beam stack to

backtrack to C

Page 16: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 10

Level Open Closed0 S1 B A2

Current Node

A

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

Page 17: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 10

Level Open Closed0 S1 B A2 D

Current Node

A

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

Page 18: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 10

Level Open Closed0 S1 B A2 DE

Current Node

A

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

Page 19: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 10

Level Open Closed0 S1 B A2 DEF

Current Node

A

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

layerSize(2) = 3> w

Page 20: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 9

Level Open Closed0 S1 B A2 DE

Current Node

A

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

Page 21: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 9

Level Open Closed0 S1 AB2 DE

Current Node

B

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

Page 22: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 9

Level Open Closed0 S1 AB2 DE

Current Node

B

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

Page 23: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 9

Level Open Closed0 S1 AB2 DEG

Current Node

B

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

f(G) < f(E)

Page 24: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 DG

Current Node

B

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

Page 25: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 DG

Current Node

B

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 1

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

Page 26: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 G D

Current Node

D

Beam Width (w)

2

Upper f(n) Bound

10S

Current Level 2

Best Goal

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

Page 27: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 G D

Current Node

D

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 2

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

Page 28: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 DG

Current Node

G

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 2

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

3

Page 29: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed0 S1 AB2 DG

Current Node

G

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 2

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

3

Page 30: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 50 8

Level Open Closed

Current Node

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

3

Page 31: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack0 5

Level Open Closed

Current Node

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

3

Page 32: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 6

Level Open Closed

Current Node

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level

Best Goal D

A

2

1

g(n) = Vh(n) =

V

B2

2 C

3

2

4

D0

5

E1

6

F1

2

G2

4

H2

3

Page 33: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 6

Level Open Closed0 S1

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 0

Best Goal D

g(n) = Vh(n) =

V

Page 34: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 6

Level Open Closed0 S1

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 0

Best Goal D

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

Page 35: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 6

Level Open Closed0 S1 C

Current Node

S

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 0

Best Goal D

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

Page 36: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 50 6

Level Open Closed0 S1 C2

Current Node

C

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 1

Best Goal D

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

Page 37: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 50 6

Level Open Closed0 S1 C2 I

Current Node

C

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 1

Best Goal D

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

Page 38: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 50 6

Level Open Closed0 S1 C2 I

Current Node

I

Beam Width (w)

2

Upper f(n) Bound

6S

Current Level 2

Best Goal D

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

Page 39: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 50 6

Level Open Closed0 S1 C2 I

Current Node

I

Beam Width (w)

2

Upper f(n) Bound

5S

Current Level 2

Best Goal I

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

Page 40: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 50 6

Level Open Closed0 S1 C2 I

Current Node

I

Beam Width (w)

2

Upper f(n) Bound

5S

Current Level 2

Best Goal I

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

Page 41: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack5 5

Level Open Closed0 S1 C2 I

Current Node

I

Beam Width (w)

2

Upper f(n) Bound

5S

Current Level 2

Best Goal I

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

Page 42: Beam-Stack Search: Integrating Backtracking with Beam Search

Beam-stack Search Algorithm

Beam Stack

Level Open Closed0 S1 C2 I

Current Node

I

Beam Width (w)

2

Upper f(n) Bound

5S

Current Level 2

Best Goal I

g(n) = Vh(n) =

V

A B C

2 2 3

1 2 2

2

I0

6

J2

5 is the optimal solution