Abstract
A concurrent-read exclusive-write PRAM algorithm is developed to find the k shortest paths between pairs of vertices in an edge-weighted directed graph. Repetitions of vertices along the paths are allowed. The algorithm computes an implicit representation of the k shortest paths to a given destination vertex from every vertex of a graph with n vertices and m edges, using O(m + nk log2 k) work and O(log3 k log* k+ log n(log log k+ log* n)) time, assuming that a shortest path tree rooted at the destination is precomputed. The paths themselves can be extracted from the implicit representation in O(log k+log n) time, and O(n log n + L) work, where L is the total length of the output.
Preview
Unable to display preview. Download preview PDF.
References
A. Borodin and J. E. Hopcroft. Routing, merging and sorting in parallel models of computation. Journal of Computer and System Sciences, 30:130–145, 1985.
Gen-Huey Chen and Yung-Chen Hung. Algorithms for the constrained quickest path problem and the enumeration of quickest paths. Computers and operations research, 21(2):113–118, 1994.
Y. L. Chen. Finding the k quickest simple paths in a network. Information Processing Letters, 50(2):89–92, April 1994.
Y. L. Chen and Y. H. Chin. The quickest path problem. Computers and Operations Research, 17(2):153–161, 1990.
R. Cole. An optimally efficient selection algorithm. Information Processing Letters, 26:295–299, January 1988.
R. Cole. Parallel merge sort. SIAM Journal on Computing, 17(4):770–785, August 1988.
David Eppstein. Finding the k shortest paths. In Proc. 35th IEEE Symposium on Foundations of Computer Science, pages 154–165, 1994.
G. David Forney, Jr. The Viterbi algorithm. Proceedings of the IEEE, 61(3):268–278, March 1973.
B. L. Fox. Calculating kth shortest paths. INFOR; Canadian Journal of Operational Research, 11(1):66–70, 1973.
Greg N. Frederickson. An optimal algorithm for selection in a min-heap. Information and Computation, 104:197–214, 1993.
Greg N. Frederickson and Donald B. Johnson. The complexity of selection and ranking in X + Y and matrices with sorted columns. Journal of Computer and System Sciences, 24:197–208, 1982.
Michael L. Fredman and Robert Endre Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM, 34(3):596–615, 1987.
Y. Han, V. Pan, and J. Reif. Efficient parallel algorithms for computing all pair shortest paths in directed graphs. In 4th Annual ACM Symposium on Parallel Algorithms and Architectures, pages 353–362, 1992.
Walter Hoffman and Richard Pavley. A method of solution of the Nth best path problem. Journal of the ACM, 6:506–514, 1959.
Richard Karp and Vijaya Ramachandran. Parallel algorithms for shared-memory machines. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, volume A, pages 871–941. Elsevier, 1990.
N. Katoh, T. Ibaraki, and H. Mine. An efficient algorithm for K shortest simple paths. Networks, 12:411–427, 1982.
Richard C. Paige and Clyde P. Kruskal. Parallel algorithms for shortest paths problems. In Proceedings of the International Conference on Parallel Processing, pages 14–20, 1985.
Margaret Reid-Miller, Gary L. Miller, and Francesmary Modugno. List ranking and parallel tree contraction. In John H. Reif, editor, Synthesis of Parallel Algorithms, chapter 3. Morgan Kaufmann, 1993.
Eric Ruppert. Parallel algorithms for the k shortest paths and related problems. Master's thesis, University of Toronto, 1996.
Nambirajan Seshadri and Carl-Erik W. Sundberg. List Viterbi decoding algorithms with applications. IEEE Transactions on Communications, 42(2/3/4 Part I):313–323, 1994.
Frank K. Soong and Eng-Fong Huang. A tree-trellis based fast search for finding the N best sentence hypotheses in continuous speech recognition. In Proceedings of the International Conference on Acoustics, Speech and Signal Processing, volume 1, pages 705–708, 1991.
Uzi Vishkin. An optimal parallel algorithm for selection. In Advances in Computing Research, volume 4, pages 79–86. JAI Press, 1987.
Jin Y. Yen. Finding the K shortest loopless paths. Management Science, 17(11):712–716, July 1971.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ruppert, E. (1997). Finding the k shortest paths in parallel. In: Reischuk, R., Morvan, M. (eds) STACS 97. STACS 1997. Lecture Notes in Computer Science, vol 1200. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023482
Download citation
DOI: https://doi.org/10.1007/BFb0023482
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62616-9
Online ISBN: 978-3-540-68342-1
eBook Packages: Springer Book Archive