We present a combinatorial algorithm for computing exact maximum flows in directed graphs with $n$ vertices and edge capacities from $\{1,\dots,U\}$ in $n^{2+o(1)}\log U$ time, which is almost optimal in dense graphs. Our algorithm is a novel implementation of the classical augmenting-path framework; we list augmenting paths more efficiently using a new variant of the push-relabel algorithm that uses additional edge weights to guide the algorithm, and we derive the edge weights by constructing a directed expander hierarchy. Even in unit-capacity graphs, this breaks the long-standing $O(m\cdot\min\{\sqrt{m},n^{2/3}\})$ time bound of the previous combinatorial algorithms by Karzanov (1973) and Even and Tarjan (1975) when the graph has $m=\omega(n^{4/3})$ edges. Notably, our approach does not rely on continuous optimization nor heavy dynamic graph data structures, both of which are crucial in the recent developments that led to the almost-linear time algorithm by Chen et al. (FOCS 2022). Our running time also matches the $n^{2+o(1)}$ time bound of the independent combinatorial algorithm by Chuzhoy and Khanna (STOC 2024) for computing the maximum bipartite matching, a special case of maximum flow.
翻译:我们提出一种组合算法,用于计算具有$n$个顶点且边容量取自$\{1,\dots,U\}$的有向图中的精确最大流,其时间复杂度为$n^{2+o(1)}\log U$,这在稠密图中近乎最优。我们的算法是对经典增广路径框架的新颖实现:通过采用一种新变体的推流-重标算法——该算法利用额外的边权重引导计算过程——我们能够更高效地枚举增广路径;这些边权重是通过构建有向扩展图层次结构推导得出的。即使在单位容量图中,当图的边数$m=\omega(n^{4/3})$时,本算法也突破了Karzanov(1973)与Even和Tarjan(1975)提出的组合算法长期保持的$O(m\cdot\min\{\sqrt{m},n^{2/3}\})$时间复杂度界限。值得注意的是,我们的方法既不依赖于连续优化,也未采用复杂的动态图数据结构——这两者在Chen等人(FOCS 2022)实现近乎线性时间算法的近期突破中均至关重要。我们的时间复杂度也与Chuzhoy和Khanna(STOC 2024)提出的、用于计算最大二分图匹配(最大流问题的特例)的独立组合算法的$n^{2+o(1)}$时间界限相匹配。