Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Cherkassky, B.V., Goldberg, A.V., Radzik, T.: Shortest Paths Algorithms: Theory and Experimental Evaluation. Math. Prog. 73, 129–174 (1996)
Cowen, L.J., Wagner, C.G.: Compact Roundtrip Routing in Directed Networks. In: Proc. Symp. on Principles of Distributed Computation, pp. 51–59 (2000)
Dantzig, G.B.: Linear Programming and Extensions. Princeton Univ. Press, Princeton (1962)
Denardo, E.V., Fox, B.L.: Shortest-Route Methods: 1. Reaching, Pruning, and Buckets. Oper. Res. 27, 161–186 (1979)
Dijkstra, E.W.: A Note on Two Problems in Connexion with Graphs. Numer. Math. 1, 269–271 (1959)
Doran, J.: An Approach to Automatic Problem-Solving. Machine Intelligence 1, 105–127 (1967)
Dreyfus, D.: An Appraisal of Some Shortest Path Algorithms. Technical Report RM-5433, Rand Corporation, Santa Monica, CA (1967)
Fakcharoenphol, J., Rao, S.: Planar Graphs, Negative Weight Edges, Shortest Paths, and Near Linear Time. In: Proc. 42nd IEEE Annual Symposium on Foundations of Computer Science, pp. 232–241 (2001)
Fredman, M.L., Tarjan, R.E.: Fibonacci Heaps and Their Uses in Improved Network Optimization Algorithms. J. Assoc. Comput. Mach. 34, 596–615 (1987)
Gallo, G., Pallottino, S.: Shortest Paths Algorithms. Annals of Oper. Res. 13, 3–79 (1988)
Goldberg, A.V.: A Simple Shortest Path Algorithm with Linear Average Time. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 230–241. Springer, Heidelberg (2001)
Goldberg, A.V.: Shortest Path Algorithms: Engineering Aspects. In: Eades, P., Takaoka, T. (eds.) ISAAC 2001. LNCS, vol. 2223, p. 502. Springer, Heidelberg (2001)
Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A* Search Meets Graph Theory. Technical Report MSR-TR-2004-24, Microsoft Research (2004)
Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A* Search Meets Graph Theory. In: Proc. 16th ACM-SIAM Symposium on Discrete Algorithms pp. 156–165 (2005)
Goldberg, A.V., Kaplan, H., Werneck, R.F.: Better Landmarks within Reach. In: The 9th DIMACS Implementation Challenge: Shortest Paths (2006)
Goldberg, A.V., Kaplan, H., Werneck, R.F.: Reach for A*: Efficient Point-to-Point Shortest Path Algorithms. In: Proc. 7th International Workshop on Algorithm Engineering and Experiments, SIAM, Philadelphia (2006)
Goldberg, A.V., Silverstein, C.: Implementations of Dijkstra’s Algorithm Based on Multi-Level Buckets. In: Pardalos, P.M., Hearn, D.W. (eds.) Lecture Notes in Economics and Mathematical Systems, pp. 292–327. Springer, Heidelberg (1997)
Goldberg, A.V., Werneck, R.F.: Computing Point-to-Point Shortest Paths from External Memory. In: Proc. 7th International Workshop on Algorithm Engineering and Experiments, pp. 26–40. SIAM, Philadelphia (2005)
Gutman, R.: Reach-Based Routing: A New Approach to Shortest Path Algorithms Optimized for Road Networks. In: Proc. 6th International Workshop on Algorithm Engineering and Experiments, pp. 100–111 (2004)
Hart, P.E., Nilsson, N.J., Raphael, B.: A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on System Science and Cybernetics 4(2) (1968)
Ikeda, T., Hsu, M.-Y., Imai, H., Nishimura, S., Shimoura, H., Hashimoto, T., Tenmoku, K., Mitoh, K.: A Fast Algorithm for Finding Better Routes by AI Search Techniques. In: Proc. Vehicle Navigation and Information Systems Conference, IEEE Computer Society Press, Los Alamitos (1994)
Jacob, R., Marathe, M.V., Nagel, K.: A Computational Study of Routing Algorithms for Realistic Transportation Networks. Oper. Res. 10, 476–499 (1962)
Klein, P.: Preprocessing an Undirected Planar Network to Enable Fast Approximate Distance Queries. In: Proc. 13th ACM-SIAM Symposium on Discrete Algorithms, pp. 820–827 (2002)
Köhler, E., Möhring, R.H., Schilling, H.: Acceleration of shortest path and constrained shortest path computation. In: Nikoletseas, S.E. (ed.) WEA 2005. LNCS, vol. 3503, pp. 126–138. Springer, Heidelberg (2005)
Ford Jr., L.R.: Network Flow Theory. Technical Report P-932, The Rand Corporation (1956)
Ford Jr., L.R., Fulkerson, D.R.: Flows in Networks. Princeton Univ. Press, Princeton (1962)
Lauther, U.: An Extremely Fast, Exact Algorithm for Finding Shortest Paths in Static Networks with Geographical Background. In: IfGIprints 22, Institut fuer Geoinformatik, Universitaet Muenster, pp. 219–230 (2004)
Meyer, U.: Single-Source Shortest Paths on Arbitrary Directed Graphs in Linear Average Time. In: Proc. 12th ACM-SIAM Symposium on Discrete Algorithms, pp. 797–806 (2001)
Möhring, R.H., Schilling, H., Schütz, B., Wagner, D., Willhalm, T.: Partitioning Graphs to Speed up Dijkstra’s Algorithm. In: Nikoletseas, S.E. (ed.) WEA 2005. LNCS, vol. 3503, pp. 189–202. Springer, Heidelberg (2005)
Nicholson, T.A.J.: Finding the Shortest Route Between Two Points in a Network. Computer J. 9, 275–280 (1966)
Pohl, I.: Bi-Directional Search. In: Machine Intelligence, vol. 6, pp. 124–140. Edinburgh Univ. Press, Edinburgh (1971)
Sanders, P., Schultes, D.: Highway Hierarchies Hasten Exact Shortest Path Queries. In: Brodal, G.S., Leonardi, S. (eds.) ESA 2005. LNCS, vol. 3669, pp. 568–579. Springer, Heidelberg (2005)
Sanders, P., Schultes, D.: Engineering highway hierarchies. In: Azar, Y., Erlebach, T. (eds.) ESA 2006. LNCS, vol. 4168, pp. 804–816. Springer, Heidelberg (2006)
Schultes, D.: Fast and Exact Shortest Path Queries Using Highway Hierarchies. Master’s Thesis, Department of Computer Science, Universität des Saarlandes, Germany (2005)
Schulz, F., Wagner, D., Zaroliagis, C.D.: Using Multi-level Graphs for Timetable Information in Railway Systems. In: Mount, D.M., Stein, C. (eds.) ALENEX 2002. LNCS, vol. 2409, pp. 43–59. Springer, Heidelberg (2002)
Sedgewick, R., Vitter, J.S.: Shortest Paths in Euclidean Graphs. Algorithmica 1, 31–48 (1986)
Tarjan, R.E.: Data Structures and Network Algorithms. Society for Industrial and Applied Mathematics, Philadelphia (1983)
Thorup, M.: Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time. J. Assoc. Comput. Mach. 46, 362–394 (1999)
Thorup, M.: Compact Oracles for Reachability and Approximate Distances in Planar Digraphs. In: Proc. 42nd IEEE Annual Symposium on Foundations of Computer Science, pp. 242–251 (2001)
Wagner, D., Willhalm, T.: Geometric speed-up techniques for finding shortest paths in large sparse graphs. In: Di Battista, G., Zwick, U. (eds.) ESA 2003. LNCS, vol. 2832, pp. 776–787. Springer, Heidelberg (2003)
Zhan, F.B., Noon, C.E.: Shortest Path Algorithms: An Evaluation Using Real Road Networks. Transp. Sci. 32, 65–73 (1998)
Zhan, F.B., Noon, C.E.: A Comparison Between Label-Setting and Label-Correcting Algorithms for Computing One-to-One Shortest Paths. Journal of Geographic Information and Decision Analysis 4 (2000)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Goldberg, A.V. (2007). Point-to-Point Shortest Path Algorithms with Preprocessing. In: van Leeuwen, J., Italiano, G.F., van der Hoek, W., Meinel, C., Sack, H., Plášil, F. (eds) SOFSEM 2007: Theory and Practice of Computer Science. SOFSEM 2007. Lecture Notes in Computer Science, vol 4362. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69507-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-69507-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69506-6
Online ISBN: 978-3-540-69507-3
eBook Packages: Computer ScienceComputer Science (R0)