Design and analysis of sequential and parallel single-source shortest-paths algorithms

We study the performance of algorithms for the Single-Source Shortest-Paths (SSSP) problem on graphs with nodes and edges with nonnegative random weights. All previously known SSSP algorithms for directed graphs required superlinear time. We give the first SSSP algorithms that provably achieve linear average-case execution time on arbitrary directed graphs with random edge weights. For independent edge weights, the linear-time bound holds with high probability, too. Additionally, our result implies improved average-case bounds for the All-Pairs Shortest-Paths (APSP) problem on sparse graphs, and it yields the first theoretical average-case analysis for the “Approximate Bucket Implementation” of Dijkstra’s SSSP algorithm (ABI–Dijkstra). Furthermore, we give constructive proofs for the existence of graph classes with random edge weights on which ABI–Dijkstra and several other well-known SSSP algorithms require superlinear averagecase time. Besides the classical sequential (single processor) model of computation we also consider parallel computing: we give the currently fastest average-case linear-work parallel SSSP algorithms for large graph classes with random edge weights, e.g., sparse random graphs and graphs modeling the WWW, telephone calls or social networks. Kurzzusammenfassung. In dieser Arbeit untersuchen wir die Laufzeiten von Algorithmen fur das Kurzeste-Wege Problem (Single-Source Shortest-Paths, SSSP) auf Graphen mit Knoten, Kanten und nichtnegativen zufalligen Kantengewichten. Alle bisherigen SSSP Algorithmen benotigten auf gerichteten Graphen superlineare Zeit. Wir stellen den ersten SSSP Algorithmus vor, der auf beliebigen gerichteten Graphen mit zufalligen Kantengewichten eine beweisbar lineare average-case-Komplexitat aufweist. Sind die Kantengewichte unabhangig, so wird die lineare Zeitschranke auch mit hoher Wahrscheinlichkeit eingehalten. Auserdem impliziert unser Ergebnis verbesserte averagecase-Schranken fur das All-Pairs Shortest-Paths (APSP) Problem auf dunnen Graphen und liefert die erste theoretische average-case-Analyse fur die “Approximate Bucket Implementierung” von Dijkstras SSSP Algorithmus (ABI-Dijkstra). Weiterhin fuhren wir konstruktive Existenzbeweise fur Graphklassen mit zufalligen Kantengewichten, auf denen ABIDijkstra und mehrere andere bekannte SSSP Algorithmen durchschnittlich superlineare Zeit benotigen. Neben dem klassischen seriellen (Ein-Prozessor) Berechnungsmodell betrachten wir auch Parallelverarbeitung; fur umfangreiche Graphklassen mit zufalligen Kantengewichten wie z.B. dunne Zufallsgraphen oder Modelle fur das WWW, Telefonanrufe oder soziale Netzwerke stellen wir die derzeit schnellsten parallelen SSSP Algorithmen mit durchschnittlich linearer Arbeit vor.

[1]  Ulrich Meyer,et al.  Matrix transpose on meshes: theory and practice , 1997, Proceedings 11th International Parallel Processing Symposium.

[2]  Edith Cohen,et al.  Polylog-time and near-linear work approximation scheme for undirected shortest paths , 1994, STOC '94.

[3]  Peter Sanders,et al.  [Delta]-stepping: a parallelizable shortest path algorithm , 2003, J. Algorithms.

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

[5]  Kurt Mehlhorn,et al.  Randomized External-Memory Algorithms for Line Segment Intersection and Other Geometric Problems , 2001, Int. J. Comput. Geom. Appl..

[6]  Ulrich Meyer External memory BFS on undirected graphs with bounded degree , 2001, SODA '01.

[7]  R. Karp,et al.  Finite Branching Processes and AND/OR Tree Evaluation , 1994 .

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

[9]  Frank E. Grubbs,et al.  An Introduction to Probability Theory and Its Applications , 1951 .

[10]  Philippe Flajolet,et al.  An introduction to the analysis of algorithms , 1995 .

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

[12]  Norman L. Johnson,et al.  Urn models and their application , 1977 .

[13]  Fan Chung Graham,et al.  A random graph model for massive graphs , 2000, STOC '00.

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

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

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

