In 1961, Gomory and Hu showed that the All-Pairs Max-Flow problem of computing the max-flow between all $n\choose 2$ pairs of vertices in an undirected graph can be solved using only $n-1$ calls to any (single-pair) max-flow algorithm. Even assuming a linear-time max-flow algorithm, this yields a running time of $O(mn)$, which is $O(n^3)$ when $m = \Theta(n^2)$. While subsequent work has improved this bound for various special graph classes, no subcubic-time algorithm has been obtained in the last 60 years for general graphs. We break this longstanding barrier by giving an $\tilde{O}(n^{2})$-time algorithm on general, weighted graphs. Combined with a popular complexity assumption, we establish a counter-intuitive separation: all-pairs max-flows are strictly easier to compute than all-pairs shortest-paths. Our algorithm produces a cut-equivalent tree, known as the Gomory-Hu tree, from which the max-flow value for any pair can be retrieved in near-constant time. For unweighted graphs, we refine our techniques further to produce a Gomory-Hu tree in the time of a poly-logarithmic number of calls to any max-flow algorithm. This shows an equivalence between the all-pairs and single-pair max-flow problems, and is optimal up to poly-logarithmic factors. Using the recently announced $m^{1+o(1)}$-time max-flow algorithm (Chen et al., March 2022), our Gomory-Hu tree algorithm for unweighted graphs also runs in $m^{1+o(1)}$-time.
翻译:1961年, Gomory 和 Hu 显示, All-Pairs Max- Flow 在未方向图形中计算所有 $n\ choose 2 双脊椎之间最大流的问题, 只能用任何( single- pair) 最大流算法来解决。 即使假设一个线性最大流算法, 这会产生一个运行时间为$O( mn) 的运行时间, 当美元=% 1 =\ Theta( n% 2) 时, 最大值=$。 虽然后来的工作改进了各个特殊图表类的连接, 但是在过去60年中, 没有获得过任何亚基值对普通图表的亚值算法。 我们通过给普通的( single- pal-pair) 最大流算法来打破这个长期的屏障。 结合一个流行的复杂假设, 我们建立了一个反不直观的分离: 通向上市的通算法流到所有极值 。 最上至最短路径的数 。 我们的算法在最接近于最接近的直径直径的直径的直径直径的直径直径上, 。