Deterministic Minimum Steiner Cut in Maximum Flow Time
Abstract
We devise a deterministic algorithm for minimum Steiner cut, which uses maximum flow calls and additional near-linear time. This algorithm improves on Li and Panigrahi’s (FOCS 2020) algorithm, which uses maximum flow calls and additional time, for . Our algorithm thus shows that deterministic minimum Steiner cut can be solved in maximum flow time up to polylogarithmic factors, given any black-box deterministic maximum flow algorithm. Our main technical contribution is a novel deterministic graph decomposition method for terminal vertices that generalizes all existing -strong partitioning methods, which we believe may have future applications.
1 Introduction
The minimum cut (or “min-cut”) of a weighted graph is the smallest weighted subset of edges whose deletion disconnects the graph. The problem of finding the minimum cut is one of the most fundamental problems in combinatorial optimization and theoretical computer science as a whole. It also has important applications such as network optimization [1] and image segmentation [3]. Thus, finding faster algorithms for this problem will have far-reaching applications for a wide variety of fields. Recently, there has been a large amount of groundbreaking work in the field, including deterministic almost-linear time222Near-linear algorithms have runtime and almost-linear algorithms have runtime . We use to hide polylogarithmic factors. algorithms for both minimum cut [9] and maximum flow [2].
1.1 Minimum Steiner Cut Background
A classic extension of the min-cut problem is the minimum Steiner cut (or “Steiner min-cut”) problem. In this problem, we are given an undirected, weighted graph and a subset of terminals. A Steiner cut is a subset of edges whose removal disconnects at least one pair of terminals in the graph. The minimum Steiner cut is the Steiner cut with the minimum total weight of cut edges. This problem generalizes both minimum cut () and global minimum cut () and is therefore a fundamental problem in graph algorithms.
The classical algorithm to solve minimum Steiner cut uses max-flow computations. Li and Panigrahi [10] give a randomized algorithm which reduces minimum Steiner cut in near-linear time to just polylogarithmic number of max-flow computations. They additionally provide a deterministic algorithm which takes, for any parameter , max-flow calls with additional running time. Given the currently known fastest deterministic maximum flow algorithm in almost-linear time [2], the two results combined give an almost-linear time algorithm for global minimum cut, which matches the algorithm of Li [9]. We remark that a very recent work [4] has improved the running time of deterministic global minimum cut to near-linear, i.e., . However, since minimum Steiner cut is at least as hard as minimum cut, traditionally solved through max-flow, a near-linear time minimum Steiner cut algorithm remains elusive without an equally fast max-flow algorithm.
1.2 Our Contributions
We show that a deterministic, near-linear time max-flow algorithm is the only obstacle towards obtaining a deterministic, near-linear time minimum Steiner cut algorithm. More precisely, we introduce a new deterministic algorithm that finds the minimum Steiner cut in polylogarithmic max flow calls and near-linear additional processing time.
Theorem 1.1.
Given an undirected, weighted graph with vertices and edges, polynomially bounded edge weights, and a set of terminal vertices , there is a deterministic minimum Steiner cut algorithm that makes maximum flow calls on undirected, weighted graphs with vertices and edges, and runs in time outside of these maximum flow calls.
Specifically, a hypothetical deterministic near-linear time algorithm for max-flow also implies a deterministic near-linear time algorithm for minimum Steiner cut. This result was not known from the work of [10], given the additional running time in their deterministic algorithm. In fact, for the case of polylogarithmic maximum flow calls (), their algorithm has runtime , even slower than almost-linear. Our algorithm also matches the running time of the randomized minimum Steiner cut algorithm from [10] up to polylogarithmic factors.
Terminal-Based Partitioning Methods.
Expander decompositions have been a powerful tool for solving minimum cut problems in recent years [9, 10]. However, the current state-of-the-art deterministic expander decomposition takes almost-linear time [11], and it is an open problem whether this can be improved.
A key tool for deterministic near-linear time algorithms is the decomposition into -strong clusters used by recent minimum cut algorithms on simple graphs [5, 6]. However, recent work [4] has applied the concept of -strong clusters to weighted graphs to obtain a deterministic near-linear global minimum cut algorithm. Our main technical contribution is to extend this decomposition framework on general weighted graphs and apply it towards a decomposition that specifically partitions clusters of terminals with a boundary proportional to the size of the terminal set. We state this result informally below.
Theorem 1.2 (Informal).
Given an undirected, weighted graph with vertices and edges, polynomially bounded edge weights, a set of terminal vertices , sparsity parameter , and cut size parameter , there is a deterministic algorithm which returns a vertex partitioning of clusters such that the following hold:
-
1.
For every cluster, any cut with weight less than splits the cluster with at most polylog(n) terminals on at least one side.
-
2.
For every cluster, any cut with weight less than either does not split the cluster or has at least weight of cut edges inside the cluster.
-
3.
The total weight of edges between clusters is at most .
The algorithm makes maximum flow calls on undirected, weighted graphs with vertices and edges and runs in time outside of these maximum flow calls.
Properties 1 and 3 together directly generalize the notion of -strong partitions to the terminal regime. Property 2 provides an additional guarantee useful for the Steiner algorithm of [10] and can be achieved with only polylogarithmic loss elsewhere in the decomposition.
2 Preliminaries
In this paper, all graphs are undirected and weighted. For simplicity, all weights are assumed to be polynomially bounded (however, this can be relaxed by adding logarithmic dependence on the maximum edge weight).
We begin by introducing standard definitions and tools from previous works that we will utilize for our algorithm. We also define our new modification of -strong clusters to terminals.
We use a standard definition of induced subgraphs using self-loops for boundary edges, which preserves degrees of vertices in subgraphs. We denote the induced subgraph of the vertex set on graph as .
2.1 Sparsity and Strength
Sparsity is a specific measure of how connected a graph is. For a cut , where , we define as the boundary of the cut, which is the set of edges between and .
Definition 2.1 (Sparsity).
The sparsity of a cut is defined as
(1) |
We also introduce the new definition of terminal-sparsity for Steiner cuts with the terminal set .
Definition 2.2 (Terminal-sparsity).
The terminal-sparsity of a cut is defined as
(2) |
We use the terms -sparse and -terminal-sparse to refer to cuts with sparsity and terminal-sparsity , respectively.
The concept of strength, introduced by Kawarabayashi and Thorup [6], is a relaxed notion of edge expanders. At a high level, a vertex subset is -strong if every cut of weight at most satisfies , where the volume is the sum of degrees of vertices in . In [6], the parameter is chosen as the minimum degree of all vertices, which serves as an upper bound on the min-cut.
One of our main conceptual contributions is translating -strength to the terminal setting and providing necessary generalizations to handle the Steiner min-cut problem. First, we work from a sparsity viewpoint, which bounds the minimum cardinality of intersection instead of volume, which is more handy when we start introducing terminals. Second, we can no longer choose as the minimum degree since it no longer upper bounds the Steiner min-cut. One natural choice is the minimum (weighted) degree of all vertices in set , but instead, for technical reasons, we set closer to the minimum Steiner cut itself. For now, we keep as a free parameter and provide our -strong guarantees in terms of . Finally, we need an additional requirement that if the cut cuts any edges inside a cluster, then it must cut sufficiently many such edges, and we introduce another parameter to capture this condition.
Definition 2.3 (-strength).
A vertex subset (called a cluster) is -strong in if every cut of graph with at most weight satisfies , and moreover, if then .
Next, we introduce the notion of -terminal-strength, where the “size” of a set of vertices is only determined by its number of terminals. This property is necessary to deal with cuts separating terminal vertices instead of just regular ones.
Definition 2.4 (-terminal-strength).
A vertex subset (called a cluster) is -terminal-strong in if every Steiner cut of graph with at most weight satisfies
, and moreover, if and , then .
For the rest of the paper, we sometimes omit the “in ” and the terminal set from the definition whenever they are apparent from the context.
An important property of both -strength and terminal strength is that the property is inherited by subgraphs, i.e., if is -strong or terminal-strong, then is as well for all . This property holds for -strength [6], and is straightforward to verify that the same is true for our -strength definitions.
Lastly, we also define terminal-strong decompositions, which are analogous to -strong and expander decompositions, except that we split our graph into -terminal-strong components as opposed to -strong sets and expanders, respectively.
Definition 2.5 (-terminal-strong decomposition).
A set of disjoint vertex clusters is an -terminal-strong decomposition if each cluster is -terminal-strong, and if the total weight of edges between clusters is at most .
Our primary new technical tool is a fast algorithm for computing an -terminal-strong decomposition with a small bounded weight of intercluster edges (Theorem 1.2), which is presented in detail in Section 4. At a high level, we use a (non-terminal) -strong decomposition to devise an algorithm that finds an -terminal-strong decomposition through the cut-matching game framework of Khandekar, Rao, and Vazirani [8], which we outline in the following subsection.
2.2 Cut-Matching Game
We start with an overview of the cut-matching game.
-
1.
The cut player chooses a bisection of the graph based on a given strategy.
-
2.
The matching player chooses a perfect matching of the bisection based on a given strategy.
-
3.
The cut player adds the edges of the perfect matching to graph , forming graph .
The game continues until graph is an edge-expander. The key insight of the cut-matching game is that there is always a strategy for the cut player that finishes the game in few rounds.
We use the cut-matching game to reduce our problem from one with terminals (-terminal-strong decomposition) to one without terminals (-strong decomposition). We then adapt the -strong decomposition algorithm of [4] to obtain an -strong decomposition for large enough .
3 Minimum Steiner Cut Algorithm Overview
The following is an overview of our algorithm (Algorithm 1) to solve minimum Steiner cut on an undirected, weighted graph deterministically in near-linear time (i.e., ) plus polylogarithmic maximum flow calls. Throughout, we assume that we have guessed the value of the Steiner mincut up to factor (which we denote ) by, for example, guessing all powers of (incorrect guesses may return an overestimate of the minimum Steiner cut, but we can take the minimum cut ever found at the end).
- 1.
-
2.
In the “balanced case”, we find an -terminal-strong decomposition on the graph. To do this, we use the cut-matching game on a graph containing only the terminals of the original graph, with , , and . This algorithm is described in Algorithm 2 (Section 4). At a high level, we use a (non-terminal) -strong decomposition to find an -terminal-strong decomposition for appropriate parameters .
-
3.
Using our -terminal-strong decomposition, we find a set and such that the minimum Steiner cut of with terminal set is the same as with terminal set . In this case, we recursively apply our minimum Steiner cut algorithm on graph with terminal set (Section 5).
We give a high-level analysis of the runtime, which we formally prove in the following sections. Each call of terminal decomposition takes polylogarithmic max-flow computations and at most near-linear time with respect to the graph outside of the max-flows. Since the sparsification procedure halves the terminal set each iteration, it adds at most a extra factor in runtime. Along with the additional factor for guessing , this gives us our claimed runtime.
4 Terminal Decomposition Using Cut-Matching Game
The goal of the cut-matching game is to try to certify that the entire vertex set is -terminal-strong in by iteratively constructing our cut-graph to be -strong. This may not always be possible, but throughout the cut-matching game, the algorithm may also verify that is -terminal-strong for a subset with . In that case, we apply a trimming procedure similar to [12]. Otherwise, if this is also not possible, we will be able to find a balanced sparse cut in the cut-graph . We then run a max-flow between the two terminal sets in , which outputs either a large flow or (by duality) a small cut. In the former case, we add a corresponding large (fractional) matching to the cut graph . In the latter case, we immediately find a balanced terminal-sparse cut in , at which point we recursively decompose the two sides.
Before going through the formal procedure, we give high-level overviews of the cut and matching player strategies.
Cut Player Description
The cut player attempts to find a sparse, balanced cut in the cut graph, which ensures that we make sufficient progress when the matching player creates a matching. If the cut player fails to find a cut, we terminate the cut-matching game and prove that the original graph satisfies desirable properties.
Cut Player Strategy on current cut-graph • Find an -strong decomposition on cut graph • If a cluster with size greater than exists, we terminate the cut-matching game. We trim the cluster according to Algorithm 3 and certify the cluster as -terminal-strong. We then recursively apply Algorithm 4 on the smaller side. • Otherwise, we merge the clusters into two groups that each contains between 1/3 and 2/3 fraction of all vertices of (this is always possible, see Claim 4.5). Denote the bipartition as .
Matching Player Description
The matching player’s goal is to add edges in the cut graph corresponding to the maximum possible flow in from one side of the bipartition to the other. They do this by running a maximum flow algorithm across the bipartition. The matching player adds edges to the cut graph if a large flow is successfully routed. Otherwise, a terminal-balanced cut is found, and we terminate the cut-matching game and recursively apply our terminal-strong-decomposition algorithm on both sides of the cut.
Matching Player Strategy on bipartition of cut-graph • We calculate a max-flow on graph between the terminals in and using Algorithm 3. If the flow has value at least , we call the flow a “large flow”. Otherwise, the flow has value less than , so we call the corresponding cut a “small cut”. • If we find a large flow, we add a large matching into cut graph : we break down the flow into paths and add edges between vertices in graph with the same corresponding weights as the flow paths. • If we find a small cut, we certify the minimum cut found as a terminal-balanced, terminal-sparse cut. We stop the cut-matching game and recursively apply our terminal-decomposition algorithm on both sides.
We formally define strategies for the cut and matching players in this game in Algorithm 2. Our guarantee given by our cut-matching game method is stated as the following:
Lemma 4.1.
Given an undirected weighted graph and parameters , , Algorithm 2 runs in time plus calls to maximum flow, and outputs one of the following:
-
1.
An -terminal-strong cluster with such that is either empty or -terminal-sparse, or
-
2.
A -terminal-sparse cut with
The correctness of the Cut Player strategy is shown in Subsection 4.1, matching player strategy in Subsection 4.2, and the termination within rounds is proved in Subsection 4.3.
4.1 Cut Player
The lemma below for shows that Algorithm 2 of Algorithm 2 can be computed efficiently. We apply the lemma on graph and vertex set .
Lemma 4.2.
Given any parameters and and a graph with total edge weight at most , there exists and and an algorithm in time that outputs a decomposition of into -strong clusters such that the total weight of inter-cluster edges is at most .
The first step is to apply the following lemma to a slightly modified graph.
Lemma 4.3 ([4]).
Given a weighted graph and a parameter such that and a parameter , there is an algorithm that runs in time and partitions the vertex set into components such that
-
1.
For any cluster and any cut in of weight at most , we have . Here, is the sum of weighted degrees of vertices in .
-
2.
The total weight of inter-cluster edges is at most an fraction of the total weight of edges.
Construct the graph from as follows. For each vertex , add a new vertex with an edge to of weight . This new graph has minimum weighted degree . Apply the lemma above to with parameters and . The total weight of inter-cluster edges is at most for large enough . Since has minimum degree , the guarantee from property 1 implies that . In other words, each is -strong in . Consider the partition in obtained by removing all new vertices . It is straightforward to see that this partition is also -strong in , and the total weight of inter-cluster edges is still at most .
We now modify the partition so that each cluster is -strong by applying the lemma below to each . The total weight of additional inter-cluster edges guaranteed by the lemma is at most . Together with the inter-cluster edges from the first step, the total weight is at most . It remains to prove the lemma below:
Lemma 4.4.
Let be an -strong cluster in and let . There is an algorithm in time that partitions into -strong clusters such that the total weight of inter-cluster edges is at most .
This proof uses a similar technique found in [4], and we leave the proof for Appendix A.
Let the size of a cluster be the number of vertices in the cluster. The following lemma shows that Algorithm 2 of Algorithm 2 can be executed efficiently.
Claim 4.5.
Suppose no single cluster has size greater than . Then, there exists a bipartition of clusters such that each group of clusters has a total size in the range , and this bipartition can be computed in nearly linear time.
Proof.
We can split our proof into two cases:
-
1.
There exists a cluster with size :
We make that cluster its own group and all remaining clusters the second group.
-
2.
All clusters have size less than :
Enumerate the clusters in an arbitrary order, and consider the shortest prefix of clusters whose total size exceeds . The prefix without its last cluster has total size less than , and this last cluster of the prefix has size less than , so this prefix has size in . ∎
4.2 Matching Player
We introduce a key subroutine of the matching player, called CutOrFlow, which is used to find matchings over partitions and for trimming.
Lemma 4.6.
If Algorithm 3 returns a valid cut , then it is -terminal sparse in .
Proof.
Without loss of generality, assume that contains at most as many terminals as . Consider the difference between the edges of and the edges of the cut , which cuts all edges adjacent to . The edges in are precisely the edges of originally within , and the edges in are precisely the edges between and . Since is an min-cut, we have , which is equivalent to . A symmetric argument yields , and combining the two proves the lemma. ∎

