A Brief History and Recent Achievements in Bidirectional Search

The state of the art in bidirectional search has changed significantly a very short time period; we now can answer questions about unidirectional and bidirectional search that until very recently we were unable to answer. This paper is designed to provide an accessible overview of the recent research in bidirectional search in the context of the broader efforts over the last 50 years. We give particular attention to new theoretical results and the algorithms they inspire for optimal and nearoptimal node expansions when finding a shortest path. Introduction and Overview Shortest path algorithms have a long history dating to Dijkstra’s algorithm (DA) (Dijkstra 1959). DA is the canonical example of a best-first search which prioritizes state expansions by their g-cost (distance from the start state). Historically, there were two enhancements to DA developed relatively quickly: bidirectional search and the use of heuristics. Nicholson (1966) suggested bidirectional search where the search proceeds from both the start and the goal simultaneously. In a two dimensional search space a search to radius r will visit approximately r states. A bidirectional search will perform two searches of approximately (r/2) states, a reduction of a factor of two. In exponential state spaces the reduction is from b to 2b, an exponential gain in both memory and time. This is illustrated in Figure 1, where the large circle represents a unidirectional search towards the goal, while the smaller circles represent the two parts of a bidirectional search. Just two years later, DA was independently enhanced with admissible heuristics (distance estimates to the goal) that resulted in the A* algorithm (Hart, Nilsson, and Raphael 1968). A* is goal directed – the search is focused towards the goal by the heuristic. This significantly reduces the search effort required to find a path to the goal. The obvious challenge was whether these two enhancements could be effectively combined into bidirectional heuristic search (Bi-HS). Pohl (1969) first addressed this challenge showing that in practice unidirectional heuristic search (Uni-HS) seemed to beat out Bi-HS. Many Bi-HS algorithms were developed over the years (see a short survey below), but no such algorithm was shown to consistently outperform Uni-HS. Barker and Korf (2015) recently hypothesized that in most cases one should either use bidirectional brute-force search (Bi-BS) or Uni-HS (e.g. A*), but that Bi-HS is never the best approach. This work spurred further research into Bi-HS, and has lead to new theoretical understanding on the nature of Bi-HS as well as new Bi-HS algorithms (e.g., MM, fMM and NBS described below) with strong theoretical guarantees. The purpose of this paper is to provide a high-level picture of this new line of work while placing it in the larger context of previous work on bidirectional search. While there are still many questions yet to answer, we have, for the first time, the full suite of analytic tools necessary to determine whether bidirectional search will be useful on a given problem instance. This is coupled with a Bi-HS algorithm that is guaranteed to expand no more than twice the minimum number of the necessary state expansions in practice. With these tools we can illustrate use-cases for bidirectional search and point to areas of future research. Terminology and Background We define a shortest-path problem as a n-tuple (start, goal, expF , expB , hF , hB), where the goal is to find the least-cost path between start and goal in a graph G. G is not provided a priori, but is provided implicitly through the expF and expB functions that can expand and return the forward (backwards) successors of any state. Bidirectional search algorithms interleave two separate searches, a search forward from start and a search backward from goal. We use fF , gF and hF to indicate f -, g-, and h-costs in the forward search and fB , gB and hB similarly in the backward search. Likewise, OpenF and OpenB store states generated in the forward and backward directions, respectively. Finally, gminF , gminB , fminF and fminB denote the minimal gand f -values in OpenF and OpenB respectively. d(x, y) denotes the shortest distance between x and y. Front-to-end algorithms use two heuristic functions. The forward heuristic, hF , is forward admissible iff hF (u) ≤ d(u, goal) for all u in G and is forward consistent iff hF (u) ≤ d(u, u′) + hF (u′) for all u and u′ in G. The backward heuristic, hB , is backward admissible iff hB(v) ≤ d(start, v) for all v in G and is backward consistent iff hB(v) ≤ d(v′, v) + hB(v) for all v and v′ in G. C∗ = d(start, goal) is the cost of an optimal solution.

[1]  Thomas Ottmann,et al.  An Efficient Data Structure for Bidirectional Heuristic Search , 1994, ECAI.

[2]  Jeffery L. Kennington,et al.  The one-to-one shortest-path problem: An empirical analysis with the two-tree Dijkstra algorithm , 1993, Comput. Optim. Appl..

[3]  Nathan R. Sturtevant,et al.  Bidirectional Search That Is Guaranteed to Meet in the Middle , 2016, AAAI.

[4]  Malte Helmert,et al.  Landmark Heuristics for the Pancake Problem , 2010, SOCS.

[5]  Stuart E. Dreyfus,et al.  An Appraisal of Some Shortest-Path Algorithms , 1969, Oper. Res..

