Beam-Stack Search: Integrating Backtracking with Beam Search
description
Transcript of Beam-Stack Search: Integrating Backtracking with Beam Search
![Page 1: Beam-Stack Search: Integrating Backtracking with Beam Search](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062315/5681636a550346895dd443c9/html5/thumbnails/42.jpg)
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