Using A search with
or
, the search space that needs to be
explored is still huge and memory is frequently exhausted before a solution is
found. In A
search, we store states
in a priority queue. Memory-bounded A
limits the size
of this queue by removing states that look unpromising. We present three such
pruning strategies.
The first strategy is to prune the state
when the priority queue's size exceeds a threshold. However, as
increases
tends to increase as well, so this pruning strategy tends
to prune long partial paths before shorter ones. This introduces a bias towards
short partial paths, and can be undesirable. We call this first strategy
.
The second strategy is to prune based on the normalized score
when the threshold is exceeded. This corrects the bias caused by differences in
length among the states. We call this strategy
.
A third strategy is to prune short states first; that is, prune
,
where
is large enough that all states of length
are pruned
before states of length
. This strategy directly exploits the earlier
insight that short partial paths are most likely to be safe to prune. Note
that using strategy
, after the memory limit has been reached,
our A
search is similar to beam search.