Advertisement

Finding the k shortest paths in parallel

  • Eric Ruppert
Parallel Algorithms
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1200)

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 log2k) work and O(log3k 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.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. 4.
    Y. L. Chen and Y. H. Chin. The quickest path problem. Computers and Operations Research, 17(2):153–161, 1990.CrossRefMathSciNetGoogle Scholar
  5. 5.
    R. Cole. An optimally efficient selection algorithm. Information Processing Letters, 26:295–299, January 1988.CrossRefMathSciNetGoogle Scholar
  6. 6.
    R. Cole. Parallel merge sort. SIAM Journal on Computing, 17(4):770–785, August 1988.CrossRefGoogle Scholar
  7. 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. 8.
    G. David Forney, Jr. The Viterbi algorithm. Proceedings of the IEEE, 61(3):268–278, March 1973.Google Scholar
  9. 9.
    B. L. Fox. Calculating kth shortest paths. INFOR; Canadian Journal of Operational Research, 11(1):66–70, 1973.Google Scholar
  10. 10.
    Greg N. Frederickson. An optimal algorithm for selection in a min-heap. Information and Computation, 104:197–214, 1993.CrossRefGoogle Scholar
  11. 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. 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. 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. 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. 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. 16.
    N. Katoh, T. Ibaraki, and H. Mine. An efficient algorithm for K shortest simple paths. Networks, 12:411–427, 1982.Google Scholar
  17. 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. 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. 19.
    Eric Ruppert. Parallel algorithms for the k shortest paths and related problems. Master's thesis, University of Toronto, 1996.Google Scholar
  20. 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. 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. 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. 23.
    Jin Y. Yen. Finding the K shortest loopless paths. Management Science, 17(11):712–716, July 1971.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Eric Ruppert
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations