We present a new randomized method for computing the min-plus product
(a.k.a., tropical product) of two n×n matrices, yielding a faster
algorithm for solving the all-pairs shortest path problem (APSP) in dense
n-node directed graphs with arbitrary edge weights. On the real RAM, where
additions and comparisons of reals are unit cost (but all other operations have
typical logarithmic cost), the algorithm runs in time
2Ω(logn)1/2n3 and is correct with high probability.
On the word RAM, the algorithm runs in n3/2Ω(logn)1/2+n2+o(1)logM time for edge weights in ([0,M]∩Z)∪{∞}. Prior algorithms used either n3/(logcn) time for
various c≤2, or O(Mαnβ) time for various α>0
and β>2.
The new algorithm applies a tool from circuit complexity, namely the
Razborov-Smolensky polynomials for approximately representing AC0[p]
circuits, to efficiently reduce a matrix product over the (min,+) algebra to
a relatively small number of rectangular matrix products over F2,
each of which are computable using a particularly efficient method due to
Coppersmith. We also give a deterministic version of the algorithm running in
n3/2logδn time for some δ>0, which utilizes the
Yao-Beigel-Tarui translation of AC0[m] circuits into "nice" depth-two
circuits.Comment: 24 pages. Updated version now has slightly faster running time. To
appear in ACM Symposium on Theory of Computing (STOC), 201