Shortest Path Algorithms between Theory and Practice

Utilizing graph algorithms is a common activity in computer science. Algorithms that perform computations on large graphs are not always efficient. This work investigates the Single-Source Shortest Path (SSSP) problem, which is considered to be one of the most important and most studied graph problems. This thesis contains a review of the SSSP problem in both theory and practice. In addition, it discusses a new single-source shortest-path algorithm that achieves the same $O(n \cdot m)$ time bound as the traditional Bellman-Ford-Moore algorithm but outperforms it and other state-of-the-art algorithms in practice. The work is comprised of three parts. The first discusses some basic shortest-path and negative-cycle-detection algorithms in literature from the theoretical and practical point of view. The second contains a discussion of a new algorithm for the single-source shortest-path problem that outperforms most state-of-the-art algorithms for several well-known families of graphs. The main idea behind the proposed algorithm is to select the fewest most-effective vertices to scan. We also propose a discussion of correctness, termination, and the proof of the worst-case time bound of the proposed algorithm. This section also suggests two different implementations for the proposed algorithm, the first runs faster while the second performs a fewer number of operations. Finally, an extensive computational study of the different shortest paths algorithms is conducted. The results are proposed using a new evaluation metric for shortest-path algorithms. A discussion of outcomes, strengths, and weaknesses of the various shortest path algorithms are also included in this work.

[1]  Satoru Fujishige A note on the problem of updating shortest paths , 1981, Networks.

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

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

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

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

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

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

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

[9]  Piotr Sankowski,et al.  Negative-Weight shortest paths and unit capacity minimum cost flow in Õ(m[superscript 10/7] log W) Time , 2017 .

[10]  Donald Goldfarb,et al.  Shortest path algorithms using dynamic breadth-first search , 1991, Networks.

[11]  Andrew V. Goldberg,et al.  Scaling algorithms for the shortest paths problem , 1995, SODA '93.

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

[13]  Maurice Pollack,et al.  SOLUTIONS OF THE SHORTEST-ROUTE PROBLEM-A REVIEW , 1960 .

[14]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[15]  Dimitri P. Bertsekas,et al.  A simple and fast label correcting algorithm for shortest paths , 1993, Networks.

[16]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[17]  Jeffrey Scott Vitter,et al.  Shortest paths in euclidean graphs , 2005, Algorithmica.

[18]  Yefim Dinitz,et al.  Hybrid Bellman-Ford-Dijkstra algorithm , 2017, J. Discrete Algorithms.

[19]  Philip N. Klein,et al.  Shortest paths in directed planar graphs with negative lengths: A linear-space O(n log2 n)-time algorithm , 2010, TALG.

[20]  Dennis Wong,et al.  Negative Cycle Detection Problem , 2005, ESA.

[21]  Andrew V. Goldberg,et al.  Shortest Path Feasibility Algorithms: An Experimental Evaluation , 2008, ALENEX.

[22]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[23]  Douglas R. Shiert,et al.  Properties of Labeling Methods for Determining Shortest Path Trees , 1981 .

[24]  Aaron Kershenbaum,et al.  A note on finding shortest path trees , 1981, Networks.

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

[26]  Andrew V. Goldberg,et al.  Negative-Cycle Detection Algorithms , 1996, ESA.

[27]  Robert E. Tarjan,et al.  Faster Scaling Algorithms for Network Problems , 1989, SIAM J. Comput..

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

[29]  Dorothea Wagner,et al.  Geometric Speed-Up Techniques for Finding Shortest Paths in Large Sparse Graphs , 2003, ESA.

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

[31]  A. Nakayama,et al.  DIJKSTRA-BASED ALGORITHMS FOR THE SHORTEST PATH PROBLEM WITH EDGES OF NEGATIVE LENGTH , 2013 .

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