[17]  Jesper Larsson Träff,et al.  An Experimental Comparison of two Distributed Single-Source Shortest Path Algorithms , 1995, Parallel Comput..

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

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

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

[21]  B. Harshbarger An Introduction to Probability Theory and its Applications, Volume I , 1958 .

[22]  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..

[23]  A. Goldberg,et al.  A heuristic improvement of the Bellman-Ford algorithm , 1993 .

[24]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

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

[26]  M. Waterman Mathematical Methods for DNA Sequences , 1989 .

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

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

[29]  Uri Zwick,et al.  Exact and Approximate Distances in Graphs - A Survey , 2001, ESA.

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

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

[32]  Kurt Mehlhorn,et al.  Randomized external-memory algorithms for some geometric problems , 1998, SCG '98.

[33]  Alan M. Frieze Shortest path algorithms for knapsack type problems , 1976, Math. Program..

[34]  Selim G. Akl,et al.  Design and analysis of parallel algorithms , 1985 .

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

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

[37]  Brendan D. McKay,et al.  The degree sequence of a random graph. I. The models , 1997 .

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

[39]  Ulrich Meyer,et al.  Buckets strike back: improved parallel shortest-paths , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[40]  S. Pallottino,et al.  SPT_L shortest path algorithms: review, new proposals and some experimental results , 1999 .

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

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

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

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

[45]  Paul G. Spirakis,et al.  Lectures on parallel computation , 1993 .

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

[47]  J.,et al.  A guide to concentration bounds , 2001 .

[48]  George Karypis,et al.  Introduction to Parallel Computing , 1994 .

[49]  F. Glover,et al.  New Polynomial Shortest Path Algorithms and Their Computational Attributes , 1985 .

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

[51]  Kurt Mehlhorn,et al.  On the All-Pairs Shortest Path Algorithm of Moffat and Takaoka , 1995, ESA.

[52]  Uzi Vishkin,et al.  Finding the Maximum, Merging, and Sorting in a Parallel Computation Model , 1981, J. Algorithms.

[53]  Kurt Mehlhorn,et al.  I/O-optimal computation of segment intersections , 1998, External Memory Algorithms.

[54]  David A. Bader,et al.  Practical parallel algorithms for personalized communication and integer sorting , 1996, JEAL.

[55]  C. Scheideler Probabilistic Methods for Coordination Problems , 2000 .

[56]  Mauricio Marín Asynchronous (Time-Wrap) Versus Synchronous (Event-Horizon) Simulation Time Advance in BSP , 1998, Euro-Par.

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

[58]  Johan Karlsson,et al.  Worst case constant time priority queue , 2001, SODA '01.

[59]  Ulrich Meyer,et al.  An experimental study of priority queues in external memory , 1999, JEAL.

[60]  Volker Priebe,et al.  Average-case complexity of shortest-paths problems , 2001 .

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

[62]  Ulrich Meyer,et al.  Oblivious Gossiping on Tori , 2002, J. Algorithms.

[63]  Ulrich Meyer,et al.  Heaps Are Better than Buckets: Parallel Shortest Paths on Unbalanced Graphs , 2001, Euro-Par.

[64]  Sanjeev Saxena,et al.  On Parallel Prefix Computation , 1994, Parallel Process. Lett..

[65]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[66]  Russ Bubley,et al.  Randomized algorithms , 2018, CSUR.

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

[68]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

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

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

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

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

[73]  Ulrich Meyer,et al.  Theory and Practice of Time-Space Trade-Offs in Memory Limited Search , 2001, KI/ÖGAI.

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

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

[76]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[77]  Mihalis Yannakakis,et al.  High-probability parallel transitive closure algorithms , 1990, SPAA '90.

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

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

[80]  M. Habib Probabilistic methods for algorithmic discrete mathematics , 1998 .

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

[82]  T. Lindvall ON A ROUTING PROBLEM , 2004, Probability in the Engineering and Informational Sciences.

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

[84]  Ulrich Meyer,et al.  Heuristics for semi-external depth first search on directed graphs , 2002, SPAA '02.

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

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

[87]  Brendan D. McKay,et al.  The degree sequence of a random graph. I. The models , 1997, Random Struct. Algorithms.

