FB-APSP: A new efficient algorithm for computing all-pairs shortest-paths

Abstract We describe a new forward-backward method for an all-pairs shortest-paths (APSP) algorithm. While most APSP algorithms only scan edges forward, the algorithm proposed here also scans all edges backward because it assumes that edges in the outgoing and incoming adjacency lists of the vertices appear with the same importance. The running time of the algorithm on a directed graph with n vertices, and m edges and positive real-valued edge weights in a deterministic way is O ( n δ 2 ⌈ 2 log δ ( n − 1 ) − 1 ⌉ ) , and the space complexity is O ( n δ ⌈ 2 log δ ( n − 1 ) − 1 ⌉ ) , where δ = m∕n is the density of the graph. Simulations on graphs with up to 10000 vertices with real, positive weights show that our FB-APSP algorithm, using additional working space less than 75% of space used by Speed-Up Floyd-Warshall algorithm, is faster on large sparse graphs, particularly planar graphs.

[1]  David Bruce Wilson,et al.  A Forward-Backward Single-Source Shortest Paths Algorithm , 2013, 2013 IEEE 54th Annual Symposium on Foundations of Computer Science.

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

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

[4]  Giuseppe F. Italiano,et al.  A new approach to dynamic all pairs shortest paths , 2004, JACM.

[5]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[6]  Amir Salehipour,et al.  Speeding up the Floyd-Warshall algorithm for the cycled shortest path problem , 2012, Appl. Math. Lett..

[7]  Joseph T. Kider,et al.  All-pairs shortest-paths for large graphs on the GPU , 2008, GH '08.

[8]  Béla Bollobás,et al.  The Diameter of Random Graphs , 1981 .

[9]  Prabhakar Ragde,et al.  A bidirectional shortest-path algorithm with good average-case behavior , 1989, Algorithmica.

[10]  Viktor K. Prasanna,et al.  Cache-Friendly implementations of transitive closure , 2007, IEEE PACT.

[11]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[12]  Uday Bondhugula,et al.  Parallel FPGA-based all-pairs shortest-paths in a directed graph , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[13]  Cees Duin,et al.  A Branch-Checking Algorithm for All-Pairs Shortest Paths , 2005, Algorithmica.

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

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

[16]  Mathijs de Weerdt,et al.  Computing All-Pairs Shortest Paths by Leveraging Low Treewidth , 2011, ICAPS.

[17]  Franz Franchetti,et al.  Program generation for the all-pairs shortest path problem , 2006, 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT).