[Delta]-stepping: a parallelizable shortest path algorithm

The single source shortest path problem for arbitrary directed graphs with n nodes, m edges and nonnegative edge weights can sequentially be solved using O(n ċ log n + m) operations. However, no work-efficient parallel algorithm is known that runs in sublinear time for arbitrary graphs. In this paper we present a rather simple algorithm for the single source shortest path problem. Our new algorithm, which we call Delta-stepping, can be implemented very efficiently in sequential and parallel setting for a large class of graphs. For random edge weights and arbitrary graphs with maximum node degree d, sequential Δ-stepping needs O(n + m + d ċ L) total average-case time, where L denotes the maximum shortest path weight from the source node s to any node reachable from s. For example, this means linear time on directed graphs with constant maximum degree. Our best parallel version for a PRAM takes O(d ċ L ċ log n + log2 n) time and O(n + m + d ċ L ċ log n) work on average. For random graphs, even O(log2 n) time and O(n + m) work on average can be achieved. We also discuss how the algorithm can be adapted to work with nonrandom edge weights and how it can be implemented on distributed memory machines. Experiments indicate that already a simple implementation of the algorithm achieves significant speedup on real machines.

[1]  Fred W. Glover,et al.  Computational study of an improved shortest path algorithm , 1984, Networks.

[2]  Leslie M. Goldschlager,et al.  A unified approach to models of synchronous parallel machines , 1978, STOC.

[3]  Polylog-time and near-linear work approximation scheme for undirected shortest paths , 2000, JACM.

[4]  D. R. Fulkerson,et al.  Flows in Networks , 1963 .

[5]  Philip M. Spira,et al.  A New Algorithm for Finding all Shortest Paths in a Graph of Positive Arcs in Average Time 0(n2 log2n) , 1973, SIAM J. Comput..

[6]  Alan M. Frieze,et al.  The shortest-path problem for graphs with random arc-lengths , 1985, Discret. Appl. Math..

[7]  Torben Hagerup,et al.  Improved Shortest Paths on the Word RAM , 2000, ICALP.

[8]  Josep Díaz Cort,et al.  Random geometric problems on $[0,1]^2$ , 1998 .

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

[10]  Ketan Mulmuley,et al.  A lower bound for the shortest path problem , 2000, Proceedings 15th Annual IEEE Conference on Computational Complexity.

[11]  Mikkel Thorup,et al.  Undirected single-source shortest paths with positive integer weights in linear time , 1999, JACM.

[12]  Jeffrey Scott Vitter,et al.  Shortest Paths in Euclidean Graphs (Extended Abstract) , 1984, FOCS.

[13]  Robert B. Dial,et al.  Algorithm 360: shortest-path forest with topological ordering [H] , 1969, CACM.

[14]  K. Athreya,et al.  Large Deviation Rates for Branching Processes--I. Single Type Case , 1994 .

[15]  Mikkel Thorup,et al.  On RAM priority queues , 1996, SODA '96.

[16]  Ulrich Meyer,et al.  Parallel Shortest Path for Arbitrary Graphs , 2000, Euro-Par.

[17]  Christos D. Zaroliagis,et al.  Shortest Paths in Digraphs of Small Treewdith. Part II: Optimal Parallel Algorithms , 1998, Theor. Comput. Sci..

[18]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[19]  Jesper Larsson Träff,et al.  A Parallel Priority Queue with Constant Time Operations , 1998, J. Parallel Distributed Comput..

[20]  Jesper Larsson Träff,et al.  A Simple Parallel Algorithm for the Single-Source Shortest Path Problem on Planar Digraphs , 1996, IRREGULAR.

[21]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. A: Algorithms and Complexity , 1994 .

[22]  B. Bollobás The evolution of random graphs , 1984 .

[23]  Noga Alon,et al.  The Probabilistic Method , 2015, Fundamentals of Ramsey Theory.

[24]  Sartaj Sahni,et al.  Parallel Matrix and Graph Algorithms , 1981, SIAM J. Comput..

