Weighted Min-Cut: Sequential, Cut-Query and Streaming Algorithms
Consider the following 2-respecting min-cut problem. Given a weighted graph G and its spanning tree T, find the minimum cut among the cuts that contain at most two edges in T. This problem is an important subroutine in Karger's celebrated randomized near-linear-time min-cut algorithm [STOC'96]. We present a new approach for this problem which can be easily implemented in many settings, leading to the following randomized min-cut algorithms for weighted graphs. * An O(m log^2 n+nlog^5 n)-time sequential algorithm: This improves Karger's long-standing O(m log^3 n) bound when the input graph is not extremely sparse. Improvements over Karger's bounds were previously known only under a rather strong assumption that the input graph is simple (unweighted without parallel edges) [Henzinger, Rao, Wang, SODA'17; Ghaffari, Nowicki, Thorup, SODA'20]. * An algorithm that requires Õ(n) cut queries to compute the min-cut of a weighted graph: This answers an open problem by Rubinstein, Schramm, and Weinberg [ITCS'18], who obtained a similar bound for simple graphs. Our bound is tight up to polylogarithmic factors. * A streaming algorithm that requires Õ(n) space and O(log n) passes to compute the min-cut: The only previous non-trivial exact min-cut algorithm in this setting is the 2-pass Õ(n)-space algorithm on simple graphs [Rubinstein et al., ITCS'18] (observed by Assadi, Chen, and Khanna [STOC'19]). In contrast to Karger's 2-respecting min-cut algorithm which deploys sophisticated dynamic programming techniques, our approach exploits some cute structural properties so that it only needs to compute the values of Õ(n) cuts corresponding to removing Õ(n) pairs of tree edges, an operation that can be done quickly in many settings.
READ FULL TEXT