This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Deterministic Minimum Steiner Cut in Maximum Flow Time

Matthew Ding
University of California, Berkeley
Email: [email protected]
   Jason Li
Carnegie Mellon University111This work was done while visiting the Simons Institute for the Theory of Computing.
Email: [email protected]
Abstract

We devise a deterministic algorithm for minimum Steiner cut, which uses (logn)O(1)(\log n)^{O(1)} maximum flow calls and additional near-linear time. This algorithm improves on Li and Panigrahi’s (FOCS 2020) algorithm, which uses (logn)O(1/ϵ4)(\log n)^{O(1/\epsilon^{4})} maximum flow calls and additional O(m1+ϵ)O(m^{1+\epsilon}) time, for ϵ>0\epsilon>0. 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 ss-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 O~(m)\tilde{O}(m) and almost-linear algorithms have runtime m1+o(1)m^{1+o(1)}. We use O~()\tilde{O}(\cdot) 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 G=(V,E)G=(V,E) and a subset TVT\subseteq V 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 sts-t minimum cut (T={s,t}T=\{s,t\}) and global minimum cut (T=VT=V) and is therefore a fundamental problem in graph algorithms.

The classical algorithm to solve minimum Steiner cut uses |T|1|T|-1 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 ϵ>0\epsilon>0, (logn)O(1/ϵ4)(\log n)^{O(1/\epsilon^{4})} max-flow calls with O(m1+ϵ)O(m^{1+\epsilon}) 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.,  O~(m)\tilde{O}(m). However, since minimum Steiner cut is at least as hard as sts-t minimum cut, traditionally solved through sts-t 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 sts-t max flow calls and near-linear additional processing time.

Theorem 1.1.

Given an undirected, weighted graph G=(V,E)G=(V,E) with nn vertices and mm edges, polynomially bounded edge weights, and a set of terminal vertices TVT\subseteq V, there is a deterministic minimum Steiner cut algorithm that makes polylog(n)\text{polylog}(n) maximum flow calls on undirected, weighted graphs with O(n)O(n) vertices and O(m)O(m) edges, and runs in O~(m)\tilde{O}(m) time outside of these maximum flow calls.

Specifically, a hypothetical deterministic near-linear time algorithm for sts-t 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 m1+ϵm^{1+\epsilon} running time in their deterministic algorithm. In fact, for the case of polylogarithmic maximum flow calls (ϵ=Ω(1)\epsilon=\Omega(1)), their algorithm has runtime m1+Ω(1)m^{1+\Omega(1)}, 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 ss-strong clusters used by recent minimum cut algorithms on simple graphs [5, 6]. However, recent work [4] has applied the concept of ss-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 G=(V,E)G=(V,E) with nn vertices and mm edges, polynomially bounded edge weights, a set of terminal vertices TVT\subseteq V, sparsity parameter 0<ψ<10<\psi<1, and cut size parameter δ>0\delta>0, there is a deterministic algorithm which returns a vertex partitioning of clusters V1,V2,,VV_{1},V_{2},...,V_{\ell} such that the following hold:

  1. 1.

    For every cluster, any cut with weight less than δ\delta splits the cluster with at most polylog(n) terminals on at least one side.

  2. 2.

    For every cluster, any cut with weight less than δ\delta either does not split the cluster or has at least δ/polylog(n)\geq\delta/\textup{polylog(n)} weight of cut edges inside the cluster.

  3. 3.

    The total weight of edges between clusters is at most O~(δ|T|)\tilde{O}(\delta\cdot|T|).

The algorithm makes O(log2n)O(\log^{2}n) maximum flow calls on undirected, weighted graphs with O(n)O(n) vertices and O(m)O(m) edges and runs in O~(m)\tilde{O}(m) time outside of these maximum flow calls.

Properties 1 and 3 together directly generalize the notion of ss-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 ss-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 SVS\subset V on graph G(V,E)G(V,E) as G[S]G[S].

2.1 Sparsity and Strength

Sparsity is a specific measure of how connected a graph is. For a cut (U,U¯)(U,\overline{U}), where U¯=VU\overline{U}=V\setminus U, we define U=U¯\partial U=\partial\overline{U} as the boundary of the cut, which is the set of edges between UU and U¯\overline{U}.

Definition 2.1 (Sparsity).

The sparsity of a cut (U,U¯)(U,\overline{U}) is defined as

Ψ(U)=w(U)min{|U|,|U¯|}=Ψ(U¯)\Psi(U)=\frac{w(\partial U)}{\min\{|U|,|\overline{U}|\}}=\Psi(\overline{U}) (1)

We also introduce the new definition of terminal-sparsity for Steiner cuts with the terminal set TT.

Definition 2.2 (Terminal-sparsity).

The terminal-sparsity of a cut (U,U¯)(U,\overline{U}) is defined as

ΨT(U)=w(U)min{|UT|,|U¯T|}=ΨT(U¯)\Psi_{T}(U)=\frac{w(\partial U)}{\min\{|U\cap T|,|\overline{U}\cap T|\}}=\Psi_{T}(\overline{U}) (2)

We use the terms ψ\psi-sparse and ψ\psi-terminal-sparse to refer to cuts with sparsity and terminal-sparsity <ψ<\psi, 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 UVU\subseteq V is ss-strong if every cut (C,C¯)(C,\overline{C}) of weight at most δ\delta satisfies min{vol(CU),vol(C¯U)}s\min\{\textbf{vol}(C\cap U),\textbf{vol}(\overline{C}\cap U)\}\leq s, where the volume vol(S)\textbf{vol}(S) is the sum of degrees of vertices in SS. In [6], the parameter δ\delta 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 ss-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 min{|CU|,|C¯U|}\min{\{|C\cap U|,|\overline{C}\cap U|\}} instead of volume, which is more handy when we start introducing terminals. Second, we can no longer choose δ\delta 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 SS, but instead, for technical reasons, we set δ\delta closer to the minimum Steiner cut λ\lambda itself. For now, we keep δ\delta as a free parameter and provide our ss-strong guarantees in terms of δ\delta. Finally, we need an additional requirement that if the cut (C,C¯)(C,\overline{C}) cuts any edges inside a cluster, then it must cut sufficiently many such edges, and we introduce another parameter γ\gamma to capture this condition.

Definition 2.3 ((s,δ,γ)(s,\delta,\gamma)-strength).

A vertex subset UVU\subseteq V (called a cluster) is (s,δ,γ)(s,\delta,\gamma)-strong in GG if every cut (C,C¯)(C,\overline{C}) of graph GG with at most weight δ\delta satisfies min{|CU|,|C¯U|}s\min{\{|C\cap U|,|\overline{C}\cap U|\}}\leq s, and moreover, if min{|CU|,|C¯U|}>0\min{\{|C\cap U|,|\overline{C}\cap U|\}}>0 then w(G[U]C)γδw(\partial_{G[U]}C)\geq\gamma\cdot\delta.

Next, we introduce the notion of (s,δ,γ)(s,\delta,\gamma)-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 ((s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strength).

A vertex subset UVU\subseteq V (called a cluster) is (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong in GG if every Steiner cut (C,C¯)(C,\overline{C}) of graph GG with at most weight δ\delta satisfies
min{|CUT|,|C¯UT|}s\min{\{|C\cap U\cap T|,|\overline{C}\cap U\cap T|\}}\leq s, and moreover, if |CUT|>0|C\cap U\cap T|>0 and |C¯UT|}>0|\overline{C}\cap U\cap T|\}>0, then w(G[U]C)γδw(\partial_{G[U]}C)\geq\gamma\cdot\delta.

For the rest of the paper, we sometimes omit the “in GG” and the terminal set TT from the definition whenever they are apparent from the context.

An important property of both (s,δ,0)(s,\delta,0)-strength and terminal strength is that the property is inherited by subgraphs, i.e.,  if G(V,E)G(V,E) is (s,δ,0)(s,\delta,0)-strong or terminal-strong, then G[A]G[A] is as well for all AVA\subseteq V. This property holds for ss-strength [6], and is straightforward to verify that the same is true for our (s,δ,0)(s,\delta,0)-strength definitions.

Lastly, we also define terminal-strong decompositions, which are analogous to ss-strong and expander decompositions, except that we split our graph into (s,δ,γ)(s,\delta,\gamma)-terminal-strong components as opposed to ss-strong sets and expanders, respectively.

