Results 1  10
of
41
More algorithms for allpairs shortest paths in weighted graphs
 In Proceedings of 39th Annual ACM Symposium on Theory of Computing
, 2007
"... In the first part of the paper, we reexamine the allpairs shortest paths (APSP) problem and present a new algorithm with running time O(n 3 log 3 log n / log 2 n), which improves all known algorithms for general realweighted dense graphs. In the second part of the paper, we use fast matrix multipl ..."
Abstract

Cited by 75 (3 self)
 Add to MetaCart
(Show Context)
In the first part of the paper, we reexamine the allpairs shortest paths (APSP) problem and present a new algorithm with running time O(n 3 log 3 log n / log 2 n), which improves all known algorithms for general realweighted dense graphs. In the second part of the paper, we use fast matrix multiplication to obtain truly subcubic APSP algorithms for a large class of “geometrically weighted ” graphs, where the weight of an edge is a function of the coordinates of its vertices. For example, for graphs embedded in Euclidean space of a constant dimension d, we obtain a time bound near O(n 3−(3−ω)/(2d+4)), where ω < 2.376; in two dimensions, this is O(n 2.922). Our framework greatly extends the previously considered case of smallintegerweighted graphs, and incidentally also yields the first truly subcubic result (near O(n 3−(3−ω)/4) = O(n 2.844) time) for APSP in realvertexweighted graphs, as well as an improved result (near O(n (3+ω)/2) = O(n 2.688) time) for the allpairs lightest shortest path problem for smallintegerweighted graphs. 1
Subcubic Equivalences Between Path, Matrix, and Triangle Problems
"... We say an algorithm on n × n matrices with entries in [−M,M] (or nnode 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 nnode 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 allpairs 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 edgeweighted graph. • Finding a minimum weight cycle in a graph of nonnegative 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
Speeding Up HMM Decoding and Training by Exploiting Sequence Repetitions
"... We present a method to speed up the dynamic program algorithms used for solving the HMM decoding and training problems for discrete timeindependent HMMs. We discuss the application of our method to Viterbi’s decoding and training algorithms [33], as well as to the forwardbackward and BaumWelch [ ..."
Abstract

Cited by 22 (6 self)
 Add to MetaCart
(Show Context)
We present a method to speed up the dynamic program algorithms used for solving the HMM decoding and training problems for discrete timeindependent HMMs. We discuss the application of our method to Viterbi’s decoding and training algorithms [33], as well as to the forwardbackward and BaumWelch [6] algorithms. Our approach is based on identifying repeated substrings in the observed input sequence. Initially, we show how to exploit repetitions of all sufficiently small substrings (this is similar to the Four Russians method). Then, we describe four algorithms based alternatively on run length encoding (RLE), LempelZiv (LZ78) parsing, grammarbased compression (SLP), and byte pair encoding (BPE). Compared to Viterbi’s algorithm, we achieve speedups of Θ(log n) using the Four Russians method, Ω ( r log n r) using RLE, Ω ( ) using LZ78, Ω ( ) using SLP, and Ω(r) using BPE, where k is the number log r k k of hidden states, n is the length of the observed sequence and r is its compression ratio (under each compression scheme). Our experimental results demonstrate that our new algorithms are indeed faster in practice. Furthermore, unlike Viterbi’s algorithm, our algorithms are highly parallelizable.
Many distances in planar graphs
 In SODA ’06: Proc. 17th Symp. Discrete algorithms
, 2006
"... We show how to compute in O(n 4/3 log 1/3 n+n 2/3 k 2/3 logn) time the distance between k given pairs of vertices of a planar graph G with n vertices. This improves previous results whenever (n/logn) 5/6 ≤ k ≤ n 2 /log 6 n. As an application, we speed up previous algorithms for computing the dilatio ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
(Show Context)
We show how to compute in O(n 4/3 log 1/3 n+n 2/3 k 2/3 logn) time the distance between k given pairs of vertices of a planar graph G with n vertices. This improves previous results whenever (n/logn) 5/6 ≤ k ≤ n 2 /log 6 n. As an application, we speed up previous algorithms for computing the dilation of geometric planar graphs. 1
Subcubic algorithms for recursive state machines
 In POPL
, 2008
"... We show that the reachability problem for recursive state machines (or equivalently, pushdown systems), believed for long to have cubic worstcase complexity, can be solved in slightly subcubic time. All that is necessary for the new bound is a simple adaptation of a known technique. We also show th ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
We show that the reachability problem for recursive state machines (or equivalently, pushdown systems), believed for long to have cubic worstcase complexity, can be solved in slightly subcubic time. All that is necessary for the new bound is a simple adaptation of a known technique. We also show that a better algorithm exists if the input machine does not have infinite recursive loops. devices]: Models of computation—Automata; F.2.2 [Analysis of algorithms and problem complexity]: Nonnumerical algorithms and problems—Computations on discrete structures; F.3.2 [Theory of Computation]: Semantics of programming languages— Program analysis.
Finding a maximum weight triangle in n 3−δ time, with applications
 In Proc. of STOC
, 2006
"... We present the first truly subcubic algorithms for finding a maximum nodeweighted triangle in directed and undirected graphs with arbitrary real weights. The first is an O(B · n 3+ω 2) = O(B · n 2.688) deterministic algorithm, where n is the number of nodes, ω is the matrix multiplication exponen ..."
Abstract

Cited by 17 (9 self)
 Add to MetaCart
