Cut-Equivalent Trees are Optimal for Min-Cut Queries
Abstract
Min-Cut queries are fundamental: Preprocess an undirected edge-weighted graph, to quickly report a minimum-weight cut that separates a query pair of nodes . The best data structure known for this problem simply builds a cut-equivalent tree, discovered 60 years ago by Gomory and Hu, who also showed how to construct it using minimum -cut computations. Using state-of-the-art algorithms for minimum -cut (Lee and Sidford, FOCS 2014) arXiv:1312.6713, one can construct the tree in time , which is also the preprocessing time of the data structure. (Throughout, we focus on polynomially-bounded edge weights, noting that faster algorithms are known for small/unit edge weights.) Our main result shows the following equivalence: Cut-equivalent trees can be constructed in near-linear time if and only if there is a data structure for Min-Cut queries with near-linear preprocessing time and polylogarithmic (amortized) query time, and even if the queries are restricted to a fixed source. That is, equivalent trees are an essentially optimal solution for Min-Cut queries. This equivalence holds even for every minor-closed family of graphs, such as bounded-treewidth graphs, for which a two-decade old data structure (Arikati et al., J.~Algorithms 1998) implies the first near-linear time construction of cut-equivalent trees. Moreover, unlike all previous techniques for constructing cut-equivalent trees, ours is robust to relying on approximation algorithms. In particular, using the almost-linear time algorithm for -approximate minimum -cut (Kelner et al., SODA 2014), we can construct a -approximate flow-equivalent tree (which is a slightly weaker notion) in time . This leads to the first -approximation for All-Pairs Max-Flow that runs in time , and matches the output size almost-optimally.
Cite
@article{arxiv.2009.06090,
title = {Cut-Equivalent Trees are Optimal for Min-Cut Queries},
author = {Amir Abboud and Robert Krauthgamer and Ohad Trabelsi},
journal= {arXiv preprint arXiv:2009.06090},
year = {2020}
}