Andrew V. Goldberg:
Point-to-Point Shortest Path Algorithms with Preprocessing

Microsoft Research - Silicon Valley, USA
Presentation

This is a survey of some recent results on point-to-point shortest path algorithms.

This classical optimization problem received a lot of attention lately and significant progress has been made. After an overview of classical results, we study recent heuristics that solve the problem while examining only a small portion of the input graph; the graph can be very big. Note that the algorithms we discuss find exact shortest paths. These algorithms are heuristic because they perform well only on some graph classes. While their performance has been good in experimental studies, no theoretical bounds are known to support the experimental observations. Most of these algorithms have been motivated by finding paths in large road networks.

We start by reviewing the classical Dijkstra`s algorithm and its bidirectional variant, developed in 1950`s and 1960`s. Then we review A* search, an AI technique developed in 1970`s. Next we turn our attention to modern results which are based on preprocessing the graph. To be practical, preprocessing needs to be reasonably fast and not use too much space. We discuss landmark- and reach-based algorithms as well as their combination.