(Show Context)
We present the first truly subcubic algorithms for finding a maximum nodeweighted triangle in directed and undirected graphs with arbitrary real weights. The first is an O(B · n 3+ω 2) = O(B · n 2.688) deterministic algorithm, where n is the number of nodes, ω is the matrix multiplication exponent, and B is the number of bits of precision. The second is a strongly polynomial randomized algorithm that runs in O(n 3+ω 2 log n) expected worstcase time. To achieve this, we show how to efficiently sample a weighted triangle uniformly at random, out of just those triangles whose total weight falls in some prescribed interval (W1, W2) for arbitrary weights W1 and W2. Previous approaches to the problem resulted in time bounds with either an exponential dependence on B, or a runtime of the form Ω(n 3 /(log n) c). The algorithms are easily extended to finding a maximum nodeweighted induced subgraph on 3k nodes in Õ(n (3+ω)k 2) = Õ(n2.688k) time. We give applications to a variety of problems, including a stable matching problem between buyers and sellers in computational economics, and discuss the possibility of extending our approach to a truly subcubic algorithm for computing allpairs shortest paths on directed graphs with arbitrary weights. ∗ Both authors were supported by the NSF ALADDIN
Finding the smallest Hsubgraph in real weighted graphs and related problems
 In Proc. of ICALP, SpringerVerlag LNCS 4051:262–273
, 2006
"... Abstract. Let G be a graph with real weights assigned to the vertices (edges). The weight of a subgraph of G is the sum of the weights of its vertices (edges). The MIN HSUBGRAPH problem is to find a minimum weight subgraph isomorphic to H, if one exists. Our main results are new algorithms for the ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
(Show Context)
Abstract. Let G be a graph with real weights assigned to the vertices (edges). The weight of a subgraph of G is the sum of the weights of its vertices (edges). The MIN HSUBGRAPH problem is to find a minimum weight subgraph isomorphic to H, if one exists. Our main results are new algorithms for the MIN HSUBGRAPH problem. The only operations we allow on real numbers are additions and comparisons. Our algorithms are based, in part, on fast matrix multiplication. For vertexweighted graphs with n vertices we obtain the following results. We present an O(n t(ω,h) ) time algorithm for MIN HSUBGRAPH in case H is a fixed graph with h vertices and ω < 2.376 is the exponent of matrix multiplication. The value of t(ω, h) is determined by solving a small integer program. In particular, the smallest triangle can be found in O(n 2+1/(4−ω) ) ≤ o(n 2.616) time, the smallest K4 in O(n ω+1) time, the smallest K7 in O(n 4+3/(4−ω) ) time. As h grows, t(ω, h) converges to 3h/(6 − ω) < 0.828h. Interestingly, only for h = 4, 5, 8 the running time of our algorithm essentially matches that of the (unweighted) Hsubgraph detection problem. Already for triangles, our results improve upon the main result of [VW06]. Using rectangular matrix multiplication, the value of t(ω, h) can be improved; for example, the runtime for triangles becomes O(n 2.575). We also present an algorithm whose running time is a function of m, the number of edges. In particular, the smallest triangle can be found in O(m (18−4ω)/(13−3ω) ) ≤ o(m 1.45) time. For edgeweighted graphs we present an O(m 2−1/k log n) time algorithm that finds the smallest cycle of length 2k or 2k − 1. This running time is identical, up to a logarithmic factor, to the running time of the algorithm of Alon et al. for the unweighted case. Using the color coding method and a recent algorithm of Chan for distance products, we obtain an O(n 3 / log n) time randomized algorithm for finding the smallest cycle of any fixed length. 1
AllPairs Bottleneck Paths For General Graphs in Truly SubCubic Time
 STOC'07
, 2007
"... In the allpairs bottleneck paths (APBP) problem (a.k.a. allpairs maximum capacity paths), one is given a directed graph with real nonnegative capacities on its edges and is asked to determine, for all pairs of vertices s and t, the capacity of a single path for which a maximum amount of flow can b ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
In the allpairs bottleneck paths (APBP) problem (a.k.a. allpairs maximum capacity paths), one is given a directed graph with real nonnegative capacities on its edges and is asked to determine, for all pairs of vertices s and t, the capacity of a single path for which a maximum amount of flow can be routed from s to t. The APBP problem was first studied in operations research, shortly after the introduction of maximum flows and allpairs shortest paths. We present the first truly subcubic algorithm for APBP in general dense graphs. In particular, we give a procedure for computing the (max,min)product of two arbitrary matrices over R ∪ {∞, −∞} in O(n 2+ω/3) ≤ O(n 2.792) time, where n is the number of vertices and ω is the exponent for matrix multiplication over rings. Using this procedure, an explicit maximum bottleneck path for any pair of nodes can be extracted in time linear in the length of the path.
Matrixvector multiplication in subquadratic time (some preprocessing required)
 IN SODA
, 2007
"... We show that any n × n matrix A over any finite semiring can be preprocessed in O(n 2+ε) time, such that all subsequent vector multiplications with A can be performed in O(n²/(ε log n) 2) time, for all ε> 0. The approach is combinatorial and can be implemented on a pointer machine or a (log n)wo ..."
Abstract

Cited by 11 (3 self)
 Add to MetaCart
We show that any n × n matrix A over any finite semiring can be preprocessed in O(n 2+ε) time, such that all subsequent vector multiplications with A can be performed in O(n²/(ε log n) 2) time, for all ε> 0. The approach is combinatorial and can be implemented on a pointer machine or a (log n)word RAM. Some applications are described.