Journal of the ACM · 2002 · 322 citations · 32 references
ComputingComputer ScienceMathematicsAlgorithmsOptimizationTheory Of ComputationAlgorithmic ComplexityComputational ComplexityGraph AlgorithmsMatrix ComputationShortest Path AlgorithmsTime ComplexityAll-pairs Shortest PathsComputational Complexity Of Graph AlgorithmsMatrix ExponentiationMatrix MultiplicationShortest Path In Undirected GraphsShortest Path ProblemsShortest Paths
Current bounds on the exponent ω(1, μ, 1) imply μ < 0.575. The paper introduces two new algorithms for solving the All Pairs Shortest Paths problem in weighted directed graphs. The first algorithm uses fast matrix multiplication to achieve Õ(n^{2+μ}) time for integer‑weight graphs, while the second algorithm, after scaling weights, runs in Õ((n^ω/ε) log(W/ε)) time and returns distance estimates with stretch at most 1+ε. The first algorithm runs in O(n^{2.575}) time, improving on the previous O(n^{2.688}) bound, and the second algorithm efficiently produces distance estimates with stretch 1+ε and corresponding paths.
We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms.The first algorithm solves the APSP problem for weighted directed graphs in which the edge weights are integers of small absolute value in Õ ( n 2+μ ) time, where μ satisfies the equation ω(1, μ, 1) = 1 + 2μ and ω(1, μ, 1) is the exponent of the multiplication of an n × n μ matrix by an n μ × n matrix. Currently, the best available bounds on ω(1, μ, 1), obtained by Coppersmith, imply that μ < 0.575. The running time of our algorithm is therefore O ( n 2.575 ). Our algorithm improves on the Õ ( n (3c+ω)/2 ) time algorithm, where ω = ω(1, 1, 1) < 2.376 is the usual exponent of matrix multiplication, obtained by Alon et al., whose running time is only known to be O ( n 2.688 ).The second algorithm solves the APSP problem almost exactly for directed graphs with arbitrary nonnegative real weights. The algorithm runs in Õ(( n ω /ϵ) log( W /ϵ)) time, where ϵ > 0 is an error parameter and W is the largest edge weight in the graph, after the edge weights are scaled so that the smallest non-zero edge weight in the graph is 1. It returns estimates of all the distances in the graph with a stretch of at most 1 + ϵ. Corresponding paths can also be found efficiently.
32
A note on two problems in connexion with graphs
E. Dijkstra · Numerische Mathematik · 1959 · 23.8K citations
A Greedy Heuristic for the Set-Covering Problem
Vašek Chvátal · Mathematics of Operations Research · 1979 · 2.6K citations
Matrix multiplication via arithmetic progressions
Don Coppersmith, S. Winograd · Journal of Symbolic Computation · 1990 · 2.3K citations