Reach for A*: Shortest Path Algorithms with Preprocessing

We study the point-to-point shortest path problem with preprocessing. Given an input graph, we preprocess it so as to be able to answer a series of source-to-destination queries efficiently. Our work is motivated by an algorithm of Gutman [ALENEX’04], based on the notion of reach, which measures how important each vertex is with respect to shortest paths. We present a simplified version of his algorithm that does not require explicit lower bounds during queries. We also show how the addition of shortcuts to the graph greatly improves the performance of both preprocessing and queries. Finally, we combine a reach-based algorithm with landmark-based A search to obtain a wide range of space-time trade-offs. For our motivating application, driving directions for road networks, the resulting algorithm is very efficient and practical. The road networks of the USA and Western Europe have roughly 20 million vertices, but on average our algorithm must visit fewer than a thousand to find the distance between two points. Our algorithm also works reasonably well on 2-dimensional grid graphs with random arc weights.

[1]  Frank Schulz,et al.  Using Multi-Level Graphs for Timetable Information , 2001 .

[2]  A. Goldberg,et al.  Implementations of Dijkstra’s Algorithm Based on Multi-Level Buckets , 1997 .

[3]  F. Benjamin Zhan,et al.  A Comparison Between Label-Setting and Label-Correcting Algorithms for Computing One-to-One Shortest Paths ∗ , 2000 .

[4]  Peter Sanders,et al.  Robust, Almost Constant Time Shortest-Path Queries in Road Networks , 2006, The Shortest Path Problem.

[5]  Ronald J. Gutman,et al.  Reach-Based Routing: A New Approach to Shortest Path Algorithms Optimized for Road Networks , 2004, ALENEX/ANALC.

[6]  Mikkel Thorup,et al.  Undirected single-source shortest paths with positive integer weights in linear time , 1999, JACM.

[7]  Peter Sanders,et al.  Highway Hierarchies Star , 2006, The Shortest Path Problem.

[8]  Peter Sanders,et al.  In Transit to Constant Time Shortest-Path Queries in Road Networks , 2007, ALENEX.

[9]  Haim Kaplan,et al.  Reach for A*: Efficient Point-to-Point Shortest Path Algorithms , 2006, ALENEX.

[10]  Giuseppe F. Italiano,et al.  A new approach to dynamic all pairs shortest paths , 2003, STOC '03.

[11]  L. R. Ford,et al.  NETWORK FLOW THEORY , 1956 .

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

[13]  Andrew V. Goldberg,et al.  Shortest Path Algorithms: Engineering Aspects , 2001, ISAAC.

[14]  Mikkel Thorup Compact oracles for reachability and approximate distances in planar digraphs , 2004, JACM.

[15]  Jeffrey Scott Vitter,et al.  Shortest paths in euclidean graphs , 2005, Algorithmica.

[16]  Haim Kaplan,et al.  Better Landmarks Within Reach , 2007, WEA.

[17]  Ulrich Meyer,et al.  Single-source shortest-paths on arbitrary directed graphs in linear average-case time , 2001, SODA '01.

[18]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

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

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

[21]  Swastik Kopparty,et al.  TO PLANAR GRAPHS , 2010 .

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

[23]  Satish Rao,et al.  Planar graphs, negative weight edges, shortest paths, and near linear time , 2006, J. Comput. Syst. Sci..

[24]  Lenore Cowen,et al.  Compact roundtrip routing in directed networks , 2004, J. Algorithms.

[25]  Andrew V. Goldberg,et al.  A Simple Shortest Path Algorithm with Linear Average Time , 2001, ESA.

[26]  James Doran,et al.  AN APPROACH TO AUTOMATIC PROBLEM -SOLVING , 1966 .

[27]  L FoxBennett,et al.  Shortest-Route Methods , 1979 .

[28]  Philip N. Klein,et al.  Preprocessing an undirected planar network to enable fast approximate distance queries , 2002, SODA '02.

[29]  Andrew V. Goldberg,et al.  Computing Point-to-Point Shortest Paths from External Memory , 2005, ALENEX/ANALCO.

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

[31]  Nesa L'abbe Wu,et al.  Linear programming and extensions , 1981 .

[32]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[33]  RadzikTomasz,et al.  Shortest paths algorithms , 1996 .

[34]  Rolf H. Möhring,et al.  Acceleration of Shortest Path and Constrained Shortest Path Computation , 2005, WEA.

[35]  A. Goldberg,et al.  TRANSIT: Ultrafast Shortest-Path Queries with Linear-Time Preprocessing , 2006 .

[36]  Dorothea Wagner,et al.  Geometric Speed-Up Techniques for Finding Shortest Paths in Large Sparse Graphs , 2003, ESA.

[37]  Frank Schulz,et al.  Fast and Exact Shortest Path Queries Using Highway Hierarchies , 2005 .

[38]  Rolf H. Möhring,et al.  Partitioning Graphs to Speed Up Dijkstra's Algorithm , 2005, WEA.

[39]  F. Benjamin Zhan,et al.  Shortest Path Algorithms: An Evaluation Using Real Road Networks , 1998, Transp. Sci..

[40]  Andrew V. Goldberg,et al.  Shortest paths algorithms: Theory and experimental evaluation , 1994, SODA '94.

[41]  Peter Sanders,et al.  Highway Hierarchies Hasten Exact Shortest Path Queries , 2005, ESA.

[42]  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.

[43]  E. Denardo,et al.  Shortest-Route Methods: 1. Reaching, Pruning, and Buckets , 1979, Oper. Res..

[44]  Ulrich Lauther,et al.  An Experimental Evaluation of Point-To-Point Shortest Path Calculation on Road Networks with Precalculated Edge-Flags , 2006, The Shortest Path Problem.

[45]  Frank Schulz,et al.  High-Performance Multi-Level Graphs ∗ , 2006 .

[46]  Madhav V. Marathe,et al.  A computational study of routing algorithms for realistic transportation networks , 1999, JEAL.

[47]  Rolf H. Möhring,et al.  Fast Point-to-Point Shortest Path Computations with Arc-Flags , 2006, The Shortest Path Problem.