[25]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[26]  David E. Boyce,et al.  Termination Detection for Parallel Shortest Path Algorithms , 1998, J. Parallel Distributed Comput..

[27]  F. Glover,et al.  A computational analysis of alternative algorithms and labeling techniques for finding shortest path trees , 1979, Networks.

[28]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[29]  Philip N. Klein,et al.  A Randomized Parallel Algorithm for Single-Source Shortest Paths , 1997, J. Algorithms.

[30]  E. Denardo,et al.  Shortest-Route Methods: 1. Reaching, Pruning, and Buckets , 1979, Oper. Res..

[31]  K. Mani Chandy,et al.  Distributed computation on graphs: shortest path algorithms , 1982, CACM.

[32]  David E. Boyce,et al.  Performance Study of Parallel Shortest Path Algorithms: Characteristics of Good Decompositions , 1997 .

[33]  Sanguthevar Rajasekaran,et al.  Optimal and Sublogarithmic Time Randomized Parallel Sorting Algorithms , 1989, SIAM J. Comput..

[34]  Evan Tick,et al.  Greedy partitioned algorithms for the shortest-path problem , 2005, International Journal of Parallel Programming.

[35]  Mihalis Yannakakis,et al.  High-Probability Parallel Transitive-Closure Algorithms , 1991, SIAM J. Comput..

[36]  Kohei Noshita,et al.  A Theorem on the Expected Complexity of Dijkstra's Shortest Path Algorithm , 1985, J. Algorithms.

[37]  Mikkel Thorup Floats, Integers, and Single Source Shortest Paths , 1998, STACS.

[38]  Mikhail J. Atallah,et al.  Efficient Parallel Algorithms for Planar st-Graphs , 1997, Algorithmica.

[39]  Peter Sanders,et al.  Parallel Integer Optimization for Crew Scheduling , 2000, Ann. Oper. Res..

[40]  Tadao Takaoka,et al.  A sharper analysis of a parallel algorithm for the all pairs shortest path problem , 1990, Parallel Comput..

[41]  Philip N. Klein,et al.  Faster Shortest-Path Algorithms for Planar Graphs , 1997, J. Comput. Syst. Sci..

[42]  Mikkel Thorup Floats, Integers, and Single Source Shortest Paths , 2000, J. Algorithms.

[43]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

[44]  Michael L. Fredman,et al.  Trans-Dichotomous Algorithms for Minimum Spanning Trees and Shortest Paths , 1994, J. Comput. Syst. Sci..

[45]  Edith Cohen Using Selective Path-Doubling for Parallel Shortest-Path Computations , 1997, J. Algorithms.

[46]  Paul G. Spirakis,et al.  Expected parallel time and sequential space complexity of graph and digraph problems , 2011, Algorithmica.

[47]  Andrew V. Goldberg,et al.  Shortest paths algorithms: Theory and experimental evaluation , 1994, SODA '94.

[48]  Leslie G. Valiant,et al.  Direct Bulk-Synchronous Parallel Algorithms , 1994, J. Parallel Distributed Comput..

[49]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

[50]  Christos D. Zaroliagis,et al.  Shortest Paths in Digraphs of Small Treewidth. Part I: Sequential Algorithms , 2000, Algorithmica.

[51]  Teodor Gabriel Crainic,et al.  Shortest path algorithms: A computational study with the C programming language , 1991, Comput. Oper. Res..

[52]  T. E. Harris,et al.  The Theory of Branching Processes. , 1963 .

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

[54]  Jeffrey Scott Vitter,et al.  An efficient parallel algorithm for shortest paths in planar layered digraphs , 2005, Algorithmica.

[55]  Andrew V. Goldberg,et al.  A Simple Shortest Path Algorithm with Linear Average Time , 2001, ESA.

[56]  Leslie M. Goldschlager,et al.  A universal interconnection pattern for parallel computers , 1982, JACM.

