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 log2k) work and O( log^3k log ^*k+ log n( log log k+ log ^*n)) time, assuming that a shortest path tree rooted at the destination is pre-computed. 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.

[1]  Donald B. Johnson,et al.  The Complexity of Selection and Ranking in X+Y and Matrices with Sorted Columns , 1982, J. Comput. Syst. Sci..

[2]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[3]  David Eppstein,et al.  Finding the k Shortest Paths , 1999, SIAM J. Comput..

[4]  Gary L. Miller,et al.  List ranking and parallel tree contraction , 1993 .

[5]  Toshihide Ibaraki,et al.  An efficient algorithm for K shortest simple paths , 1982, Networks.

[6]  Clyde P. Kruskal,et al.  Parallel Algorithms for Shortest Path Problems , 1985, ICPP.

[7]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1987, JACM.

[8]  Jr. G. Forney,et al.  The viterbi algorithm , 1973 .

[9]  Yijie Han,et al.  Efficient parallel algorithms for computing all pair shortest paths in directed graphs , 1992, SPAA '92.

[10]  Yijie Han,et al.  Efficient Parallel Algorithms for Computing all Pair Shortest Paths in Directed Graphs , 1992, SPAA.

[11]  B. Fox Calculating Kth Shortest Paths , 1973 .

[12]  Richard Pavley,et al.  A Method for the Solution of the Nth Best Path Problem , 1959, JACM.

[13]  Gen-Huey Chen,et al.  Algorithms for the constrained quickest path problem and the enumeration of quickest paths , 1994, Comput. Oper. Res..

[14]  Eric Ruppert,et al.  Parallel Algorithms for the K Shortest Paths and Related Problems Parallel Algorithms for the K Shortest Paths and Related Problems , 1996 .

[15]  J. Y. Yen Finding the K Shortest Loopless Paths in a Network , 1971 .

[16]  Carl-Erik W. Sundberg,et al.  List Viterbi decoding algorithms with applications , 1994, IEEE Trans. Commun..

[17]  Richard J. Cole An Optimally Efficient Selection Algorithm , 1988, Inf. Process. Lett..

[18]  Y. L. Chen,et al.  Finding the k Quickset Simple Paths in a Network , 1994, Inf. Process. Lett..

[19]  Frank K. Soong,et al.  A Tree.Trellis Based Fast Search for Finding the N Best Sentence Hypotheses in Continuous Speech Recognition , 1990, HLT.

[20]  Allan Borodin,et al.  Routing, Merging, and Sorting on Parallel Models of Computation , 1985, J. Comput. Syst. Sci..

[21]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[22]  Richard M. Karp,et al.  Parallel Algorithms for Shared-Memory Machines , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[23]  Greg N. Frederickson,et al.  An Optimal Algorithm for Selection in a Min-Heap , 1993, Inf. Comput..

[24]  Y. H. Chin,et al.  The quickest path problem , 1990, Comput. Oper. Res..