Efficiently Listing Bounded Length st-Paths

The problem of listing the K shortest simple (loopless) st-paths in a graph has been studied since the early 1960s. For a non-negatively weighted graph with n vertices and m edges, the most efficient solution is an \(O(K(mn + n^2 \log n))\) algorithm for directed graphs by Yen and Lawler [Management Science, 1971 and 1972], and an \(O(K(m+n \log n))\) algorithm for the undirected version by Katoh et al. [Networks, 1982], both using \(O(Kn + m)\) space. In this work, we consider a different parameterization for this problem: instead of bounding the number of st-paths output, we bound their length. For the bounded length parameterization, we propose new non-trivial algorithms matching the time complexity of the classic algorithms but using only \(O(m+n)\) space. Moreover, we provide a unified framework such that the solutions to both parameterizations – the classic K-shortest and the new length-bounded paths – can be seen as two different traversals of a same tree, a Dijkstra-like and a DFS-like traversal, respectively.

[1]  Donald B. Johnson,et al.  Efficient Algorithms for Shortest Paths in Sparse Networks , 1977, J. ACM.

[2]  Robert Sedgewick,et al.  Algorithms in C : Part 5 : Graph Algo-rithms , 2002 .

[3]  Uri Zwick,et al.  Replacement paths and k simple shortest paths in unweighted directed graphs , 2005, TALG.

[4]  Mihalis Yannakakis,et al.  On Generating All Maximal Independent Sets , 1988, Inf. Process. Lett..

[5]  Rui A. Ferreira,et al.  Amortized $\tilde{O}(|V|)$-Delay Algorithm for Listing Chordless Cycles in Undirected Graphs , 2014 .

[6]  Roberto Grossi,et al.  Optimal Listing of Cycles and st-Paths in Undirected Graphs , 2012, SODA.

[7]  Matús Mihalák,et al.  Robust Routing in Urban Public Transportation: How to Find Reliable Journeys Based on Past Observations , 2013, ATMOS.

[8]  Subhash Suri,et al.  Vickrey prices and shortest paths: what is an edge worth? , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

[9]  Stuart E. Dreyfus,et al.  An Appraisal of Some Shortest-Path Algorithms , 1969, Oper. Res..

[10]  Roberto Grossi,et al.  Amortized Õ(|V|) -Delay Algorithm for Listing Chordless Cycles in Undirected Graphs , 2014, ESA.

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

[12]  Aaron Bernstein A nearly optimal algorithm for approximating replacement paths and k shortest simple paths in general graphs , 2010, SODA '10.

[13]  Liam Roditty,et al.  On the K-simple shortest paths problem in weighted directed graphs , 2007, SODA '07.

[14]  A. K. Mittal,et al.  The k most vital arcs in the shortest path problem , 1990 .

[15]  E. Lawler A PROCEDURE FOR COMPUTING THE K BEST SOLUTIONS TO DISCRETE OPTIMIZATION PROBLEMS AND ITS APPLICATION TO THE SHORTEST PATH PROBLEM , 1972 .

[16]  David Eppstein,et al.  Finding the k shortest paths , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[17]  J. Y. Yen,et al.  Finding the K Shortest Loopless Paths in a Network , 2007 .

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

[19]  Rina Dechter,et al.  Generalized best-first search strategies and the optimality of A* , 1985, JACM.