Definition 2.5 ((s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong decomposition).

A set of disjoint vertex clusters V1,V2,,VV_{1},V_{2},...,V_{\ell} is an (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong decomposition if each cluster ViV_{i} is (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong, and if the total weight of edges between clusters is at most O~(δ|T|)\tilde{O}(\delta\cdot|T|).

Our primary new technical tool is a fast algorithm for computing an (s,δ,γ,T)(s,\delta,\gamma,T)-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) (s,δ,γ)(s,\delta,\gamma)-strong decomposition to devise an algorithm that finds an (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong decomposition through the cut-matching game framework of Khandekar, Rao, and Vazirani [8], which we outline in the following subsection.

Finally, given such a decomposition, we use the framework of [10], replacing their expander decomposition step with our (s,δ,γ)(s,\delta,\gamma)-strong decomposition. We leave the details to Section 5.

2.2 Cut-Matching Game

We start with an overview of the cut-matching game.

  1. 1.

    The cut player chooses a bisection (S,S¯)(S,\overline{S}) of the graph Ht1H_{t-1} based on a given strategy.

  2. 2.

    The matching player chooses a perfect matching of the bisection based on a given strategy.

  3. 3.

    The cut player adds the edges of the perfect matching to graph Ht1H_{t-1}, forming graph HtH_{t}.

The game continues until graph HtH_{t} 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 ((s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition) to one without terminals ((s,δ,γ)(s,\delta,\gamma)-strong decomposition). We then adapt the (s,δ,0)(s,\delta,0)-strong decomposition algorithm of [4] to obtain an (s,δ,γ)(s,\delta,\gamma)-strong decomposition for large enough γ\gamma.

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 GG deterministically in near-linear time (i.e., O~(m)\tilde{O}(m)) plus polylogarithmic maximum flow calls. Throughout, we assume that we have guessed the value of the Steiner mincut up to factor 22 (which we denote λ~\tilde{\lambda}) by, for example, guessing all powers of 22 (incorrect guesses may return an overestimate of the minimum Steiner cut, but we can take the minimum cut ever found at the end).

  1. 1.

    We use the “unbalanced case” of [10] to find the Steiner minimum cut (C,C¯)(C,\overline{C}) if min{|CT|,|C¯T|}polylog(n)\min\{|C\cap T|,|\overline{C}\cap T|\}\leq\textup{polylog}(n). This algorithm is described in Lemma C.1.

  2. 2.

    In the “balanced case”, we find an (s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition on the graph. To do this, we use the cut-matching game on a graph HH containing only the terminals of the original graph, with s=polylog(n)s=\textup{polylog}(n), δ=λ~\delta=\tilde{\lambda}, and γ=1/polylog(n)\gamma=1/\textup{polylog}(n). This algorithm is described in Algorithm 2 (Section 4). At a high level, we use a (non-terminal) (s,δ,γ)(s^{\prime},\delta^{\prime},\gamma^{\prime})-strong decomposition to find an (s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition for appropriate parameters s,δ,γ,s,δ,γs^{\prime},\delta^{\prime},\gamma^{\prime},s,\delta,\gamma.

  3. 3.

    Using our (s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition, we find a set TTT^{\prime}\subseteq T and |T||T|/2|T^{\prime}|\leq|T|/2 such that the minimum Steiner cut of GG with terminal set TT^{\prime} is the same as with terminal set TT. In this case, we recursively apply our minimum Steiner cut algorithm on graph GG with terminal set TT^{\prime} (Section 5).

1
Input : Undirected weighted graph GG, terminal set TVT\subseteq V, γ=1/polylog(n)\gamma=1/\textup{polylog}(n), k=polylog(n)k=\textup{polylog}(n)
2
3for i1i\leftarrow 1 to O(logn)O(\log n) do
4       UTU\leftarrow T
5      λ~2i\tilde{\lambda}\leftarrow 2^{i}
6      do
             Run algorithm from Unbalanced Case (Lemma C.1) with terminal set UU // Unbalanced Case
7            
8            Run Terminal-Decomp(V,U,λ~,γV,U,\tilde{\lambda},\gamma)
            Find sparsified set UUU^{\prime}\subset U // Theorem 5.2, Balanced Case
9            
10            UUU\leftarrow U^{\prime}
11      while |U|>k|U|>k;
12
return minimum weight Steiner cut over all iterations of Algorithm 1
Algorithm 1 Minimum-Steiner-Cut(G,TG,T)

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 logn\log n extra factor in runtime. Along with the additional logn\log n factor for guessing λ~\tilde{\lambda}, 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 VV is (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong in GG by iteratively constructing our cut-graph HH to be (s,O~(δ),γ)(s,\tilde{O}(\delta),\gamma)-strong. This may not always be possible, but throughout the cut-matching game, the algorithm may also verify that VV is (s,δ,γ,C)(s,\delta,\gamma,C)-terminal-strong for a subset CTC\subseteq T with |C|2|T|/3|C|\geq 2|T|/3. 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 HH. We then run a max-flow between the two terminal sets in GG, 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 HH. In the latter case, we immediately find a balanced terminal-sparse cut in GG, 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 (U,TU)(U,T\setminus U) 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 GG satisfies desirable properties.

Cut Player Strategy on current cut-graph HH Find an (s,δ,γ)(s,\delta,\gamma)-strong decomposition on cut graph HH If a cluster with size greater than 2|T|/32|T|/3 exists, we terminate the cut-matching game. We trim the cluster according to Algorithm 3 and certify the cluster UU as (s,δ,γ)(s,\delta,\gamma)-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 HH (this is always possible, see Claim 4.5). Denote the bipartition as (C,C¯)(C,\overline{C}).

Matching Player Description

The matching player’s goal is to add edges in the cut graph corresponding to the maximum possible flow in GG 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 CC of cut-graph HH We calculate a max-flow on graph GG between the terminals in CC and TCT\setminus C using Algorithm 3. If the flow has value at least |T|/6δψ|T|/6\cdot\delta\cdot\psi, we call the flow a “large flow”. Otherwise, the flow has value less than |T|/6δψ|T|/6\cdot\delta\cdot\psi, so we call the corresponding cut a “small cut”. If we find a large flow, we add a large matching into cut graph HH: we break down the flow into paths and add edges between vertices in graph HH 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 GG and parameters δ>0\delta>0, ψ=1/polylog(n)\psi=1/\textup{polylog}(n), Algorithm 2 runs in time O~(m)\tilde{O}(m) plus polylog(n)\textup{polylog}(n) calls to maximum flow, and outputs one of the following:

  1. 1.

    An (O(log9n/ψ5),δ,Ω(ψ5/log9n),T)(O(\log^{9}n/\psi^{5}),\delta,\Omega(\psi^{5}/\log^{9}n),T)-terminal-strong cluster UU with |UT||T|/3|U\cap T|\geq|T|/3 such that U¯\overline{U} is either empty or ψδ\psi\cdot\delta-terminal-sparse, or

  2. 2.

    A ψδ\psi\cdot\delta-terminal-sparse cut (U,U¯)(U,\overline{U}) with |UT|,|U¯T||T|/6|U\cap T|,|\overline{U}\cap T|\geq|T|/6

The correctness of the Cut Player strategy is shown in Subsection 4.1, matching player strategy in Subsection 4.2, and the termination within LmaxL_{\text{max}} rounds is proved in Subsection 4.3.

Input : Undirected weighted graph GG, terminal set TVT\subseteq V, decomposition parameters δ>0\delta>0 and ψ<1\psi<1.
Output : Either (1) a (ψδ)(\psi\cdot\delta)-terminal-sparse cut (U,U¯)(U,\overline{U}) with |UT|,|U¯T||T|/6|U\cap T|,|\overline{U}\cap T|\geq|T|/6, or(2) an (O~(ψ5),δ,Ω~(ψ5),T)(\tilde{O}(\psi^{-5}),\delta,\tilde{\Omega}(\psi^{5}),T)-terminal-strong cluster UU with |UT||T|/3|U\cap T|\geq|T|/3 such that U¯\overline{U} is either empty or (ψδ)(\psi\cdot\delta)-terminal-sparse
1
2Initialize cut graph: H=(T,)H=(T,\emptyset)
3Initialize unmatched terminal set: SS\leftarrow\emptyset
4Set parameters Lmax=O(log|T|)L_{\max}=O(\log|T|), α=Lmax/ψ\alpha=L_{\max}/\psi, s=O((Lmax/ψ)2log2n)s=O((L_{\max}/\psi)^{2}\log^{2}n), γ=1200αs\gamma=\frac{1}{200\alpha s}
5for t1t\leftarrow 1 to LmaxL_{\max} do
       // Cut Player Strategy
6       Partition TT into clusters that are (s,αδ,γ)(s,\alpha\delta,\gamma)-strong in HH. (Lemma 4.2)
7      if there exists cluster CC of size 2|T|/3\geq 2|T|/3 then
             // Trim Cluster
8             (f,(U,U¯))CutOrFlow(G,C,min{γ/2s,γ/6})(f,(U,\overline{U}))\leftarrow\textsc{CutOrFlow}(G,C,\min\{\gamma/2s,\gamma/6\})
9            return larger side UU with cut (U,U¯)(U,\overline{U}) if U¯\overline{U} is non-empty
10      
11      Combine clusters to create a bipartition (C,C¯)(C,\overline{C}) with |C||C¯||T|/3|C|\geq|\overline{C}|\geq|T|/3. (Claim 4.5)
      // Matching Player Strategy
12       (f,(U,U¯))CutOrFlow(G,C,ψ)(f,(U,\overline{U}))\leftarrow\textsc{CutOrFlow}(G,C,\psi)
13      if flow ff has value |T|/6δψ\geq|T|/6\cdot\delta\cdot\psi then
             // Large Flow
14             Decompose flow into (implicit) paths f1,f2,,fkf_{1},f_{2},...,f_{k} where kmk\leq m and each path connects exactly two terminals (t1,t2t_{1},t_{2}), one from each bipartition
15            For each i[k]i\in[k], add an edge (t1,t2)(t_{1},t_{2}) in HH whose weight is 1/ψ1/\psi times the capacity of path fif_{i} in GG
16       else
             // Terminal-Balanced Cut
17             return terminal-balanced cut (U,U¯)(U,\overline{U})
18      
// Game must terminate within LmaxL_{\max} rounds
Algorithm 2 Cut-Game(G,T,δ,ψG,T,\delta,\psi)

4.1 Cut Player

The lemma below for α=Lmax/ψ\alpha=L_{\max}/\psi shows that Algorithm 2 of Algorithm 2 can be computed efficiently. We apply the lemma on graph HH and vertex set TT.

Lemma 4.2.

Given any parameters δ>0\delta>0 and αpolylog(n)\alpha\leq\textup{polylog}(n) and a graph G=(V,E)G=(V,E) with total edge weight at most αδn\alpha\delta n, there exists sO(α2log2n)s\leq O(\alpha^{2}\log^{2}n) and γ=Ω(1/s)\gamma=\Omega(1/s) and an algorithm in O~(m)\tilde{O}(m) time that outputs a decomposition of VV into (s,αδ,γ)(s,\alpha\delta,\gamma)-strong clusters such that the total weight of inter-cluster edges is at most nδ/50n\delta/50.

The first step is to apply the following lemma to a slightly modified graph.

Lemma 4.3 ([4]).

Given a weighted graph G=(V,E,w)G=(V,E,w) and a parameter δ0\delta_{0} such that δ0minvVdeg(v)\delta_{0}\leq\min_{v\in V}\deg(v) and a parameter s0δ0polylog(n)s_{0}\leq\delta_{0}\textup{polylog}(n), there is an algorithm that runs in O~(m)\tilde{O}(m) time and partitions the vertex set VV into components V1,,VkV_{1},\ldots,V_{k} such that

  1. 1.

    For any cluster ViV_{i} and any cut (S,S¯)(S,\overline{S}) in GG of weight at most δ0\delta_{0}, we have min{vol(SVi),vol(S¯Vi)}s0\min\{\textbf{{vol}}(S\cap V_{i}),\textbf{{vol}}(\overline{S}\cap V_{i})\}\leq s_{0}. Here, vol(U)\textbf{{vol}}(U) is the sum of weighted degrees of vertices in UU.

  2. 2.

    The total weight of inter-cluster edges is at most an O(δ0logns0)O(\frac{\sqrt{\delta_{0}}\log n}{\sqrt{s_{0}}}) fraction of the total weight of edges.

Construct the graph G0G_{0} from GG as follows. For each vertex vVv\in V, add a new vertex vv^{\prime} with an edge to vv of weight αδ\alpha\delta. This new graph has minimum weighted degree αδ\alpha\delta. Apply the lemma above to G0G_{0} with parameters δ0=αδ\delta_{0}=\alpha\delta and s0=sαδs_{0}=s\alpha\delta. The total weight of inter-cluster edges is at most O(logns)αδnnδ/100O(\frac{\log n}{\sqrt{s}})\cdot\alpha\delta n\leq n\delta/100 for large enough s=O(α2log2n)s=O(\alpha^{2}\log^{2}n). Since G0G_{0} has minimum degree δ0\delta_{0}, the guarantee min{vol(SVi),vol(S¯Vi)}s0\min\{\textbf{{vol}}(S\cap V_{i}),\textbf{{vol}}(\overline{S}\cap V_{i})\}\leq s_{0} from property 1 implies that min{|SVi|,|S¯Vi|}s0/δ0=s\min\{|S\cap V_{i}|,|\overline{S}\cap V_{i}|\}\leq s_{0}/\delta_{0}=s. In other words, each ViV_{i} is (s,αδ,0)(s,\alpha\delta,0)-strong in G0G_{0}. Consider the partition in GG obtained by removing all new vertices vv^{\prime}. It is straightforward to see that this partition is also (s,αδ,0)(s,\alpha\delta,0)-strong in GG, and the total weight of inter-cluster edges is still at most nδ/100n\delta/100.

We now modify the partition so that each cluster is (s,αδ,γ)(s,\alpha\delta,\gamma)-strong by applying the lemma below to each ViV_{i}. The total weight of additional inter-cluster edges guaranteed by the lemma is at most i|Vi|δ/100nδ/100\sum_{i}|V_{i}|\delta/100\leq n\delta/100. Together with the inter-cluster edges from the first step, the total weight is at most nδ/12n\delta/12. It remains to prove the lemma below:

Lemma 4.4.

Let CC be an (s,αδ,0)(s,\alpha\delta,0)-strong cluster in GG and let γ=1200αs\gamma=\frac{1}{200\alpha s}. There is an algorithm in O~(|E(G[C])|)\tilde{O}(|E(G[C])|) time that partitions CC into (s,αδ,γ)(s,\alpha\delta,\gamma)-strong clusters such that the total weight of inter-cluster edges is at most |C|δ/100|C|\delta/100.

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 2|T|/32|T|/3. Then, there exists a bipartition of clusters such that each group of clusters has a total size in the range [|T|/3,2|T|/3][|T|/3,2|T|/3], and this bipartition can be computed in nearly linear time.

Proof.

We can split our proof into two cases:

  1. 1.

    There exists a cluster with size [|T|/3,2|T|/3]\in[|T|/3,2|T|/3]:

    We make that cluster its own group and all remaining clusters the second group.

  2. 2.

    All clusters have size less than |T|/3|T|/3:

    Enumerate the clusters in an arbitrary order, and consider the shortest prefix of clusters whose total size exceeds |T|/3|T|/3. The prefix without its last cluster has total size less than |T|/3|T|/3, and this last cluster of the prefix has size less than |T|/3|T|/3, so this prefix has size in [|T|/3,2|T|/3][|T|/3,2|T|/3]. ∎

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.

Input : Undirected weighted graph G=(V,E)G=(V,E) and a set of terminals STS\subseteq T
1
2GGG^{\prime}\leftarrow G
3Add sink node tt to GG^{\prime} with edges from all terminals in TST\setminus S with capacity δκ\delta\cdot\kappa. Add source node ss to GG^{\prime} with edges to all terminals in SS with capacity δκ\delta\cdot\kappa.
4Compute sts-t max-flow ff^{\prime} and sts-t min-cut (U,U¯)(U^{\prime},\overline{U^{\prime}}) in GG^{\prime}
5Let ff be the flow ff^{\prime} with vertices s,ts,t removed from every path
6Let cut (U,U¯)(U,\overline{U}) in GG be (Us,U¯t)(U^{\prime}\setminus s,\overline{U^{\prime}}\setminus t)
7return flow ff and cut (U,U¯)(U,\overline{U})
Algorithm 3 CutOrFlow(G,S,κG,S,\kappa)
Lemma 4.6.

If Algorithm 3 returns a valid cut (U,U¯)(U,\overline{U}), then it is δκ\delta\cdot\kappa-terminal sparse in GG.

Proof.

Without loss of generality, assume that UU contains at most as many terminals as VUV\setminus U. Consider the difference between the edges of U\partial U^{\prime} and the edges of the cut ({s})\partial(\{s\}), which cuts all edges adjacent to ss. The edges in U({s,t})\partial U^{\prime}\setminus\partial(\{s,t\}) are precisely the edges of U\partial U^{\prime} originally within GG, and the edges in ({s})U\partial(\{s\})\setminus\partial U^{\prime} are precisely the edges between ss and UTU\cap T. Since U\partial U^{\prime} is an sts-t min-cut, we have w(U({s,t}))w(({s})U)w(\partial U^{\prime}\setminus\partial(\{s,t\}))\leq w(\partial(\{s\})\setminus\partial U^{\prime}), which is equivalent to wG(U)|UT|δκw_{G}(\partial U)\leq|U\cap T|\cdot\delta\cdot\kappa. A symmetric argument yields wG(U)|U¯T|δκw_{G}(\partial U)\leq|\overline{U}\cap T|\cdot\delta\cdot\kappa, and combining the two proves the lemma. ∎

Refer to caption
Figure 1: Construction of Algorithm 3. Blue vertices and edges are added to the original graph GG and red vertices mark terminals.

Lemma 4.6 proves the sparsity guarantees of Lemma 4.1, as the algorithm sets either sets κψ\kappa\leftarrow\psi or κmin{γ/2s,γ/6})ψ\kappa\leftarrow\min\{\gamma/2s,\gamma/6\})\ll\psi in every CutOrFlow call. Thus, every cut returned is always ψδ\psi\cdot\delta-terminal sparse in GG.

Lemma 4.7.

If |S|,|TS||T|/3|S|,|T\setminus S|\geq|T|/3 and flow ff has value less than |T|/6δκ|T|/6\cdot\delta\cdot\kappa, then the cut (U,U¯)(U,\overline{U}) satisfies |U|,|U¯||T|/6|U|,|\overline{U}|\geq|T|/6.

Proof.

In graph GG^{\prime}, the value of flow ff^{\prime} and cut (U,U¯)(U^{\prime},\overline{U^{\prime}}) are equal by flow-cut duality. In particular, cut (U,U¯)(U^{\prime},\overline{U^{\prime}}) has weight less than |T|/6δκ|T|/6\cdot\delta\cdot\kappa. Since ss has edges to SU¯S\cap\overline{U^{\prime}} that cross the cut, and since tt has edges from (TS)U(T\setminus S)\cap U^{\prime} that cross the cut, we have |SU¯|,|(TS)U||T|/6|S\cap\overline{U^{\prime}}|,|(T\setminus S)\cap U^{\prime}|\leq|T|/6. Since |S|,|TS||T|/3|S|,|T\setminus S|\geq|T|/3, it follows that |SU|=|S||SU¯||T|/6|S\cap U^{\prime}|=|S|-|S\cap\overline{U^{\prime}}|\geq|T|/6 and |(TS)U¯|=|TS||(TS)U||T|/6|(T\setminus S)\cap\overline{U^{\prime}}|=|T\setminus S|-|(T\setminus S)\cap U^{\prime}|\geq|T|/6. In particular, |U|,|U¯||T|/6|U|,|\overline{U}|\geq|T|/6. ∎

4.2.1 Trimming

In Algorithm 2 of Algorithm 2, we begin with a subset CTC\subseteq T of size at least 2|T|/32|T|/3 such that VV is (s,δ,γ,C)(s,\delta,\gamma,C)-terminal-strong in GG. Our next goal is to find a cluster UU that is a (O(s/γ),δ,Ω(γ/s))(O(s/\gamma),\delta,\Omega(\gamma/s))-terminal strong with |UT||T|/3|U\cap T|\geq|T|/3. This allows us to only recurse on U¯\overline{U}, which satisfies |U¯T|2|T|/3|\overline{U}\cap T|\leq 2|T|/3, 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 SS is (s,(Lmax/ψ)δ,γ)(s,(L_{\max}/\psi)\delta,\gamma)-strong in the cut graph HH, then VV is (s,δ,γ,S)(s,\delta,\gamma,S)-terminal-strong in GG.

Proof.

By construction, each edge (u,v)(u,v) of weight ww in the cut graph HH certifies the existence of a flow of capacity 1/ψw1/\psi\cdot w in the original graph GG. Since we run the cut-game for at most LmaxL_{\max} rounds, we can simultaneously route flows between terminals uu and vv of weight 1/ψw(u,v)1/\psi\cdot w(u,v) for all edges (u,v)EH(u,v)\in E_{H} with capacities scaled by at most LmaxL_{\max} in graph GG. Equivalently, scaling everything by 1/ψ1/\psi, we can simultaneously route flows between terminals uu and vv of weight w(u,v)w(u,v) for all edges (u,v)EH(u,v)\in E_{H} with capacities scaled by at most Lmax1/ψL_{\max}\cdot 1/\psi in graph GG.

We proceed with two cases. First, assume for contradiction that there exists a Steiner cut (C,C¯)(C,\overline{C}) of graph GG with at most weight δ\delta which satisfies min{|CS|,|C¯S|}>s\min\{|C\cap S|,|\overline{C}\cap S|\}>s. Consider cut (CT,C¯T)(C\cap T,\overline{C}\cap T) in cut graph HH. Since CSCTC\cap S\subseteq C\cap T and C¯SC¯T\overline{C}\cap S\subseteq\overline{C}\cap T, we have

min{|(CT)S|,|(C¯T)S|}min{|CS|,|C¯S|}>s.\min\{|(C\cap T)\cap S|,|(\overline{C}\cap T)\cap S|\}\geq\min\{|C\cap S|,|\overline{C}\cap S|\}>s. (3)

The weight of cut (CT,C¯T)(C\cap T,\overline{C}\cap T) in HH is at most a Lmax1/ψL_{\max}\cdot 1/\psi factor greater than the amount of (scaled) flow able to be routed over cut (C,C¯)(C,\overline{C}) in graph GG. In other words, wH(CT,C¯T)(Lmax1/ψ)δw_{H}(C\cap T,\overline{C}\cap T)\leq(L_{\text{max}}\cdot 1/\psi)\delta. This contradicts the assumption that SS is an (s,(Lmax/ψ)δ,γ)(s,(L_{\max}/\psi)\delta,\gamma)-strong cluster in the cut graph.

For the second case, assume for contradiction that there exists a cut (C,C¯)(C,\overline{C}) of graph GG with at most weight δ\delta which satisfies w(GC)<γδw(\partial_{G}C)<\gamma\cdot\delta and min{|CS|,|C¯S|}>0\min\{|C\cap S|,|\overline{C}\cap S|\}>0. Similar to above, the weight of cut (CT,C¯T)(C\cap T,\overline{C}\cap T) in HH is at most a Lmax1/ψL_{\text{max}}\cdot 1/\psi factor larger than cut (C,C¯)(C,\overline{C}) in graph GG. Since min{|CS|,|C¯S|}>0\min\{|C\cap S|,|\overline{C}\cap S|\}>0, H[S]C\partial_{H[S]}C is an actual cut of H[S]H[S], and H[S]CHC<γ(Lmax/ψ)δ\partial_{H[S]}C\leq\partial_{H}C<\gamma\cdot(L_{\max}/\psi)\delta, contradicting the assumption that SS is (s,(Lmax/ψ)δ,γ)(s,(L_{\max}/\psi)\delta,\gamma)-strong in HH. ∎

Now, we introduce the section’s main theorem, which shows that the cluster U¯\overline{U} is terminal-strong and contains a large fraction of terminals.

Theorem 4.9.

If VV is (s,δ,γ,S)(s,\delta,\gamma,S)-terminal-strong in GG and |S|2|T|/3|S|\geq 2|T|/3, the cut (U,U¯)(U,\overline{U}) returned by Algorithm 3 with parameter κ=min{γ/(2s),γ/6}\kappa=\min\{\gamma/(2s),\gamma/6\} satisfies the property that UU is (max{2/κ+s,3s},δ,κ,UT)(\max\{2/\kappa+s,3s\},\delta,\kappa,U\cap T)-terminal strong in GG and |UT||T|/3|U\cap T|\geq|T|/3.

We split our proof into two cases, when the cut U=VU=V, and all other cuts.

Case 1: U=VU=V.

Here, we will only use the bound κγ\kappa\leq\gamma. This fact will be important later in the proof.

By flow-cut duality, the flow ff in GG^{\prime} sends full capacity along each edge into tt. In particular, the value of the flow is equal to |TS|δκ|T\setminus S|\cdot\delta\cdot\kappa. This case clearly satisfies |UT|=|T||T|/3|U\cap T|=|T|\geq|T|/3.

We now show that in this case UU is (max{2/κ+s,3s},δ,κ,UT)(\max\{2/\kappa+s,3s\},\delta,\kappa,U\cap T)-terminal strong. Consider an arbitrary Steiner cut (C,C¯)(C,\overline{C}) in GG of size <δ<\delta. Suppose first that min{|CS|,|C¯S|}=0\min\{|C\cap S|,|\overline{C}\cap S|\}=0, and assume without loss of generality that CS=C\cap S=\emptyset. Each terminal in C(TS)C\cap(T\setminus S) sends full capacity into tt in the flow ff, so at least |C(TS)|δκ|C\cap(T\setminus S)|\cdot\delta\cdot\kappa flow must cross the cut CC. Since w(C)<δw(\partial C)<\delta, we obtain |C(TS)|δκ<δ|C\cap(T\setminus S)|\cdot\delta\cdot\kappa<\delta, so |CT|=|C(TS)|<1/κ|C\cap T|=|C\cap(T\setminus S)|<1/\kappa. Additionally since |C(TS)|1|C\cap(T\setminus S)|\geq 1, we have the total flow being at least κδ\kappa\cdot\delta, and therefore the cut is at least this size as well.

Suppose now that min{|CS|,|C¯S|}>0\min\{|C\cap S|,|\overline{C}\cap S|\}>0. From Lemma 4.8, we know that min{|CS|,|C¯S|}s\min\{|C\cap S|,|\overline{C}\cap S|\}\leq s and w(C)γδκδw(\partial C)\geq\gamma\cdot\delta\geq\kappa\cdot\delta. Assume without loss of generality that |CS||C¯S||C\cap S|\leq|\overline{C}\cap S|. We consider two cases:

  1. 1.

    Case 1a: |C(TS)|2|CS||C\cap(T\setminus S)|\geq 2|C\cap S|.

    Recall that the sts-t flow ff has value |TS|δκ|T\setminus S|\cdot\delta\cdot\kappa in graph GG^{\prime}. In this flow, at most |CS|δκ|C\cap S|\cdot\delta\cdot\kappa of the flow initially routed into C(TS)C\cap(T\setminus S) from ss can reach tt without crossing cut CC. The remaining flow must therefore cross cut CC. Therefore we have

    δ>w(C)(|C(TS)||CS|)δκ|C(TS)|/2δκ.\delta>w(\partial C)\geq(|C\cap(T\setminus S)|-|C\cap S|)\cdot\delta\cdot\kappa\geq|C\cap(T\setminus S)|/2\cdot\delta\cdot\kappa. (4)

    Therefore |C(TS)|<2/κ|C\cap(T\setminus S)|<2/\kappa, and thus |CT|=|C(TS)|+|CS|<2/κ+s|C\cap T|=|C\cap(T\setminus S)|+|C\cap S|<2/\kappa+s.

  2. 2.

    Case 1b: |C(TS)|<2|CS||C\cap(T\setminus S)|<2|C\cap S|.

    We have |C(TS)|<2|CS|2s|C\cap(T\setminus S)|<2|C\cap S|\leq 2s, so |CT|=|C(TS)|+|CS|3s|C\cap T|=|C\cap(T\setminus S)|+|C\cap S|\leq 3s.

This completes the proof of case 1 of Theorem 4.9 when U=VU=V.

Case 2: UVU\subsetneq V.

We begin by showing |UT||T|/3|U\cap T|\geq|T|/3. If this was not the case, since we assume |S|2|T|/3|S|\geq 2|T|/3, more than |T|/3|T|/3 terminals in SS would be in U¯\overline{U}. All of these terminals would have an edge of size δκ\delta\cdot\kappa crossing the cut GU\partial_{G^{\prime}}U. However, the sts-t cut GU\partial_{G^{\prime}}U must have size at most |TS|δκ|T\setminus S|\cdot\delta\cdot\kappa in graph GG^{\prime}. Since |TS||T|/3|T\setminus S|\leq|T|/3, we arrive at a contradiction.

Now we prove the terminal-strong property of G[U]G[U]. We start by proving the following lemma:

Lemma 4.10.

Assume that VV is (s,δ,γ,S)(s,\delta,\gamma,S)-terminal-strong in GG. Then UU is (s,δ,γ/6,SU)(s,\delta,\gamma/6,S\cap U)-terminal-strong in GG.

Proof.

Note that the condition min{|CUS|,|C¯US|}s\min\{|C\cap U\cap S|,|\overline{C}\cap U\cap S|\}\leq s follows immediately from min{|CS|,|C¯S|}s\min\{|C\cap S|,|\overline{C}\cap S|\}\leq s since GG is (s,δ,γ,S)(s,\delta,\gamma,S)-terminal-strong. So it suffices to prove that for all Steiner cuts (C,C¯)(C,\overline{C}) such that Cδ\partial C\leq\delta, we have w(E(CU,C¯U))γ/6δw(E(C\cap U,\overline{C}\cap U))\geq\gamma/6\cdot\delta if min{|CUS|,|C¯US|}>0\min\{|C\cap U\cap S|,|\overline{C}\cap U\cap S|\}>0.

By flow-cut duality, the flow ff saturates the entire boundary E(U,U¯)E(U,\overline{U}). Assume for contradiction there exists a Steiner cut (C,C¯)(C,\overline{C}) such that Cδ\partial C\leq\delta, w(E(CU,C¯U))<γ/6δw(E(C\cap U,\overline{C}\cap U))<\gamma/6\cdot\delta, and min{|CUS|,|C¯US|}>0\min\{|C\cap U\cap S|,|\overline{C}\cap U\cap S|\}>0. As mentioned before, we know that min{|CUS|,|C¯US|}s\min\{|C\cap U\cap S|,|\overline{C}\cap U\cap S|\}\leq s, so assume without loss of generality that |CUS|s|C\cap U\cap S|\leq s. We also have w((CU))=w(E(CU,C¯U))+w(E(CU,VU))γδw(\partial(C\cap U))=w(E(C\cap U,\overline{C}\cap U))+w(E(C\cap U,V\setminus U))\geq\gamma\cdot\delta since GG is (s,δ,γ,S)(s,\delta,\gamma,S)-terminal-strong. This implies w(E(CU,VU))>5γ/6δw(E(C\cap U,V\setminus U))>5\gamma/6\cdot\delta. The flow ff sends >5γ/6δ>5\gamma/6\cdot\delta flow from CUC\cap U to VUV\setminus U, and only <γ/6δ<\gamma/6\cdot\delta flow can enter CUC\cap U from C¯U\overline{C}\cap U. Therefore >2γ/3δ>2\gamma/3\cdot\delta flow must be routed from the source node ss into CUC\cap U. But this flow is upper bounded by |CUS|δκsδγ/(2s)γ/2δ<2γ/3δ|C\cap U\cap S|\cdot\delta\cdot\kappa\leq s\cdot\delta\cdot\gamma/(2s)\leq\gamma/2\cdot\delta<2\gamma/3\cdot\delta (using our assumption κγ/(2s)\kappa\leq\gamma/(2s) from Theorem 4.9), and we arrive at our contradiction. ∎

Next, we show that |SU|2|TU|/3|S\cap U|\geq 2|T\cap U|/3. For each terminal from SS in VUV\setminus U and each terminal from TST\setminus S in UU, there exists an edge of weight δ1/κ\delta\cdot 1/\kappa crossing U\partial U in GG^{\prime}. Denote |S(VU)|=a|S\cap(V\setminus U)|=a and |(TS)U|=b|(T\setminus S)\cap U|=b. Since the cut (U,U¯)(U,\overline{U}) has weight <|TS|δκ|T|/3δκ<|T\setminus S|\cdot\delta\cdot\kappa\leq|T|/3\cdot\delta\cdot\kappa, we have a+b<|T|/3a+b<|T|/3. Additionally |S|2|T|/3|S|\geq 2|T|/3, so

|(TS)U||SU|=b|S|aa+b|S|<|T|/32|T|/31/2,\frac{|(T\setminus S)\cap U|}{|S\cap U|}=\frac{b}{|S|-a}\leq\frac{a+b}{|S|}<\frac{|T|/3}{2|T|/3}\leq 1/2, (5)

proving the requirement as desired.

At this point, we can apply the U=VU=V case on G[U]G[U], since we have shown that G[U]G[U] is (s,δ,γ/6,SU)(s,\delta,\gamma/6,S\cap U)-terminal-strong and |SU|2|TU|/3|S\cap U|\geq 2|T\cap U|/3, and the U=VU=V case only requires that κγ/6\kappa\leq\gamma/6. This completes the proof of case 2 of Theorem 4.9 when UVU\subsetneq V.

4.2.2 Final Parameters

Finally, we plug in our parameters Lmax=O(log|T|)L_{\max}=O(\log|T|), α=Lmax/ψ\alpha=L_{\max}/\psi, s=O((Lmax/ψ)2log2n)s=O((L_{\max}/\psi)^{2}\log^{2}n) =O(log4n/ψ2)=O(\log^{4}n/\psi^{2}), and γ=1200αs=Ω(ψ3/log5n)\gamma=\frac{1}{200\alpha s}=\Omega(\psi^{3}/\log^{5}n) in Algorithm 2. We have κ=Ω(γ/s)=Ω(ψ5/log9n)\kappa=\Omega(\gamma/s)=\Omega(\psi^{5}/\log^{9}n), so the (max{2/κ+s,3s},δ,κ,UT)(\max\{2/\kappa+s,3s\},\delta,\kappa,U\cap T)-terminal strong cluster UU output by Algorithm 2 is
(O(log9n/ψ5),δ,Ω(ψ5/log9n))(O(\log^{9}n/\psi^{5}),\delta,\Omega(\psi^{5}/\log^{9}n))-terminal-strong, fulfilling the output guarantee of Algorithm 2.

4.3 Termination

To show that the cut-matching game terminates within LmaxL_{\max} rounds, we introduce the following guarantee of the cut-matching game analysis.

Lemma 4.11.

For large enough Lmax=O(log|T|)L_{\max}=O(\log|T|), Algorithm 2 proceeds for at most LmaxL_{\max} 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.

1
Input : Cluster CVC\subseteq V, terminal set TVT\subseteq V, decomposition parameters δ,ψ\delta,\psi
2
3Run Cut-Game(G[C],T,δ,ψG[C],T,\delta,\psi)
4if G[C]G[C] is certified as a terminal-strong cluster then
5       return G[C]G[C]
6 else if Cut-Game returns balanced cut (U,U¯)(U,\overline{U}) with terminal-sparsity ψδ\psi\cdot\delta then
7       return Terminal-Decomp(U,UT,δ,ψ)Terminal-Decomp(U¯,U¯T,δ,ψ)\textsc{Terminal-Decomp}(U,U\cap T,\delta,\psi)\cup\textsc{Terminal-Decomp}(\overline{U},\overline{U}\cap T,\delta,\psi)
8 else
       // Larger side G[U]G[U] is certified as an (s,δ,γ)(s,\delta,\gamma)-terminal-strong cluster
9       return G[U]Terminal-Decomp(U¯,U¯T,δ,ψ)G[U]\cup\textsc{Terminal-Decomp}(\overline{U},\overline{U}\cap T,\delta,\psi)
Algorithm 4 Terminal-Decomp(C,T,δ,ψC,T,\delta,\psi)

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 Ω(1)\Omega(1) terminals (from Lemma 4.1), we have at most O(logn)O(\log n) recursive levels. We now prove the formal theorems for our terminal decomposition.

Theorem 4.12.

Algorithm 4 runs with O(log2n)O(\log^{2}n) max-flows and O~(m)\tilde{O}(m) 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 O(m)O(m) edges. Additionally, each round of the cut-matching game uses at most a single max-flow call (in CutOrFlow). With a total of Lmax=O(logn)L_{\text{max}}=O(\log n) cut-matching game rounds and O(logn)O(\log n) recursive levels, the entire terminal decomposition runs in O(log2n)O(\log^{2}n) max-flows.

All other cut-matching game procedures (specifically the (s,δ,γ)(s,\delta,\gamma)-strong decomposition of Lemma 4.2) run in near-linear time. With O(logn)O(\log n) recursive levels, the entire algorithm runs in near-linear time, excluding max-flows. ∎

Theorem 4.13.

Algorithm 4 returns a (O~(1/ψ5),δ,Ω~(ψ5),T)(\tilde{O}(1/\psi^{5}),\delta,\tilde{\Omega}(\psi^{5}),T)-terminal-strong decomposition of GG.

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 O(ψδ|T|log|T|)O(\psi\cdot\delta\cdot|T|\log|T|).

Proof.

Every cut made by Algorithm 4 is ψδ\psi\cdot\delta terminal-sparse due to Lemma 4.6. We can charge ψδ\psi\cdot\delta weight to each terminal on the smaller side of the cut. Since there are at most log|T|\log|T| recursive levels and each cluster gets only one cut per recursive level, each terminal gets charged at most log|T|\log|T| times. Summing up the weights charged to each terminal gives us a total edge weight of O(ψδ|T|log|T|)O(\psi\cdot\delta\cdot|T|\log|T|). ∎

From Lemma 4.1, every cluster returned is certified to be (O(log9n/ψ5),δ,Ω(ψ5/log9n),T)(O(\log^{9}n/\psi^{5}),\delta,\Omega(\psi^{5}/\log^{9}n),T)-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 (kk-unbalanced, kk-balanced).

A subset of vertices UVU\subseteq V is considered kk-unbalanced if there exists a minimum Steiner cut SS such that min{|SU|,|S¯U|}k\min\{|S\cap U|,|\bar{S}\cap U|\}\leq k. UU is considered kk-balanced with witness (S,S¯)(S,\bar{S}) if there exists a minimum Steiner cut SS such that min{|SU|,|S¯U|}>k\min\{|S\cap U|,|\bar{S}\cap U|\}>k.

Our main result of the section is as follows:

Theorem 5.2.

There exists a deterministic algorithm which given an undirected weighted graph G=(V,E)G=(V,E), an (s,δ,γ,T)(s,\delta,\gamma,T)-terminal-strong decomposition G={V1,V2,,V}G^{\prime}=\{V_{1},V_{2},...,V_{\ell}\}, a parameter kClogCnk\leftarrow C\log^{C}n for some large enough constant C>0C>0, and a subset of terminals UTU\subseteq T, does the following:

  1. 1.

    If UU is kk-unbalanced, we return the minimum Steiner cut of GG with polylogarithmic maximum flow calls and near-linear additional runtime.

  2. 2.

    If UU is kk-balanced with witness (S1,S2)(S_{1},S_{2}), we return a subset UUU^{\prime}\subset U such that |U||U|/2|U^{\prime}|\leq|U|/2 and SiUS_{i}\cap U^{\prime}\neq\emptyset for both i=1,2i=1,2.

We leave the full proof details to Appendix C.

After computing the sparsified set UUU\leftarrow U^{\prime} in the balanced case, we can recursively run our minimum Steiner cut algorithm on graph GG and terminal set TUT\leftarrow U. Since the size of UU at least halves each time we sparsify, this only needs to be done at most logn\log n times.

Also, since we never know which case we are specifically in (balanced or unbalanced) in Theorem 5.2, we run both cases until UU must be guaranteed to be kk-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 sts-t max-flow algorithm would imply a deterministic near-linear time algorithm for minimum Steiner cut.

Our main contribution is the (s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition. We are able to do this deterministically in polylogarithmic max flows and near-linear additional time for small δ\delta, which is not yet known for standard expander decompositions. We also believe that (s,δ,γ)(s,\delta,\gamma)-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 HG[C]H\leftarrow G[C] and iteratively executes the following two steps in arbitrary order whenever possible.

  1. 1.

    Contract two vertices with at least γαδ\gamma\alpha\delta total weight of edges between them.

  2. 2.

    Remove a vertex vv with weighted degree at most δ/100\delta/100 in HH.

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 CC that were contracted to that vertex, and add a new output cluster consisting of those vertices. If HH is non-empty at the end of the iterative algorithm, add another cluster consisting of all vertices in CC that were contracted to a vertex in HH. By construction, the resulting clusters partition CC. By dynamically maintaining appropriate structures, the algorithm can be implemented in O~(|E(G[C])|)\tilde{O}(|E(G[C])|) time.

The bound on the weight of inter-cluster edges follows from the fact that we remove at most |C||C| many vertices in the algorithm, and each removal adds at most δ/100\delta/100 to the total weight of inter-cluster edges.

Since each cluster CiC_{i} is a subset of (s,αδ,0)(s,\alpha\delta,0)-strong cluster CC, cluster CiC_{i} is also (s,αδ,0)(s,\alpha\delta,0)-strong. It remains to show that CiC_{i} is (s,αδ,γ)(s,\alpha\delta,\gamma)-strong. That is, given a cut (S,S¯)(S,\overline{S}) in GG with w(S,S¯)αδw(S,\overline{S})\leq\alpha\delta, SCiS\cap C_{i}\neq\emptyset, and S¯Ci\overline{S}\cap C_{i}\neq\emptyset, we have G[Ci](SCi)γαδ\partial_{G[C_{i}]}(S\cap C_{i})\geq\gamma\alpha\delta.

First, take a set CiC_{i} consisting of all vertices contracted to some vertex vv. Color the vertices in SCiS\cap C_{i} black and the vertices in S¯Ci\overline{S}\cap C_{i} white, and consider the contraction process starting from the set CiC_{i} and ending at vv, where each step contracts an edge between two vertices in the set with weight at least γαδ\gamma\alpha\delta. 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 G[Ci](SCi)\partial_{G[C_{i}]}(S\cap C_{i}), and we contract edges of total weight at least γαδ\gamma\alpha\delta. It follows that G[Ci](SCi)γαδ\partial_{G[C_{i}]}(S\cap C_{i})\geq\gamma\alpha\delta.

Now take the set CiC_{i} consisting of all vertices in CC that were contracted to a vertex in HH, if it is non-empty. Since CiC_{i} is (s,αδ,0)(s,\alpha\delta,0)-strong, we have min{|SCi|,|S¯Ci|}s\min\{|S\cap C_{i}|,|\overline{S}\cap C_{i}|\}\leq s, and assume without loss of generality that |SCi|s|S\cap C_{i}|\leq s. Color the vertices in SCiS\cap C_{i} black and the vertices in S¯Ci\overline{S}\cap C_{i} white, and consider the contraction process again. If we contract an edge with differently colored endpoints, then G[Ci](SCi)γαδ\partial_{G[C_{i}]}(S\cap C_{i})\geq\gamma\alpha\delta as before. So suppose that never happens. At the end, let BB be the set of black vertices, which satisfies HB=G[Ci](SCi)\partial_{H}B=\partial_{G[C_{i}]}(S\cap C_{i}) by construction. Also, |B||SCi|s|B|\leq|S\cap C_{i}|\leq s since the number of black vertices can only decrease over time. Since there are no more vertex deletions, each vertex in BB has weighted degree at least δ/100\delta/100 in HH. Since there are no more edge contractions, the total weight of edges between black vertices is at most γαδ(|B|2)\gamma\alpha\delta\binom{|B|}{2}.

Suppose for contradiction that G[Ci](SCi)<γαδ\partial_{G[C_{i}]}(S\cap C_{i})<\gamma\alpha\delta, which means that

|B|δ/100volH(B)\displaystyle|B|\delta/100\leq\textbf{{vol}}_{H}(B) =2w(E(H[B]))+HB\displaystyle=2w(E(H[B]))+\partial_{H}B
=2w(E(H[B]))+G[Ci](SCi)\displaystyle=2w(E(H[B]))+\partial_{G[C_{i}]}(S\cap C_{i})
<2γαδ(|B|2)+γαδγαδ|B|2+γαδ.\displaystyle<2\cdot\gamma\alpha\delta\binom{|B|}{2}+\gamma\alpha\delta\leq\gamma\alpha\delta|B|^{2}+\gamma\alpha\delta.

This quadratic solves to |B|[,r]|B|\in\mathbb{N}\setminus[\ell,r] for some interval [,r][\ell,r]. It suffices to show that 1\ell\leq 1 and rsr\geq s, which would imply that |B|>s|B|>s, a contradiction. To show this claim, we simply show that the inequality fails for |B|=1|B|=1 and |B|=s|B|=s. For |B|=1|B|=1, we obtain δ/100<2γαδ\delta/100<2\gamma\alpha\delta which is false since γ1200α\gamma\leq\frac{1}{200\alpha}. For |B|=s|B|=s, we obtain sδ/100<γαδs2+γαδs\delta/100<\gamma\alpha\delta s^{2}+\gamma\alpha\delta which is false since γss2+11100α\gamma\leq\frac{s}{s^{2}+1}\cdot\frac{1}{100\alpha}. It follows that there is no cut (S,S¯)(S,\overline{S}) in GG with w(S,S¯)αδw(S,\overline{S})\leq\alpha\delta, SCiS\cap C_{i}\neq\emptyset, S¯Ci\overline{S}\cap C_{i}\neq\emptyset, and G[Ci](SCi)<γαδ\partial_{G[C_{i}]}(S\cap C_{i})<\gamma\alpha\delta.

Finally, we show that we can dynamically execute steps (1) and (2) in O~(|E(G[C])|)\tilde{O}(|E(G[C])|) 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 O(|E(G[C])|)O(|E(G[C])|) total updates overall. Suppose now that two vertices uu and vv are contracted, where uu has at most as many incident edges as vv (which can be checked by querying their maintained number of incident edges). We remove the contracted edges between uu and vv, and for all remaining edges incident to uu, replace the endpoint uu by vv. This successfully implements step (2) with the contracted vertex labeled vv. We now show that the total number of such edge updates is at most 2mlog2m2m\log 2m where m=|E(G[C])|m=|E(G[C])|. For each vertex vv, let nvn_{v} be the current number of incident edges. Define the potential function

v:nv>0nvln2mnv,\sum_{v\,:\,n_{v}>0}n_{v}\ln\frac{2m}{n_{v}},

which is at most 2mlog2m2m\log 2m initially since vnv=2m\sum_{v}n_{v}=2m. The function nvln2mnvn_{v}\ln\frac{2m}{n_{v}} is increasing in nvn_{v} in the range nv[1,m]n_{v}\in[1,m], which can be verified by taking the derivative:

ddnvnvln2mnv=ddnvnv(ln2mlnnv)=ln2m(1+lnnv)=lnmnv>0.\frac{d}{dn_{v}}n_{v}\ln\frac{2m}{n_{v}}=\frac{d}{dn_{v}}n_{v}(\ln 2m-\ln n_{v})=\ln 2m-(1+\ln n_{v})=\ln\frac{m}{n_{v}}>0.

Since removing vertices can only decrease nvn_{v}, doing so can only decrease the potential. Suppose now that two vertices uu and vv are contracted with nunvn_{u}\leq n_{v}. After removing the contracted edges between uu and vv, the values nun_{u} and nvn_{v} decrease by the same amount, so nunvn_{u}\leq n_{v} still. In the contraction step, we update the nun_{u} edges incident to uu, and the nuln2mnun_{u}\ln\frac{2m}{n_{u}} and nvln2mnvn_{v}\ln\frac{2m}{n_{v}} terms in the potential function become a single (nu+nv)ln2mnu+nv(n_{u}+n_{v})\ln\frac{2m}{n_{u}+n_{v}}. The net difference is

nuln2mnu+nvln2mnv(nu+nv)ln2mnu+nv\displaystyle n_{u}\ln\frac{2m}{n_{u}}+n_{v}\ln\frac{2m}{n_{v}}-(n_{u}+n_{v})\ln\frac{2m}{n_{u}+n_{v}} nu(ln2mnuln2mnu+nv)\displaystyle\geq n_{u}\bigg{(}\ln\frac{2m}{n_{u}}-\ln\frac{2m}{n_{u}+n_{v}}\bigg{)}
nu(ln2mnuln2m2nu)=nu,\displaystyle\geq n_{u}\bigg{(}\ln\frac{2m}{n_{u}}-\ln\frac{2m}{2n_{u}}\bigg{)}=n_{u},

where the second inequality follows from nunvn_{u}\leq n_{v}. Hence, the potential drops by at least nun_{u}, while the number of edge updates is nun_{u}. It follows that the total number of edge updates is at most 2mlog2m2m\log 2m, and each update induces one maintenance update in each category. Overall, the algorithm makes O(mlogm)O(m\log m) maintenance updates, and each update takes O(logm)O(\log m) time, which is O~(m)\tilde{O}(m) total as promised.

Appendix B Cut-Matching Proof

For completeness, we prove Lemma 4.11 below by directly adapting the analysis of [7].

Let Lmax=O(logn)L_{\max}=O(\log n) be large enough. Suppose for contradiction that the algorithm does not terminate within LmaxL_{\max} iterations. On each iteration, the algorithm must execute Algorithm 2 with the partition (C,C¯)(C,\overline{C}) with |C|,|C¯||T|/3|C|,|\overline{C}|\geq|T|/3 and wH(C,C¯)<δ|T|/12w_{H}(C,\overline{C})<\delta|T|/12. Following [7], we use the entropy function potential

Φu(t)=vTpu,v(t)logpu,v(t)andΦ(t)=uTΦu(t),\Phi_{u}(t)=-\sum_{v\in T}p_{u,v}(t)\log p_{u,v}(t)\qquad\text{and}\qquad\Phi(t)=\sum_{u\in T}\Phi_{u}(t),

where pu,v(t)[0,1]p_{u,v}(t)\in[0,1] satisfy vTpu,v(t)=1\sum_{v\in T}p_{u,v}(t)=1 for all uTu\in T. Intuitively, pu,vp_{u,v} models a random walk on the cut-graph, and pu,v(t)p_{u,v}(t) is the probability distribution at time tt starting at vertex uTu\in T. The entropy function Φu(t)\Phi_{u}(t) is at most ln|T|\ln|T|, so Φ(t)|T|ln|T|\Phi(t)\leq|T|\ln|T| always. We will show that the potential function Φ(t)\Phi(t) can never decrease, and it increases by Ω(|T|)\Omega(|T|) every time the algorithm executes Algorithm 2. It follows that there can only be O(log|T|)O(\log|T|) total iterations.

Let MtM_{t} be the edges added to HH on Algorithm 2. Since the flow ff sends at most δκ\delta\cdot\kappa flow through each terminal in TT, and since the weight of the edges in HH are scaled by 1/ψ1/\psi, each vertex has weighted degree at most δκ/ψδ\delta\cdot\kappa/\psi\leq\delta in MtM_{t}. Also, since ff has value at least |T|/6δψ|T|/6\cdot\delta\cdot\psi the total weight of MtM_{t} is at least |T|/6δ|T|/6\cdot\delta.

Initially, set pu,v(0)=1p_{u,v}(0)=1 if u=vu=v and pu,v(0)=0p_{u,v}(0)=0 otherwise. For each iteration tt, set

pu,v(t+1)=2δdegMt(v)2δpu,v(t)+vTwMt(v,v)2δpu,v(t).\displaystyle p_{u,v}(t+1)=\frac{2\delta-\deg_{M_{t}}(v)}{2\delta}p_{u,v}(t)+\sum_{v^{\prime}\in T}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}p_{u,v^{\prime}}(t). (6)

Note that pu,v(t+1)p_{u,v}(t+1) is a convex combination of pu,v(t)p_{u,v^{\prime}}(t) over all vTv^{\prime}\in T. Since the entropy function Φu(t)\Phi_{u}(t) is concave, we obtain Φu(t+1)Φu(t)\Phi_{u}(t+1)\geq\Phi_{u}(t), which implies that Φ(t+1)Φ(t)\Phi(t+1)\geq\Phi(t).

Given a partition (C,C¯)(C,\overline{C}) on iteration tt, define qu(t)=vC¯pu,v(t)q_{u}(t)=\sum_{v\in\overline{C}}p_{u,v}(t), which represents the probability that the random walk starting at uu ends up in C¯\overline{C}.

Claim B.1.

uCqu(t)<|T|/100\sum_{u\in C}q_{u}(t)<|T|/100.

Proof.

We have

uCqu(t+1)\displaystyle\sum_{u\in C}q_{u}(t+1) =uCvC¯pu,v(t+1)\displaystyle=\sum_{u\in C}\sum_{v\in\overline{C}}p_{u,v}(t+1)
=uCvC¯(2δdegMt(v)2δpu,v(t)+vTwMt(v,v)2δpu,v(t))\displaystyle=\sum_{u\in C}\sum_{v\in\overline{C}}\left(\frac{2\delta-\deg_{M_{t}}(v)}{2\delta}p_{u,v}(t)+\sum_{v^{\prime}\in T}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}p_{u,v^{\prime}}(t)\right)
=uCvC¯2δdegMt(v)2δpu,v(t)+uCvC¯vTwMt(v,v)2δpu,v(t)\displaystyle=\sum_{u\in C}\sum_{v\in\overline{C}}\frac{2\delta-\deg_{M_{t}}(v)}{2\delta}p_{u,v}(t)+\sum_{u\in C}\sum_{v\in\overline{C}}\sum_{v^{\prime}\in T}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}p_{u,v^{\prime}}(t)
=uCvC¯2δdegMt(v)2δpu,v(t)+vC¯vCwMt(v,v)2δuCpu,v(t)\displaystyle=\sum_{u\in C}\sum_{v\in\overline{C}}\frac{2\delta-\deg_{M_{t}}(v)}{2\delta}p_{u,v}(t)+\sum_{v\in\overline{C}}\sum_{v^{\prime}\in C}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}\sum_{u\in C}p_{u,v^{\prime}}(t)
=uCvC¯2δdegMt(v)2δpu,v(t)+vC¯vCwMt(v,v)2δ\displaystyle=\sum_{u\in C}\sum_{v\in\overline{C}}\frac{2\delta-\deg_{M_{t}}(v)}{2\delta}p_{u,v}(t)+\sum_{v\in\overline{C}}\sum_{v^{\prime}\in C}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}
uCvC¯pu,v(t)+vC¯vCwMt(v,v)2δ\displaystyle\leq\sum_{u\in C}\sum_{v\in\overline{C}}p_{u,v}(t)+\sum_{v\in\overline{C}}\sum_{v^{\prime}\in C}\frac{w_{M_{t}}(v^{\prime},v)}{2\delta}
=qu(t)+wMt(C,C¯)2δ,\displaystyle=q_{u}(t)+\frac{w_{M_{t}}(C,\overline{C})}{2\delta},

By induction on tt, we obtain uCqu(t+1)=(i=1twMt(C,C¯))/2δ\sum_{u\in C}q_{u}(t+1)=(\sum_{i=1}^{t}w_{M_{t}}(C,\overline{C}))/2\delta. Note that i=1twMt(C,C¯)\sum_{i=1}^{t}w_{M_{t}}(C,\overline{C}) is the total value of the cut (C,C¯)(C,\overline{C}) in the cut-graph HtH_{t}, which has value at most |T|δ/50|T|\delta/50 by the construction of cut (C,C¯)(C,\overline{C}). It follows that uCqu(t)<|T|/100\sum_{u\in C}q_{u}(t)<|T|/100. ∎

Since |C||T|/3|C|\geq|T|/3, the values qu(t)q_{u}(t) for uCu\in C have average at most 3/1003/100. By Markov’s inequality, a constant fraction have value qu(t)1/24q_{u}(t)\leq 1/24. We will show that for each vertex uTu\in T with qu(t)1/24q_{u}(t)\leq 1/24, we have Φu(t+1)Φu(t)+Ω(1)\Phi_{u}(t+1)\geq\Phi_{u}(t)+\Omega(1). This would imply Φ(t+1)Φ(t)+Ω(|T|)\Phi(t+1)\geq\Phi(t)+\Omega(|T|) and finish the analysis.

For the rest of the proof, fix a vertex uTu\in T with qu(t)=vC¯pu,v(t)1/24q_{u}(t)=\sum_{v\in\overline{C}}p_{u,v}(t)\leq 1/24. By Markov’s inequality, at most 1/81/8 fraction of the vertices in C¯\overline{C} have pu,v(t)1/3p_{u,v}(t)\geq 1/3; call these vertices bad. Similarly, vCpu,v(t)23/24\sum_{v\in C}p_{u,v}(t)\geq 23/24, and by (reverse) Markov’s inequality, at most 1/81/8 fraction of the vertices in CC have pu,v(t)2/3p_{u,v}(t)\leq 2/3; call these vertices bad. Overall, at most |T|/8|T|/8 vertices are bad. Now consider the matching Mt+1M_{t+1} of total weight at least |T|/6δ|T|/6\cdot\delta. Each vertex has degree at most δ\delta in Mt+1M_{t+1}, so at most |T|/8δ|T|/8\cdot\delta weight of edges in Mt+1M_{t+1} are incident to bad vertices. So a constant fraction of the edges of Mt+1M_{t+1} (by weight) have both endpoints good, which means one endpoint uu has value pu,v(t)1/3p_{u,v}(t)\leq 1/3 and the other has value at least 2/32/3. The definition of pu,v(t+1)p_{u,v}(t+1) in (6) will “mix” these separated values, and a tedious but straightforward algebraic calculation establishes Φ(t+1)Φ(t)+Ω(|T|)\Phi(t+1)\geq\Phi(t)+\Omega(|T|).

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 G=(V,E)G=(V,E), a parameter k1k\geq 1, and a kk-unbalanced set UTU\subseteq T. Then, we can compute the minimum Steiner cut of GG in kO(1)polylog(n)k^{O(1)}\text{polylog}(n) many sts-t max-flow computations plus O~(m)\tilde{O}(m) deterministic time.

With kClogCnk\leftarrow C\log^{C}n, this gives us polylogarithmic maximum flow calls and near-linear additional runtime as desired.

C.2 Balanced Case

If UU is kk-balanced, we use a sparsification procedure by using the (s,δ,γ)(s,\delta,\gamma)-terminal-strong decomposition with terminal set UU to find a subset UUU^{\prime}\subset U such that |U||U|/2|U^{\prime}|\leq|U|/2 with the guarantee that some Steiner minimum cut contains at least one vertex from UU^{\prime} in both of its sides. We then set UUU\leftarrow U^{\prime}.

We define a cluster ViV_{i} to be trivial if |Ui|=0|U_{i}|=0, small if 1|Ui|s21\leq|U_{i}|\leq s^{2}, and large if |Ui|>s2|U_{i}|>s^{2}. To construct set UU^{\prime}, for each cluster ViV_{i}, we take an arbitrary vertex from UiU_{i} if ViV_{i} is small, or s+1s+1 arbitrary vertices from UiU_{i} if ViV_{i} is large. To prove correctness, we show that UU^{\prime} is always at least a constant factor smaller than UU each iteration, and that UU^{\prime} always contains at least one terminal on both sides of a minimum Steiner cut if UU is kk-balanced.

C.2.1 Size Bound

Claim C.2.

There are at most O(ψ|U|logn)O(\psi\cdot|U|\log n) total clusters, i.e. O(ψ|U|logn)\ell\leq O(\psi\cdot|U|\log n).

Proof.

The total weight of intercluster edges is upper-bounded by O(ψδ|U|logn)O(\psi\cdot\delta\cdot|U|\log n) from the guarantee of our (s,δ,γ,U)(s,\delta,\gamma,U)-terminal-strong decomposition. We set δλ~\delta\leftarrow\tilde{\lambda}, where λ~[λ,2λ]\tilde{\lambda}\in[\lambda,2\lambda] denotes a 2-approximation of the value of the minimum Steiner cut λ\lambda on graph GG. Since Vi\partial V_{i} is a Steiner cut in graph GG, we have λw(Vi)\lambda\leq w(\partial V_{i}). Therefore

λi[]w(Vi)O(ψλ|U|logn)\ell\lambda\leq\sum_{i\in[\ell]}w(\partial V_{i})\leq O(\psi\cdot\lambda\cdot|U|\log n) (7)

Dividing by λ\lambda on the left and right sides gives us our claim. ∎

Lemma C.3.

The sparsification procedure above returns a set UU^{\prime} such that |U||U|/2|U^{\prime}|\leq|U|/2.

Proof.

We can only have less than |U|/s2|U|/s^{2} large clusters, and at most O(ψ|U|logn)O(\psi\cdot|U|\log n) small clusters due to Claim C.2. From our construction, UU^{\prime} has total size

|U|<|U|/s2(1+s)+O(ψ|U|logn)1|U^{\prime}|<|U|/s^{2}\cdot(1+s)+O(\psi\cdot|U|\log n)\cdot 1 (8)

With s=O((Lmax/ψ)2log2n)=O~(1/ψ2)s=O((L_{\max}/\psi)^{2}\log^{2}n)=\tilde{O}(1/\psi^{2}) and ψ=1/polylog(n)\psi=1/\text{polylog}(n), we get that |U||U|/2|U^{\prime}|\leq|U|/2 as desired with a small enough chosen ψ\psi. ∎

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 CC be one side of a minimum Steiner cut of GG. Then, CC cuts at most 1/γ1/\gamma clusters of GG^{\prime} (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 C\partial C has a maximum weight of δ\delta. For all clusters ViV_{i}, the portion of CC that intersects it (call this CVi\partial C_{V_{i}}) has a terminal on both sides of it in ViV_{i}. From the definition of (s,δ,γ,U)(s,\delta,\gamma,U)-terminal-strong, we must have that w(G[Vi]C)γδw(\partial_{G[V_{i}]}C)\geq\gamma\cdot\delta. Since clusters G[Vi]G[V_{i}] are edge-disjoint and the minimum Steiner cut is upper-bounded by δ\delta, C\partial C cannot cut more than 1/γ1/\gamma clusters of GG^{\prime}. ∎

Lemma C.5.

Suppose UU is 2s2/γ2s^{2}/\gamma-balanced with witness (S1,S2)(S_{1},S_{2}). Then USiU^{\prime}\cap S_{i}\neq\emptyset for both i=1,2i=1,2.

Proof.

The proof is a direct modification of Lemma 4.13 of [10], replacing each instance of 1/ϕ1/\phi with either ss or 1/γ1/\gamma. Call a cluster ViV_{i}:

  1. 1.

    white if S1Ui=S_{1}\cap U_{i}=\emptyset (i.e., UiS2U_{i}\subseteq S_{2}).

  2. 2.

    light gray if 0<|S1Ui||S2Ui|<|Ui|0<|S_{1}\cap U_{i}|\leq|S_{2}\cap U_{i}|<|U_{i}|, which implies that 0<|S1Ui|s0<|S_{1}\cap U_{i}|\leq s.

  3. 3.

    dark gray if 0<|S2Ui|<|S1Ui|<|Ui|0<|S_{2}\cap U_{i}|<|S_{1}\cap U_{i}|<|U_{i}|, which implies that 0<|S2Ui|s0<|S_{2}\cap U_{i}|\leq s.

  4. 4.

    black if S2Ui=S_{2}\cap U_{i}=\emptyset (i.e., UiS1U_{i}\subseteq S_{1}).

Every cluster must be one of the four colors, and by Claim C.4, there are at most 1/γ1/\gamma many (light or dark) gray clusters since UiS1,UiS2U_{i}\cap S_{1},U_{i}\cap S_{2}\not=\emptyset implies that S1S_{1} cuts cluster ViV_{i}. Note that since we are only considering clusters ViV_{i} such that UiU_{i}\not=\emptyset, it must be that for a white cluster, we have |S2Ui||S_{2}\cap U_{i}|\not=\emptyset, and similarly, for a black cluster, we have |S1Ui||S_{1}\cap U_{i}|\not=\emptyset. There are now a few cases:

  1. 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 UU^{\prime} are in S2S_{2} and S1S_{1}, respectively. Otherwise, assume w.l.o.g. that there are no black clusters. Since there are at most 1/γ1/\gamma gray clusters in total, |S1U|1/γs2|S_{1}\cap U|\leq 1/\gamma\cdot s^{2}, contradicting our assumption that min{|S1U|,|S2U|}2s2/γ\min\{|S_{1}\cap U|,|S_{2}\cap U|\}\geq 2s^{2}/\gamma for large enough CC.

  2. 2.

    There are large clusters, but all of them are white or light gray. Let ViV_{i} be a large white or light gray cluster. Since we select s+1s+1 vertices of UiU_{i}, and |S1Ui|=min{|S1Ui|,|S2Ui|}s|S_{1}\cap U_{i}|=\min\{|S_{1}\cap U_{i}|,|S_{2}\cap U_{i}|\}\leq s, we must select at least one vertex not in S1S_{1}. Therefore, S2US_{2}\cap U^{\prime}\neq\emptyset. If there is at least one black cluster, then the selected vertex in there is in UU^{\prime}, so S1US_{1}\cap U^{\prime}\neq\emptyset too, and we are done.

    So, assume that there is no black cluster. Since all large clusters are light gray (or white), |S1Ui|s|S_{1}\cap U_{i}|\leq s for all large clusters ViV_{i}. Moreover, by definition of small clusters, |S1Ui||Ui|1/s2|S_{1}\cap U_{i}|\leq|U_{i}|\leq 1/s^{2} for all small clusters ViV_{i}. Since there are at most 1/γ1/\gamma gray clusters by Claim C.4,

    |S1U|=i:Vi small|S1Ui|+i:Vi large|S1Ui|1γs2+1γs<2s2γ,\displaystyle|S_{1}\cap U|=\sum_{i:V_{i}\text{ small}}|S_{1}\cap U_{i}|+\sum_{i:V_{i}\text{ large}}|S_{1}\cap U_{i}|\leq\frac{1}{\gamma}\cdot s^{2}+\frac{1}{\gamma}\cdot s<\frac{2s^{2}}{\gamma},

    a contradiction.

  3. 3.

    There are large clusters, but all of them are black or dark gray. Symmetric case to (2) with S1S_{1} replaced with S2S_{2}.

  4. 4.

    There is at least one black or dark gray large cluster ViV_{i}, and at least one white or light gray large cluster VjV_{j}. In this case, since we select s+1s+1 vertices of UiU_{i} and |S2Ui|=min{|S1Ui|,|S2Ui||}s|S_{2}\cap U_{i}|=\min\{|S_{1}\cap U_{i}|,|S_{2}\cap U_{i}||\}\leq s, we must select at least one vertex in S1S_{1}. Similarly, we must select at least one vertex in UjU_{j} that is in S2S_{2}.∎

Since s,1/γpolylog(n)s,1/\gamma\leq\text{polylog}(n), we can set CC large enough in the statement of Theorem 5.2 so that ClogCn2s2/γC\log^{C}n\geq 2s^{2}/\gamma. This completes the proof of the balanced case for Theorem 5.2.