Abstract
The best known algorithm for the one-to-all shortest path problem is Dijkstra’s algorithm, which can achieve time complexity O(|E| + |V|log(|V|)) by the implementation of data structures like buckets. While for one-to-some shortest path problem, no matter how small the “some” is, the time complexity of Dijkstra’s algorithm remains O(|E| + |V|log(|V|)) and it often still needs to explore a large part of the graph and thus is not efficient. This paper proposes a novel algorithm which computes the shortest paths bidirectionally with A * algorithm multiple times to solve the one-to-some shortest path problem on road maps efficiently, where the size of the destination set is much smaller than the total number of vertices in the graph. The experiments on both randomly generated graphs and real road maps show that our algorithm is more space and time efficient than Dijkstra’s algorithm with buckets, one of the most efficient algorithm for one-to-some shortest path problem.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Dijkstra, E.: A note on two problems in connection with graphs. Numerical Mathematics 1, 269–271 (1959)
Hart, P., Nilsson, N., Raphael, B.: A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybernet. 4(2), 100–107 (1968)
Champeaus, D.: Bidirectional Heuristic Search Again. J. ACM 30, 22–32 (1983)
Zhan, F.B., Noon, C.E.: Shotest Path Algorithms: An Evaluation using Real Road Networks. Transportation Sciences 32(1) (1998)
Shibuya, T.: Computing the n ×m Shortest Paths Efficiently. J. ACM of Experimental Algorithmics 5(9) (2000)
Cherkassky, B.V., Goldberg, A.V., Silverstein, C.: Buckets, heaps, lists and monotone priority queues. In: Proc. 8th ACM-SIAM Symposium on Discrete Algorithm, pp. 83–92 (1997)
Fredman, M.L., Willard, D.E.: Trans-dichotomous algorithms for minimum spanning trees and shortest paths. J. Comp. Syst. Sc. 48, 533–551 (1994)
Raman, R.: Priority queues: small monotones, and trans-dichotomous. In: Díaz, J. (ed.) ESA 1996. LNCS, vol. 1136, pp. 121–137. Springer, Heidelberg (1996)
Thorup, M.: On RAM priority queues. In: Proc. 7th ACM-SIAM symposium on Discrete Algorithms, pp. 59–67 (1996)
Goldberg, A.V., Harrelson, C.: Computing the Shortest Path: A* Search Meets Graph Theory. In: 16th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA ’05), Vancouver, Canada (2005)
Goldberg, A.V., Kaplan, H., Werneck, R.: Reach for A*: Efficient Point-to-Point Shortest Path Algorithms. Technical Report MSR-TR-2005-132, Microsoft Research (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. SIAM, Philadelphia (2004)
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)
Dial, R.B.: Algorithm 360: Shortest Path Forest with Topological Ordering. Communications of the ACM 12, 632–633 (1969)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
He, D. (2007). BMA *: An Efficient Algorithm for the One-to-Some Shortest Path Problem on Road Maps. In: Kao, MY., Li, XY. (eds) Algorithmic Aspects in Information and Management. AAIM 2007. Lecture Notes in Computer Science, vol 4508. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72870-2_33
Download citation
DOI: https://doi.org/10.1007/978-3-540-72870-2_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72868-9
Online ISBN: 978-3-540-72870-2
eBook Packages: Computer ScienceComputer Science (R0)