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.