[57]  Ulrich Meyer,et al.  Delta-Stepping: A Parallel Single Source Shortest Path Algorithm , 1998, ESA.

[58]  G. Gallo,et al.  SHORTEST PATH METHODS: A UNIFYING APPROACH , 1986 .

[59]  Kurt Mehlhorn,et al.  Average-case complexity of shortest-paths problems in the vertex-potential model , 1997, Random Struct. Algorithms.

[60]  Rajeev Raman,et al.  Recent results on the single-source shortest paths problem , 1997, SIGA.

[61]  Ming S. Hung,et al.  A computational study of efficient shortest path algorithms , 1988, Comput. Oper. Res..

[62]  José D. P. Rolim,et al.  Randomized parallel algorithms , 1996, Solving Combinatorial Optimization Problems in Parallel.

[63]  Maria J. Serna,et al.  Random Geometric Problems on [0, 1]² , 1998, RANDOM.

[64]  Kurt Mehlhorn,et al.  Faster algorithms for the shortest path problem , 1990, JACM.

[65]  Refael Hassin,et al.  On Shortest Paths in Graphs with Random Weights , 1985, Math. Oper. Res..

[66]  Richard M. Karp,et al.  The Transitive Closure of a Random Digraph , 1990, Random Struct. Algorithms.

[67]  Leslie G. Valiant,et al.  Fast probabilistic algorithms for hamiltonian circuits and matchings , 1977, STOC '77.

[68]  Rajeev Raman,et al.  Priority Queues: Small, Monotone and Trans-dichotomous , 1996, ESA.

[69]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[70]  Jesper Larsson Träff Distributed Shortest Path Algorithms , 1993 .

[71]  Kurt Mehlhorn,et al.  A Parallelization of Dijkstra's Shortest Path Algorithm , 1998, MFCS.

[72]  F. Benjamin Zhan,et al.  Shortest Path Algorithms: An Evaluation Using Real Road Networks , 1998, Transp. Sci..

[73]  Kurt Mehlhorn,et al.  On the all-pairs shortest-path algorithm of Moffat and Takaoka , 1997 .

[74]  Thomas H. Spencer,et al.  Time-Work Tradeoffs of the Single-Source Shortest Paths Problem , 1999, J. Algorithms.

[75]  Robert E. Tarjan,et al.  Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation , 1988, CACM.

[76]  J. Reif,et al.  Parallel Tree Contraction Part 1: Fundamentals , 1989, Adv. Comput. Res..

[77]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[78]  Alistair Moffat,et al.  An All Pairs Shortest Path Algorithm with Expected Time O(n² log n) , 1987, SIAM J. Comput..

[79]  Leslie G. Valiant,et al.  General Purpose Parallel Architectures , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[80]  Richard M. Karp,et al.  Bounded Branching Process AND/OR Tree Evaluation , 1995, Random Struct. Algorithms.

[81]  Philip N. Klein,et al.  A linear-processor polylog-time algorithm for shortest paths in planar graphs , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[82]  P. Erdos,et al.  On the evolution of random graphs , 1984 .

[83]  Rajeev Motwani,et al.  Randomized algorithms , 1996, CSUR.

[84]  Giorgio Gallo,et al.  Shortest path algorithms , 1988, Handbook of Optimization in Telecommunications.

[85]  William F. McColl Universal Computing , 1996, Euro-Par, Vol. I.

[86]  Béla Bollobás,et al.  Random Graphs , 1985 .

[87]  Alan M. Frieze,et al.  Average-case complexity of shortest-paths problems in the vertex-potential model , 1997, Random Struct. Algorithms.

[88]  Arno Formella,et al.  HPP: A High Performance PRAM , 1996 .

[89]  Ulrich Meyer,et al.  Single-source shortest-paths on arbitrary directed graphs in linear average-case time , 2001, SODA '01.

[90]  Torben Hagerup,et al.  Fast and reliable parallel hashing , 1991, SPAA '91.

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