[88]  Thomas L. Magnanti,et al.  TRANSPORTATION PLANNING: NETWORK MODELS AND THEIR IMPLEMENTATION , 1978 .

[89]  Ulrich Meyer,et al.  On External-Memory Planar Depth First Search , 2001, J. Graph Algorithms Appl..

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

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

[92]  G. Grimmett,et al.  Probability and random processes , 2002 .

[93]  Fred W. Glover,et al.  A New Polynomially Bounded Shortest Path Algorithm , 1985, Oper. Res..

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

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

[96]  Torben Hagerup,et al.  A Guided Tour of Chernoff Bounds , 1990, Inf. Process. Lett..

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

[98]  U. Pape,et al.  Implementation and efficiency of Moore-algorithms for the shortest route problem , 1974, Math. Program..

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

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

[101]  William Feller,et al.  An Introduction to Probability Theory and Its Applications , 1967 .

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

[103]  Ulrich Meyer,et al.  Towards practical permutation routing on meshes , 1994, Proceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing.

[104]  Michael L. Fredman,et al.  Surpassing the Information Theoretic Bound with Fusion Trees , 1993, J. Comput. Syst. Sci..

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

[106]  H. Chernoff A Measure of Asymptotic Efficiency for Tests of a Hypothesis Based on the sum of Observations , 1952 .

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

[108]  Andrew V. Goldberg,et al.  Shortest Path Algorithms: Engineering Aspects , 2001, ISAAC.

[109]  Ulrich Meyer,et al.  [Delta]-stepping: a parallelizable shortest path algorithm , 2003, J. Algorithms.

[110]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[111]  D. V. Lindley,et al.  An Introduction to Probability Theory and Its Applications. Volume II , 1967, The Mathematical Gazette.

[112]  Albert,et al.  Emergence of scaling in random networks , 1999, Science.

[113]  Ulrich Meyer,et al.  Gossiping Large Packets on Full-Port Tori , 1998, Euro-Par.

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

[115]  Tadao Takaoka Theory of 2-3 Heaps , 1999, COCOON.

[116]  Seth Pettie,et al.  Computing shortest paths with comparisons and additions , 2002, SODA '02.

[117]  Oliver Riordan,et al.  The Maximum Degree Of A Random Graph , 2000, Comb. Probab. Comput..

[118]  D. ChaudhuriChristos,et al.  Shortest Paths in Digraphs of Small Treewidth . Part II : Optimal Parallel Algorithms , 1995 .

[119]  W. Hoeffding Probability Inequalities for sums of Bounded Random Variables , 1963 .

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

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

[122]  Kurt Mehlhorn,et al.  External-Memory Breadth-First Search with Sublinear I/O , 2002, ESA.

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

[124]  Alan M. Frieze,et al.  Average-Case Complexity of Shortest-Paths Problems in the Vertex-Potential Model , 1997, RANDOM.

[125]  Linyuan Lu,et al.  The diameter of random massive graphs , 2001, SODA '01.

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

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

[128]  M. Schwartz,et al.  Routing Techniques Used in Computer Communication Networks , 1980, IEEE Trans. Commun..

[129]  Béla Bollobás,et al.  Degree sequences of random graphs , 1981, Discret. Math..

[130]  Ulrich Meyer,et al.  Simulating the Simulator: Deterministic PRAM Simulation on a Mesh Simulator , 1995, EUROSIM.

[131]  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.

[132]  Michael L. Fredman,et al.  Trans-dichotomous algorithms for minimum spanning trees and shortest paths , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

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

[134]  Gerth Stølting Brodal,et al.  Worst-case efficient priority queues , 1996, SODA '96.

[135]  Stefano Pallottino,et al.  Shortest-path methods: Complexity, interrelations and new propositions , 1984, Networks.

[136]  Arno Formella,et al.  HPP: A High Performance PRAM , 1996, Euro-Par, Vol. II.

[137]  Narsingh Deo,et al.  Shortest-path algorithms: Taxonomy and annotation , 1984, Networks.

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

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

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

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

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

[143]  Ravi Kumar,et al.  Trawling the Web for Emerging Cyber-Communities , 1999, Comput. Networks.

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

[145]  David E. Boyce,et al.  Implementing parallel shortest path for parallel transportation applications , 2001, Parallel Comput..

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