# Finding the *k* shortest paths in parallel

## 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* log^{2}*k*) work and *O*(log^{3}*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.

## Topics

parallel algorithms data structures## Preview

Unable to display preview. Download preview PDF.

## References

- 1.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.CrossRefGoogle Scholar - 2.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.CrossRefGoogle Scholar - 3.Y. L. Chen. Finding the
*k*quickest simple paths in a network.*Information Processing Letters*, 50(2):89–92, April 1994.CrossRefGoogle Scholar - 4.Y. L. Chen and Y. H. Chin. The quickest path problem.
*Computers and Operations Research*, 17(2):153–161, 1990.CrossRefMathSciNetGoogle Scholar - 5.R. Cole. An optimally efficient selection algorithm.
*Information Processing Letters*, 26:295–299, January 1988.CrossRefMathSciNetGoogle Scholar - 6.R. Cole. Parallel merge sort.
*SIAM Journal on Computing*, 17(4):770–785, August 1988.CrossRefGoogle Scholar - 7.David Eppstein. Finding the
*k*shortest paths. In*Proc. 35th IEEE Symposium on Foundations of Computer Science*, pages 154–165, 1994.Google Scholar - 8.G. David Forney, Jr. The Viterbi algorithm.
*Proceedings of the IEEE*, 61(3):268–278, March 1973.Google Scholar - 9.B. L. Fox. Calculating kth shortest paths.
*INFOR*;*Canadian Journal of Operational Research*, 11(1):66–70, 1973.Google Scholar - 10.Greg N. Frederickson. An optimal algorithm for selection in a min-heap.
*Information and Computation*, 104:197–214, 1993.CrossRefGoogle Scholar - 11.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.CrossRefGoogle Scholar - 12.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.CrossRefGoogle Scholar - 13.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.Google Scholar - 14.Walter Hoffman and Richard Pavley. A method of solution of the Nth best path problem.
*Journal of the ACM*, 6:506–514, 1959.CrossRefGoogle Scholar - 15.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.Google Scholar - 16.N. Katoh, T. Ibaraki, and H. Mine. An efficient algorithm for
*K*shortest simple paths.*Networks*, 12:411–427, 1982.Google Scholar - 17.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.Google Scholar - 18.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.Google Scholar - 19.Eric Ruppert. Parallel algorithms for the
*k*shortest paths and related problems. Master's thesis, University of Toronto, 1996.Google Scholar - 20.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.CrossRefGoogle Scholar - 21.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.Google Scholar - 22.Uzi Vishkin. An optimal parallel algorithm for selection. In
*Advances in Computing Research*, volume 4, pages 79–86. JAI Press, 1987.Google Scholar - 23.Jin Y. Yen. Finding the
*K*shortest loopless paths.*Management Science*, 17(11):712–716, July 1971.Google Scholar