Replacement Paths and Distance Sensitivity Oracles via Fast Matrix Multiplication

A <i>distance sensitivity oracle</i> of an <i>n</i>-vertex graph <i>G</i> = (<i>V</i>,<i>E</i>) is a data structure that can report shortest paths when edges of the graph fail. A query (<i>u</i> ∈ <i>V</i>, <i>v</i> ∈ <i>V</i>, <i>S</i> ⊆ <i>E</i>) to this oracle returns a shortest <i>u</i>-to-<i>v</i> path in the graph <i>G</i><sup>′</sup> = (<i>V</i>,<i>E</i> ∖ <i>S</i>). We present randomized (Monte Carlo) algorithms for constructing a distance sensitivity oracle of size <i>Õ</i>(<i>n</i><sup>3−α</sup>) for |<i>S</i>| = <i>O</i>(lg <i>n</i>/lg lg <i>n</i>) and any choice of 0 < <i>α</i> < 1. For real edge-lengths, the oracle is constructed in <i>O</i>(<i>n</i><sup>4−α</sup>) time and a query to this oracle takes <i>Õ</i>(<i>n</i><sup>2−2(1−α)/|S|</sup>) time. For integral edge-lengths in {−<i>M</i>,..., <i>M</i>}, using the current <i>ω</i> < 2.376 matrix multiplication exponent, the oracle is constructed in <i>O</i>(<i>Mn</i><sup>3.376−α</sup>) time with <i>Õ</i>(<i>n</i><sup>2−(1−α)/|S|</sup>) query, or alternatively in <i>O</i>(<i>M</i><sup>0.681</sup><i>n</i><sup>3.575−α</sup>) time with <i>Õ</i>(<i>n</i><sup>2−2(1−α)/|S|</sup>) query. Distance sensitivity oracles generalize the <i>replacement paths</i> problem in which <i>u</i> and <i>v</i> are known in advance and |<i>S</i>| = 1. In other words, if <i>P</i> is a shortest path from <i>u</i> to <i>v</i> in <i>G</i>, then the replacement paths problem asks to compute, for every edge <i>e</i> on <i>P</i>, a shortest <i>u</i>-to-<i>v</i> path that avoids <i>e</i>. Our new technique for constructing distance sensitivity oracles using fast matrix multiplication also yields the first subcubic-time algorithm for the replacement paths problem when the edge-lengths are small integers. In particular, it yields a randomized (Monte Carlo) <i>Õ</i>(<i>Mn</i><sup>2.376</sup> + <i>M</i><sup>2 3</sup> <i>n</i><sup>2.584</sup>)-time algorithm for the replacement paths problem assuming <i>M</i> ≤ <i>n</i><sup>0.624</sup>. Finally, we mention that both our replacement paths algorithm and our distance sensitivity oracle can be made to work, in the same time and space bounds, for the case of failed vertices rather than edges, that is, when <i>S</i> is a set of vertices and we seek a shortest <i>u</i>-to-<i>v</i> path in the graph obtained from <i>G</i> by removing all vertices in <i>S</i> and their adjacent edges.

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

[2]  Mikkel Thorup,et al.  Fully-Dynamic All-Pairs Shortest Paths: Faster and Allowing Negative Cycles , 2004, SWAT.

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

[4]  Mikkel Thorup,et al.  Oracles for Distances Avoiding a Failed Node or Link , 2008, SIAM J. Comput..

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

[6]  Virginia Vassilevska Williams,et al.  Faster replacement paths , 2010, SODA '11.

[7]  Moshe Lewenstein,et al.  Improved algorithms for the k simple shortest paths and the replacement paths problems , 2009, Inf. Process. Lett..

[8]  Christian Wulff-Nilsen,et al.  Solving the replacement paths problem for planar directed graphs in O(n log n) time , 2010, SODA '10.

[9]  David R. Karger,et al.  A nearly optimal oracle for avoiding failed vertices and edges , 2009, STOC '09.

[10]  Noga Alon,et al.  The Probabilistic Method, Second Edition , 2004 .

[11]  Ron Lavi,et al.  Algorithmic Mechanism Design , 2008, Encyclopedia of Algorithms.

[12]  WeimannOren,et al.  Replacement Paths and Distance Sensitivity Oracles via Fast Matrix Multiplication , 2013 .

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

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

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

[16]  David R. Karger,et al.  Finding the hidden path: time bounds for all-pairs shortest paths , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[17]  Mikkel Thorup,et al.  Worst-case update times for fully-dynamic all-pairs shortest paths , 2005, STOC '05.

[18]  Enrico Nardelli,et al.  Finding the most vital node of a shortest path , 2001, Theor. Comput. Sci..

[19]  Raphael Yuster,et al.  Replacement Paths via Fast Matrix Multiplication , 2010, 2010 IEEE 51st Annual Symposium on Foundations of Computer Science.

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

[21]  Ran Duan,et al.  Dual-failure distance and connectivity oracles , 2009, SODA.

[22]  Raphael Yuster,et al.  Answering distance queries in directed graphs using fast matrix multiplication , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[23]  Michael Langberg,et al.  f-Sensitivity Distance Oracles and Routing Schemes , 2010, ESA.

[24]  Uri Zwick,et al.  All pairs shortest paths using bridging sets and rectangular matrix multiplication , 2000, JACM.

[25]  David R. Karger,et al.  Improved distance sensitivity oracles via random sampling , 2008, SODA '08.

[26]  Michael Langberg,et al.  f-Sensitivity Distance Oracles and Routing Schemes , 2010, Algorithmica.

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

[28]  Giuseppe F. Italiano,et al.  Experimental analysis of dynamic all pairs shortest path algorithms , 2004, SODA '04.

[29]  Victor Y. Pan,et al.  Fast Rectangular Matrix Multiplication and Applications , 1998, J. Complex..

[30]  Amit M. Bhosle,et al.  On the difficulty of some shortest path problems , 2003, TALG.

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

[32]  Gideon Yuval,et al.  An Algorithm for Finding All Shortest Paths Using N^(2.81) Infinite-Precision Multiplications , 1976, Inf. Process. Lett..

[33]  David Peleg,et al.  A near-linear-time algorithm for computing replacement paths in planar directed graphs , 2008, TALG.

[34]  Noga Alon,et al.  On the Exponent of the All Pairs Shortest Path Problem , 1991, J. Comput. Syst. Sci..

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

[36]  Uri Zwick,et al.  A fully dynamic reachability algorithm for directed graphs with an almost linear update time , 2004, STOC '04.

[37]  Enrico Nardelli,et al.  A faster computation of the most vital edge of a shortest path , 2001, Inf. Process. Lett..

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

[39]  David Eppstein,et al.  Finding the k Shortest Paths , 1999, SIAM J. Comput..