Results 1 - 10
of
32
Subcubic Equivalences Between Path, Matrix, and Triangle Problems
"... We say an algorithm on n × n matrices with entries in [−M,M] (or n-node graphs with edge weights from [−M,M]) is truly subcubic if it runs in O(n 3−δ · poly(log M)) time for some δ> 0. We define a notion of subcubic reducibility, and show that many important problems on graphs and matrices solvab ..."
Abstract
-
Cited by 42 (11 self)
- Add to MetaCart
(Show Context)
We say an algorithm on n × n matrices with entries in [−M,M] (or n-node graphs with edge weights from [−M,M]) is truly subcubic if it runs in O(n 3−δ · poly(log M)) time for some δ> 0. We define a notion of subcubic reducibility, and show that many important problems on graphs and matrices solvable in O(n 3) time are equivalent under subcubic reductions. Namely, the following weighted problems either all have truly subcubic algorithms, or none of them do: • The all-pairs shortest paths problem on weighted digraphs (APSP). • Detecting if a weighted graph has a triangle of negative total edge weight. • Listing up to n 2.99 negative triangles in an edge-weighted graph. • Finding a minimum weight cycle in a graph of non-negative edge weights. • The replacement paths problem on weighted digraphs. • Finding the second shortest simple path between two nodes in a weighted digraph. • Checking whether a given matrix defines a metric. • Verifying the correctness of a matrix product over the (min,+)-semiring. Therefore, if APSP cannot be solved in n 3−ε time for any ε> 0, then many other problems also
Finding the k Shortest Simple Paths: A New Algorithm and its Implementation
"... We describe a new algorithm to enumerate the k shortest simple (loopless) paths in a directed graph and report on its implementation. Our algorithm is based on a replacement paths algorithm proposed recently by Hershberger and Suri [7], and can yield a factor #(n) improvement for this problem. But t ..."
Abstract
-
Cited by 27 (2 self)
- Add to MetaCart
We describe a new algorithm to enumerate the k shortest simple (loopless) paths in a directed graph and report on its implementation. Our algorithm is based on a replacement paths algorithm proposed recently by Hershberger and Suri [7], and can yield a factor #(n) improvement for this problem. But there is a caveat: the fast replacement paths subroutine is known to fail for some directed graphs. However, the failure is easily detected, and so our k shortest paths algorithm optimistically uses the fast subroutine, then switches to a slower but correct algorithm if a failure is detected. Thus the algorithm achieves its #(n) speed advantage only when the optimism is justified. Our empirical results show that the replacement paths failure is a rare phenomenon, and the new algorithm outperforms the current best algorithms; the improvement can be substantial in large graphs. For instance, on GIS map data with about 5000 nodes and 12000 edges, our algorithm is 4-8 times faster. In synthetic graphs modeling wireless ad hoc networks, our algorithm is about 20 times faster.
A nearly optimal oracle for avoiding failed vertices and edges
- In Proceedings 41st STOC
, 2009
"... We present an improved oracle for the distance sensitivity problem. The goal is to preprocess a directed graph G =(V,E) with non-negative edge weights to answer queries of the form: what is the length of the shortest path from x to y that does not go through some failed vertex or edge f. The previou ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
(Show Context)
We present an improved oracle for the distance sensitivity problem. The goal is to preprocess a directed graph G =(V,E) with non-negative edge weights to answer queries of the form: what is the length of the shortest path from x to y that does not go through some failed vertex or edge f. The previous best algorithm produces an oracle of size Õ(n 2)thathasanO(1) query time, and an Õ(n2√m)con struction time. It was a randomized Monte Carlo algorithm that worked with high probability. Our oracle also has a constant query time and an Õ(n2) space requirement, but it has an improved construction time of Õ(mn), and it is deterministic. Note that O(1) query, O(n 2) space, and O(mn) construction time is also the best known bound (up to logarithmic factors) for the simpler problem of finding all pairs shortest paths in a weighted, directed graph. Thus, barring improved solutions to the all pairs shortest path problem, our oracle is optimal up to logarithmic factors.
A near-linear time algorithm for computing replacement paths in planar directed graphs
- In Proc. 19th annual ACM-SIAM symposium on Discrete algorithms
, 2008
"... Let G = (V (G), E(G)) be a weighted directed graph and let P be a shortest path from s to t in G. In the replacement paths problem we are required to compute for every edge e in P, the length of a shortest path from s to t that avoids e. The fastest known algorithm for solving the problem in weighte ..."
Abstract
-
Cited by 13 (1 self)
- Add to MetaCart
(Show Context)
Let G = (V (G), E(G)) be a weighted directed graph and let P be a shortest path from s to t in G. In the replacement paths problem we are required to compute for every edge e in P, the length of a shortest path from s to t that avoids e. The fastest known algorithm for solving the problem in weighted directed graphs is the trivial one: each edge in P is removed from the graph in its turn and the distance from s to t in the modified graph is computed. The running time of this algorithm is O � mn + n2 log n � , where n = |V (G) | and m = |E(G)|. The replacement paths problem is strongly motivated by two different applications. First, the fastest algorithm to compute the k simple shortest paths from s to t in directed graphs [21, 13] repeatedly computes the replacement paths from s to t. Its running time is O(kn(m + n log n)). Second, the computation of Vickrey pricing of edges in distributed networks can be reduced to the replacement paths problem. An open question raised by Nisan and Ronen [16] asks whether it is possible to compute the Vickrey pricing faster than the trivial algorithm described in the previous paragraph. In this paper we present a near-linear time algorithm for computing replacement paths in
Dual-failure distance and connectivity oracles
- In Proc. of the 20th ACM-SIAM Symposium On Discrete Algorithms (SODA
, 2009
"... Spontaneous failure is an unavoidable aspect of all networks, particularly those with a physical basis such as communications networks or road networks. Whether due to malicious coordinated attacks or other causes, failures temporarily change the topology of the network and, as a consequence, its co ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
(Show Context)
Spontaneous failure is an unavoidable aspect of all networks, particularly those with a physical basis such as communications networks or road networks. Whether due to malicious coordinated attacks or other causes, failures temporarily change the topology of the network and, as a consequence, its connectivity and distance metric. In this paper we look at the problem of efficiently answering connectivity, distance, and shortest route queries in the presence of two node or link failures. Our data structure uses Õ(n2) space and answers queries in Õ(1) time, which is within a polylogarithmic factor of optimal and nearly matches the single-failure distance oracles of Demestrescu et al. It may yet be possible to find distance/connectivity oracles capable of handling any fixed number of failures. However, the sheer complexity of our algorithm suggests that moving beyond dual-failures will require a fundamentally different approach to the problem. 1
Oracles for distances avoiding a failed node or link
- SIAM J. Comput
"... Abstract. We consider the problem of preprocessing an edge-weighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in ne ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
(Show Context)
Abstract. We consider the problem of preprocessing an edge-weighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in networks subject to node or link failures. We describe a deterministic oracle with constant query time for this problem that uses O(n2 log n) space, where n is the number of vertices in G. The construction time for our oracle is O(mn2 + n3 log n). However, if one is willing to settle for Θ(n2.5) space, we can improve the preprocessing time to O(mn1.5 + n2.5 log n) while maintaining the constant query time. Our algorithms can find the shortest path avoiding a failed node or link in time proportional to the length of the path.
Solving the replacement paths problem for planar directed graphs in o(n log n) time
- Proc. 21st Ann. ACM-SIAM Symp. Discrete Algorithms, 756–765
, 2010
"... In a graph G with non-negative edge lengths, let P be a shortest path from a vertex s toavertext. We consider the problem of computing, for each edge e on P, the length of a shortest path in G from s to t that avoids e. This is known as the replacement paths problem. We give a linearspace algorithm ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
(Show Context)
In a graph G with non-negative edge lengths, let P be a shortest path from a vertex s toavertext. We consider the problem of computing, for each edge e on P, the length of a shortest path in G from s to t that avoids e. This is known as the replacement paths problem. We give a linearspace algorithm with O(n log n) running time for n-vertex planar directed graphs. The previous best time bound was O(n log 2 n). 1
Improved Distance Sensitivity Oracles via Fast Single-Source Replacement Paths
"... Abstract—A distance sensitivity oracle is a data structure which, given two nodes s and t in a directed edge-weighted graph G and an edge e, returns the shortest length of an s-t path not containing e, a so called replacement path for the triple (s,t,e). Such oracles are used to quickly recover from ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
(Show Context)
Abstract—A distance sensitivity oracle is a data structure which, given two nodes s and t in a directed edge-weighted graph G and an edge e, returns the shortest length of an s-t path not containing e, a so called replacement path for the triple (s,t,e). Such oracles are used to quickly recover from edge failures. In this paper we consider the case of integer weights in the interval [−M,M], and present the first distance sensitivity oracle that achieves simultaneously subcubic preprocessing time and sublinear query time. More precisely, for a given parameter α ∈ [0,1], our oracle has preprocessing time Õ(Mnω+1 2 +Mn ω+α(4−ω) ) and query time Õ(n 1−α). Here ω < 2.373 denotes the matrix multiplication exponent. For a comparison, the previous best oracle for small integer weights has Õ(Mnω+1−α) preprocessing time and (superlinear) Õ(n1+α) query time [Weimann,Yuster-FOCS’10]. The main novelty in our approach is an algorithm to compute all the replacement paths from a given source s, an interesting problem on its own. We can solve the latter single-source replacement paths problem in Õ(APSP(n,M))) time, where APSP(n,M) < Õ(M 0.681 n 2.575) [Zwick-JACM’02] is the runtime for computing all-pairs shortest paths in a graph with n vertices and integer edge weights in [−M,M]. For positive weights the runtime of our algorithm reduces to Õ(Mnω). This matches the best known runtime for the simpler replacement paths problem in which both the source s and the target t are fixed [Vassilevska-SODA’11]. Keywords-replacement paths; distance sensitivity oracles; shortest paths. I.
Approximate shortest paths avoiding a failed vertex : optimal data structures for unweighted graphs
"... Abstract. Let G = (V, E) be any undirected graph on V vertices and E edges. A path P between any two vertices u, v ∈ V is said to be t-approximate shortest path if its length is at most t times the length of the shortest path between u and v. We consider the problem of building a compact data struct ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
(Show Context)
Abstract. Let G = (V, E) be any undirected graph on V vertices and E edges. A path P between any two vertices u, v ∈ V is said to be t-approximate shortest path if its length is at most t times the length of the shortest path between u and v. We consider the problem of building a compact data structure for a given graph G which is capable of answering the following query for any u, v, z ∈ V and t> 1. report t-approximate shortest path between u and v when vertex z fails We present data structures for the single source as well all-pairs versions of this problem. Our data structures guarantee optimal query time. Most impressive feature of our data structures is that their size nearly match the size of their best static counterparts. 1.
Replacement Paths via Fast Matrix Multiplication
"... Abstract. Let G = (V, E) be a directed edge-weighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest s-to-t path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the na ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
(Show Context)
Abstract. Let G = (V, E) be a directed edge-weighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest s-to-t path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the naive solution to this problem – removing each edge e on P one at a time and computing the shortest s-to-t path each time – is surprisingly the only known solution for directed weighted graphs, even when the weights are integrals. In particular, although the related shortest paths problem has benefited from fast matrix multiplication, the replacement paths problem has not, and still required cubic time. For an n-vertex graph with integral edge-lengths in {−M,..., M}, we give a randomized Õ(Mn1+ 2 3 ω) = O(Mn 2.584) time algorithm that uses fast matrix multiplication and is sub-cubic for appropriate values of M. In particular, it runs in Õ(n1+ 2 3 ω) time if the weights are small (positive or negative) integers. We also show how to construct a distance sensitivity oracle in the same time bounds. A query (u, v, e) to this oracle requires sub-quadratic time and returns the length of the shortest u-to-v path that avoids the edge e. In fact, for any constant number of edge failures, we construct a data structure in sub-cubic time, that answer queries in sub-quadratic time. Our results also apply for avoiding vertices rather than edges. 1