[6]  Richard Anthony Valenzano,et al.  An Analysis and Enhancement of the Gap Heuristic for the Pancake Puzzle , 2017, SOCS.

[7]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[8]  Wim Pijls,et al.  Note on "A new bidirectional algorithm for shortest paths" , 2010, Eur. J. Oper. Res..

[9]  Nathan R. Sturtevant,et al.  Benchmarks for Grid-Based Pathfinding , 2012, IEEE Transactions on Computational Intelligence and AI in Games.

[10]  Andreas Junghanns,et al.  Perimeter Search Performance , 2002, Computers and Games.

[11]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[12]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[13]  Hermann Kaindl,et al.  Bidirectional Heuristic Search Reconsidered , 1997, J. Artif. Intell. Res..

[14]  Andrew V. Goldberg,et al.  Computing the shortest path: A search meets graph theory , 2005, SODA '05.

[15]  Ira Pohl,et al.  D-Node Retargeting in Bidirectional Heuristic Search , 1984, AAAI.

[16]  Ira Sheldon Pohl,et al.  Bi-directional and heuristic search in path problems , 1969 .

[17]  Thomas Sudkamp,et al.  Towards a Better Understanding of Bidirectional Search , 1984, AAAI.

[18]  Nathan R. Sturtevant,et al.  Sufficient Conditions for Node Expansion in Bidirectional Heuristic Search , 2017, ICAPS.

[19]  Richard E. Korf,et al.  Solving Peg Solitaire with Bidirectional BFIDA , 2012, AAAI.

[20]  H. Post,et al.  A new bidirectional algorithm for shortest paths , 2008 .

[21]  Wheeler Ruml,et al.  Robust Bidirectional Search via Heuristic Improvement , 2013, AAAI.

[22]  Rina Dechter,et al.  Generalized best-first search strategies and the optimality of A* , 1985, JACM.

[23]  Nathan R. Sturtevant,et al.  Extended Abstract: An Improved Priority Function for Bidirectional Heuristic Search , 2016, SOCS.

[24]  Hermann Kaindl,et al.  A Case Study of Revisiting Best-First vs. Depth-First Search , 2004, ECAI.

[25]  Patrick A. V. Hall Branch-and-Bound and Beyond , 1971, IJCAI.

[26]  Marco Lippi,et al.  Optimally solving permutation sorting problems with efficient partial expansion bidirectional heuristic search , 2016, AI Commun..

[27]  Peter C. Nelson,et al.  Perimeter Search , 1994, Artif. Intell..

[28]  Lukás Chrpa,et al.  The 2014 International Planning Competition: Progress and Trends , 2015, AI Mag..

[29]  Nathan R. Sturtevant,et al.  Single-Frontier Bidirectional Search , 2010, SOCS.

[30]  T. A. J. Nicholson,et al.  Finding the Shortest Route between Two Points in a Network , 1966, Comput. J..

[31]  Richard E. Korf,et al.  Limitations of Front-To-End Bidirectional Heuristic Search , 2015, AAAI.

[32]  Nathan R. Sturtevant,et al.  The Minimal Set of States that Must Be Expanded in a Front-to-End Bidirectional Search , 2021, SOCS.

[33]  Hiroshi Imai,et al.  A fast algorithm for finding better routes by AI search techniques , 1994, Proceedings of VNIS'94 - 1994 Vehicle Navigation and Information Systems Conference.

[34]  Dennis de Champeaux,et al.  Bidirectional Heuristic Search Again , 1983, JACM.

[35]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[36]  Nathan R. Sturtevant,et al.  Front-to-End Bidirectional Heuristic Search with Near-Optimal Node Expansions , 2017, IJCAI.

[37]  Dennis de Champeaux,et al.  An Improved Bidirectional Heuristic Search Algorithm , 1975, JACM.

[38]  Giovanni Manzini,et al.  BIDA: An Improved Perimeter Search Algorithm , 1995, Artif. Intell..

[39]  C. Pasche,et al.  A parallel shortest path algorithm , 2005, Computing.

[40]  Shamsul Arefin,et al.  A New Approach of Iterative Deepening Bi- Directional Heuristic Front-to-Front Algorithm (IDBHFFA) , 2010 .

[41]  Prabhakar Ragde,et al.  A bidirectional shortest-path algorithm with good average-case behavior , 1989, Algorithmica.

[42]  Marco Lippi,et al.  Efficient Single Frontier Bidirectional Search , 2012, SOCS.

[43]  Nathan R. Sturtevant,et al.  External Memory Bidirectional Search , 2016, IJCAI.

[44]  James B. H. Kwa,et al.  BS*: An Admissible Bidirectional Staged Heuristic Search Algorithm , 1989, Artif. Intell..