Beam stack search

From HandWiki

Beam stack search[1] is a search algorithm that combines chronological backtracking (that is, depth-first search) with beam search and is similar to depth-first beam search.[2] Both search algorithms are anytime algorithms that find good but likely sub-optimal solutions quickly, like beam search, then backtrack and continue to find improved solutions until convergence to an optimal solution.

Implementation

Beam stack search uses the beam stack as a data structure to integrate chronological backtracking with beam search and can be combined with the divide and conquer algorithm technique, resulting in divide-and-conquer beam-stack search.

Alternatives

Beam search using limited discrepancy backtracking[2] (BULB) is a search algorithm that combines limited discrepancy search with beam search and thus performs non-chronological backtracking, which often outperforms the chronological backtracking done by beam stack search and depth-first beam search.

References

  1. Zhou, Rong; Hansen, Eric A. (2005). "Beam-Stack Search: Integrating Backtracking with Beam Search". https://cdn.aaai.org/ICAPS/2005/ICAPS05-010.pdf. 
  2. 2.0 2.1 Furcy, David. Koenig, Sven. "Limited Discrepancy Beam Search". 2005. "Archived copy". http://www.ijcai.org/papers/0596.pdf. Retrieved 2007-12-22.