Adaptive Pruning Optimization Strategy

Input: T, C_best

Output: T_pruned

1

T_pruned ←

2

T_pruned ← Qstart;

3

for Q = 1 to N do

4

if Cost(Q) > C_best, then

5

Continue;

6

T_pruned.add(Q);

7

for Q in T_pruned:

8

for Q_child in Q.children;

9

if Q_child.cost > C_best:

10

T_pruned.remove(Q_child)

11

end if

12

end for

13

end for

14

return T_pruned