Lemma 4.6 proves the sparsity guarantees of Lemma 4.1, as the algorithm sets either sets or in every CutOrFlow call. Thus, every cut returned is always -terminal sparse in .
Lemma 4.7.
If and flow has value less than , then the cut satisfies .
Proof.
In graph , the value of flow and cut are equal by flow-cut duality. In particular, cut has weight less than . Since has edges to that cross the cut, and since has edges from that cross the cut, we have . Since , it follows that and . In particular, . ∎
4.2.1 Trimming
In Algorithm 2 of Algorithm 2, we begin with a subset of size at least such that is -terminal-strong in . Our next goal is to find a cluster that is a -terminal strong with . This allows us to only recurse on , which satisfies , allowing for an efficient algorithm.
We used a modified form of the trimming method found in [12]. In their paper, the authors describe a simple “Slow Trimming” and an improved “Efficient Trimming” scheme, which is much more involved by circumventing the use of exact max-flow. However, the slow trimming scheme suffices for our purposes since we are fine with maximum flow time.
We begin with the following lemma, which we use to prove the correctness of trimming:
Lemma 4.8.
If a cluster is -strong in the cut graph , then is -terminal-strong in .
Proof.
By construction, each edge of weight in the cut graph certifies the existence of a flow of capacity in the original graph . Since we run the cut-game for at most rounds, we can simultaneously route flows between terminals and of weight for all edges with capacities scaled by at most in graph . Equivalently, scaling everything by , we can simultaneously route flows between terminals and of weight for all edges with capacities scaled by at most in graph .
We proceed with two cases. First, assume for contradiction that there exists a Steiner cut of graph with at most weight which satisfies . Consider cut in cut graph . Since and , we have
(3) |
The weight of cut in is at most a factor greater than the amount of (scaled) flow able to be routed over cut in graph . In other words, . This contradicts the assumption that is an -strong cluster in the cut graph.
For the second case, assume for contradiction that there exists a cut of graph with at most weight which satisfies and . Similar to above, the weight of cut in is at most a factor larger than cut in graph . Since , is an actual cut of , and , contradicting the assumption that is -strong in . ∎
Now, we introduce the section’s main theorem, which shows that the cluster is terminal-strong and contains a large fraction of terminals.
Theorem 4.9.
If is -terminal-strong in and , the cut returned by Algorithm 3 with parameter satisfies the property that is -terminal strong in and .
We split our proof into two cases, when the cut , and all other cuts.
Case 1: .
Here, we will only use the bound . This fact will be important later in the proof.
By flow-cut duality, the flow in sends full capacity along each edge into . In particular, the value of the flow is equal to . This case clearly satisfies .
We now show that in this case is -terminal strong. Consider an arbitrary Steiner cut in of size . Suppose first that , and assume without loss of generality that . Each terminal in sends full capacity into in the flow , so at least flow must cross the cut . Since , we obtain , so . Additionally since , we have the total flow being at least , and therefore the cut is at least this size as well.
Suppose now that . From Lemma 4.8, we know that and . Assume without loss of generality that . We consider two cases:
-
1.
Case 1a: .
Recall that the flow has value in graph . In this flow, at most of the flow initially routed into from can reach without crossing cut . The remaining flow must therefore cross cut . Therefore we have
(4) Therefore , and thus .
-
2.
Case 1b: .
We have , so .
This completes the proof of case 1 of Theorem 4.9 when .
Case 2: .
We begin by showing . If this was not the case, since we assume , more than terminals in would be in . All of these terminals would have an edge of size crossing the cut . However, the cut must have size at most in graph . Since , we arrive at a contradiction.
Now we prove the terminal-strong property of . We start by proving the following lemma:
Lemma 4.10.
Assume that is -terminal-strong in . Then is -terminal-strong in .
Proof.
Note that the condition follows immediately from since is -terminal-strong. So it suffices to prove that for all Steiner cuts such that , we have if .
By flow-cut duality, the flow saturates the entire boundary . Assume for contradiction there exists a Steiner cut such that , , and . As mentioned before, we know that , so assume without loss of generality that . We also have since is -terminal-strong. This implies . The flow sends flow from to , and only flow can enter from . Therefore flow must be routed from the source node into . But this flow is upper bounded by (using our assumption from Theorem 4.9), and we arrive at our contradiction. ∎
Next, we show that . For each terminal from in and each terminal from in , there exists an edge of weight crossing in . Denote and . Since the cut has weight , we have . Additionally , so
(5) |
proving the requirement as desired.
At this point, we can apply the case on , since we have shown that is -terminal-strong and , and the case only requires that . This completes the proof of case 2 of Theorem 4.9 when .
4.2.2 Final Parameters
Finally, we plug in our parameters , , , and in Algorithm 2. We have , so the -terminal strong cluster output by Algorithm 2 is
-terminal-strong, fulfilling the output guarantee of Algorithm 2.
4.3 Termination
To show that the cut-matching game terminates within rounds, we introduce the following guarantee of the cut-matching game analysis.
Lemma 4.11.
For large enough , Algorithm 2 proceeds for at most iterations.
The proof is a direct adaptation of the cut-matching game analysis of [7, 8], and thus we leave the details to Appendix B.
4.4 Terminal Decomposition
Finally, we introduce the complete algorithm for terminal decomposition, which uses the cut-matching game algorithm as a key subroutine.
The algorithm uses Cut-Game as a subroutine and Lemma 4.1 as its guarantee. First, we note that since we recurse on both sides of a cut in Algorithm 4 only if they both have at least terminals (from Lemma 4.1), we have at most recursive levels. We now prove the formal theorems for our terminal decomposition.
Theorem 4.12.
Algorithm 4 runs with max-flows and additional time.
Proof.
First, in each recursive level, each Terminal-Decomp call is on a mutually disjoint portion of the graph. Therefore, all maximum flows on a single recursive level can be done in parallel with a single maximum flow call on a graph of size edges. Additionally, each round of the cut-matching game uses at most a single max-flow call (in CutOrFlow). With a total of cut-matching game rounds and recursive levels, the entire terminal decomposition runs in max-flows.
All other cut-matching game procedures (specifically the -strong decomposition of Lemma 4.2) run in near-linear time. With recursive levels, the entire algorithm runs in near-linear time, excluding max-flows. ∎
Theorem 4.13.
Algorithm 4 returns a -terminal-strong decomposition of .
Proof.
We begin by proving the upper-bound on intercluster edges:
Lemma 4.14.
The total weight of intercluster edges from the decomposition outputted by Algorithm 4 is at most .
Proof.
Every cut made by Algorithm 4 is terminal-sparse due to Lemma 4.6. We can charge weight to each terminal on the smaller side of the cut. Since there are at most recursive levels and each cluster gets only one cut per recursive level, each terminal gets charged at most times. Summing up the weights charged to each terminal gives us a total edge weight of . ∎
From Lemma 4.1, every cluster returned is certified to be -terminal strong, completing the proof. ∎
5 Minimum Steiner Cut Using Sparsification
We complete our algorithm by showing a polylogarithmic maximum flow algorithm for minimum Steiner cut on a graph by using its terminal-strong decomposition. We use the minimum isolating cuts method and terminology described by [10]. The critical difference is that we use a terminal-strong decomposition instead of an expander decomposition. However, we prove that the same guarantees apply.
We begin by introducing some definitions from [10].
Definition 5.1 (-unbalanced, -balanced).
A subset of vertices is considered -unbalanced if there exists a minimum Steiner cut such that . is considered -balanced with witness if there exists a minimum Steiner cut such that .
Our main result of the section is as follows:
Theorem 5.2.
There exists a deterministic algorithm which given an undirected weighted graph , an -terminal-strong decomposition , a parameter for some large enough constant , and a subset of terminals , does the following:
-
1.
If is -unbalanced, we return the minimum Steiner cut of with polylogarithmic maximum flow calls and near-linear additional runtime.
-
2.
If is -balanced with witness , we return a subset such that and for both .
We leave the full proof details to Appendix C.
After computing the sparsified set in the balanced case, we can recursively run our minimum Steiner cut algorithm on graph and terminal set . Since the size of at least halves each time we sparsify, this only needs to be done at most times.
Also, since we never know which case we are specifically in (balanced or unbalanced) in Theorem 5.2, we run both cases until must be guaranteed to be -unbalanced. At this point we take the minimum over all Steiner cuts found, and we are guaranteed to have found a minimum one (see Algorithm 1).
6 Conclusion
Our algorithm solves deterministic minimum Steiner cut with polylogarithmic max flow calls and near-linear additional processing time. We thus show minimum Steiner cut reduces to maximum flow up to polylogarithmic factors in runtime. Specifically, the existence of a deterministic near-linear time max-flow algorithm would imply a deterministic near-linear time algorithm for minimum Steiner cut.
Our main contribution is the -terminal-strong decomposition. We are able to do this deterministically in polylogarithmic max flows and near-linear additional time for small , which is not yet known for standard expander decompositions. We also believe that -strong and terminal-strong decompositions may have additional future applications in faster algorithms for graph problems.
Acknowledgements
We want to thank Monika Henzinger, Satish Rao, and Di Wang for helpful discussions related to Lemma 4.4.
References
- [1] Ravindra K. Ahuja, Thomas L. Magnanti, James B. Orlin, and M.R. Reddy. Chapter 1 applications of network optimization. In Network Models, volume 7 of Handbooks in Operations Research and Management Science, pages 1–83. Elsevier, 1995.
- [2] Jan Van Den Brand, Li Chen, Richard Peng, Rasmus Kyng, Yang P. Liu, Maximilian Probst Gutenberg, Sushant Sachdeva, and Aaron Sidford. A deterministic almost-linear time algorithm for minimum-cost flow. In 2023 IEEE 64th Annual Symposium on Foundations of Computer Science (FOCS), pages 503–514, 2023.
- [3] Alexander F. Brust, Eric J. Payton, Toren J. Hobbs, and Stephen R. Niezgoda. Application of the maximum flow–minimum cut algorithm to segmentation and clustering of materials datasets. Microscopy and Microanalysis, 25(4):924–941, 2019.
- [4] Monika Henzinger, Jason Li, Satish Rao, and Di Wang. Deterministic near-linear time minimum cut in weighted graphs. In 2024 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3089–3139, 2024.
- [5] Monika Henzinger, Satish Rao, and Di Wang. Local flow partitioning for faster edge connectivity. SIAM Journal on Computing, 49(1):1–36, 2020.
- [6] Ken-Ichi Kawarabayashi and Mikkel Thorup. Deterministic edge connectivity in near-linear time. J. ACM, 66(1), 12 2018.
- [7] Rohit Khandekar, Subhash A. Khot, Lorenzo Orecchia, and Nisheeth K. Vishnoi. On a cut-matching game for the sparsest cut problem. Technical Report UCB/EECS-2007-177, EECS Department, University of California, Berkeley, 12 2007.
- [8] Rohit Khandekar, Satish Rao, and Umesh Vazirani. Graph partitioning using single commodity flows. J. ACM, 56(4), 7 2009.
- [9] Jason Li. Deterministic mincut in almost-linear time. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2021, page 384–395, New York, NY, USA, 2021. Association for Computing Machinery.
- [10] Jason Li and Debmalya Panigrahi. Deterministic min-cut in poly-logarithmic max-flows. In 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS), pages 85–92, 2020.
- [11] Jason Li and Thatchaphol Saranurak. Deterministic weighted expander decomposition in almost-linear time, 2021.
- [12] Thatchaphol Saranurak and Di Wang. Expander decomposition and pruning: Faster, stronger, and simpler, 2021.
Appendix A Strong Partition Proof
We provide the complete proof for Lemma 4.4 here. Within the context of this proof, we assign a separate identity to each edge, and we do not merge distinct edges upon contraction.
The algorithm begins with and iteratively executes the following two steps in arbitrary order whenever possible.
-
1.
Contract two vertices with at least total weight of edges between them.
-
2.
Remove a vertex with weighted degree at most in .
At the end of the proof, we show how to perform these steps in near-linear time overall.
For each removed vertex, consider all original vertices in that were contracted to that vertex, and add a new output cluster consisting of those vertices. If is non-empty at the end of the iterative algorithm, add another cluster consisting of all vertices in that were contracted to a vertex in . By construction, the resulting clusters partition . By dynamically maintaining appropriate structures, the algorithm can be implemented in time.
The bound on the weight of inter-cluster edges follows from the fact that we remove at most many vertices in the algorithm, and each removal adds at most to the total weight of inter-cluster edges.
Since each cluster is a subset of -strong cluster , cluster is also -strong. It remains to show that is -strong. That is, given a cut in with , , and , we have .
First, take a set consisting of all vertices contracted to some vertex . Color the vertices in black and the vertices in white, and consider the contraction process starting from the set and ending at , where each step contracts an edge between two vertices in the set with weight at least . If we contract an edge whose endpoints have the same color, then assign the same color to the contracted vertex. Eventually, we contract an edge with differently colored endpoints. Each edge is included in , and we contract edges of total weight at least . It follows that .
Now take the set consisting of all vertices in that were contracted to a vertex in , if it is non-empty. Since is -strong, we have , and assume without loss of generality that . Color the vertices in black and the vertices in white, and consider the contraction process again. If we contract an edge with differently colored endpoints, then as before. So suppose that never happens. At the end, let be the set of black vertices, which satisfies by construction. Also, since the number of black vertices can only decrease over time. Since there are no more vertex deletions, each vertex in has weighted degree at least in . Since there are no more edge contractions, the total weight of edges between black vertices is at most .
Suppose for contradiction that , which means that
This quadratic solves to for some interval . It suffices to show that and , which would imply that , a contradiction. To show this claim, we simply show that the inequality fails for and . For , we obtain which is false since . For , we obtain which is false since . It follows that there is no cut in with , , , and .
Finally, we show that we can dynamically execute steps (1) and (2) in time overall. We maintain the vertex degrees, the number of edges incident to each vertex, and the total weight of edges between any two vertices, storing their values in a balanced binary tree. To execute step (1), query the pair of vertices with maximum total weight of edges, and to execute step (2), query the vertex with minimum degree. To update the maintained values over time, we perform the following. Every time a vertex is removed on step (2), we remove the incident edges and update values accordingly; each removed edge induces one update in each category, which is total updates overall. Suppose now that two vertices and are contracted, where has at most as many incident edges as (which can be checked by querying their maintained number of incident edges). We remove the contracted edges between and , and for all remaining edges incident to , replace the endpoint by . This successfully implements step (2) with the contracted vertex labeled . We now show that the total number of such edge updates is at most where . For each vertex , let be the current number of incident edges. Define the potential function
which is at most initially since . The function is increasing in in the range , which can be verified by taking the derivative:
Since removing vertices can only decrease , doing so can only decrease the potential. Suppose now that two vertices and are contracted with . After removing the contracted edges between and , the values and decrease by the same amount, so still. In the contraction step, we update the edges incident to , and the and terms in the potential function become a single . The net difference is
where the second inequality follows from . Hence, the potential drops by at least , while the number of edge updates is . It follows that the total number of edge updates is at most , and each update induces one maintenance update in each category. Overall, the algorithm makes maintenance updates, and each update takes time, which is total as promised.
Appendix B Cut-Matching Proof
For completeness, we prove Lemma 4.11 below by directly adapting the analysis of [7].
Let be large enough. Suppose for contradiction that the algorithm does not terminate within iterations. On each iteration, the algorithm must execute Algorithm 2 with the partition with and . Following [7], we use the entropy function potential
where satisfy for all . Intuitively, models a random walk on the cut-graph, and is the probability distribution at time starting at vertex . The entropy function is at most , so always. We will show that the potential function can never decrease, and it increases by every time the algorithm executes Algorithm 2. It follows that there can only be total iterations.
Let be the edges added to on Algorithm 2. Since the flow sends at most flow through each terminal in , and since the weight of the edges in are scaled by , each vertex has weighted degree at most in . Also, since has value at least the total weight of is at least .
Initially, set if and otherwise. For each iteration , set
(6) |
Note that is a convex combination of over all . Since the entropy function is concave, we obtain , which implies that .
Given a partition on iteration , define , which represents the probability that the random walk starting at ends up in .
Claim B.1.
.
Proof.
We have
By induction on , we obtain . Note that is the total value of the cut in the cut-graph , which has value at most by the construction of cut . It follows that . ∎
Since , the values for have average at most . By Markov’s inequality, a constant fraction have value . We will show that for each vertex with , we have . This would imply and finish the analysis.
For the rest of the proof, fix a vertex with . By Markov’s inequality, at most fraction of the vertices in have ; call these vertices bad. Similarly, , and by (reverse) Markov’s inequality, at most fraction of the vertices in have ; call these vertices bad. Overall, at most vertices are bad. Now consider the matching of total weight at least . Each vertex has degree at most in , so at most weight of edges in are incident to bad vertices. So a constant fraction of the edges of (by weight) have both endpoints good, which means one endpoint has value and the other has value at least . The definition of in (6) will “mix” these separated values, and a tedious but straightforward algebraic calculation establishes .
Appendix C Sparsification Procedure
The details of the full sparsification procedure from Section 5 are detailed here. We prove the two cases separately:
C.1 Unbalanced Case
We use the following method from [10] to deal with the unbalanced case:
Lemma C.1 (Theorem 4.2 from [10]).
Consider a graph , a parameter , and a -unbalanced set . Then, we can compute the minimum Steiner cut of in many max-flow computations plus deterministic time.
With , this gives us polylogarithmic maximum flow calls and near-linear additional runtime as desired.
C.2 Balanced Case
If is -balanced, we use a sparsification procedure by using the -terminal-strong decomposition with terminal set to find a subset such that with the guarantee that some Steiner minimum cut contains at least one vertex from in both of its sides. We then set .
We define a cluster to be trivial if , small if , and large if . To construct set , for each cluster , we take an arbitrary vertex from if is small, or arbitrary vertices from if is large. To prove correctness, we show that is always at least a constant factor smaller than each iteration, and that always contains at least one terminal on both sides of a minimum Steiner cut if is -balanced.
C.2.1 Size Bound
Claim C.2.
There are at most total clusters, i.e. .
Proof.
The total weight of intercluster edges is upper-bounded by from the guarantee of our -terminal-strong decomposition. We set , where denotes a 2-approximation of the value of the minimum Steiner cut on graph . Since is a Steiner cut in graph , we have . Therefore
(7) |
Dividing by on the left and right sides gives us our claim. ∎
Lemma C.3.
The sparsification procedure above returns a set such that .
Proof.
We can only have less than large clusters, and at most small clusters due to Claim C.2. From our construction, has total size
(8) |
With and , we get that as desired with a small enough chosen . ∎
C.2.2 Hitting Both Sides of the Minimum Steiner Cut
This following claim ensures that only a few number of clusters are actually cut (have terminals on both sides) by the minimum Steiner cut.
Claim C.4.
(Analogous to Claim 4.12 in [10]) Let be one side of a minimum Steiner cut of . Then, cuts at most clusters of (we define a cluster as being cut if there is at least one terminal on both sides of the cluster and both sides of the cut).
Proof.
Steiner min-cut has a maximum weight of . For all clusters , the portion of that intersects it (call this ) has a terminal on both sides of it in . From the definition of -terminal-strong, we must have that . Since clusters are edge-disjoint and the minimum Steiner cut is upper-bounded by , cannot cut more than clusters of . ∎
Lemma C.5.
Suppose is -balanced with witness . Then for both .
Proof.
The proof is a direct modification of Lemma 4.13 of [10], replacing each instance of with either or . Call a cluster :
-
1.
white if (i.e., ).
-
2.
light gray if , which implies that .
-
3.
dark gray if , which implies that .
-
4.
black if (i.e., ).
Every cluster must be one of the four colors, and by Claim C.4, there are at most many (light or dark) gray clusters since implies that cuts cluster . Note that since we are only considering clusters such that , it must be that for a white cluster, we have , and similarly, for a black cluster, we have . There are now a few cases:
-
1.
There are no large clusters. In this case, if there is at least one white and one black small cluster, then the vertices from these clusters added to are in and , respectively. Otherwise, assume w.l.o.g. that there are no black clusters. Since there are at most gray clusters in total, , contradicting our assumption that for large enough .
-
2.
There are large clusters, but all of them are white or light gray. Let be a large white or light gray cluster. Since we select vertices of , and , we must select at least one vertex not in . Therefore, . If there is at least one black cluster, then the selected vertex in there is in , so too, and we are done.
So, assume that there is no black cluster. Since all large clusters are light gray (or white), for all large clusters . Moreover, by definition of small clusters, for all small clusters . Since there are at most gray clusters by Claim C.4,
a contradiction.
-
3.
There are large clusters, but all of them are black or dark gray. Symmetric case to (2) with replaced with .
-
4.
There is at least one black or dark gray large cluster , and at least one white or light gray large cluster . In this case, since we select vertices of and , we must select at least one vertex in . Similarly, we must select at least one vertex in that is in .∎
Since , we can set large enough in the statement of Theorem 5.2 so that . This completes the proof of the balanced case for Theorem 5.2.