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

Deterministic kk-Vertex Connectivity in k2k^{2} Max-flows

Chaitanya Nalam [email protected]. University of Michigan, USA    Thatchaphol Saranurak [email protected]. University of Michigan, USA. Supported by NSF CAREER grant 2238138.    Sorrachai Yingchareonthawornchai [email protected]. Aalto University, Finland
Abstract

An nn-vertex mm-edge graph is kk-vertex connected if it cannot be disconnected by deleting less than kk vertices. After more than half a century of intensive research, the result by [Li et al. STOC’21] finally gave a randomized algorithm for checking kk-connectivity in near-optimal O^(m)\widehat{O}(m) time.111We use O^()\widehat{O}(\cdot) to hide an no(1)n^{o(1)} factor. Deterministic algorithms, unfortunately, have remained much slower even if we assume a linear-time max-flow algorithm: they either require at least Ω(mn)\Omega(mn) time [Even’75; Henzinger Rao and Gabow, FOCS’96; Gabow, FOCS’00] or assume that k=o(logn)k=o(\sqrt{\log n}) [Saranurak and Yingchareonthawornchai, FOCS’22].

We show a deterministic algorithm for checking kk-vertex connectivity in time proportional to making O^(k2)\widehat{O}(k^{2}) max-flow calls, and, hence, in O^(mk2)\widehat{O}(mk^{2}) time using the deterministic max-flow algorithm by [Brand et al. FOCS’23]. Our algorithm gives the first almost-linear-time bound for all kk where lognkno(1)\sqrt{\log n}\leq k\leq n^{o(1)} and subsumes up to a sub polynomial factor the long-standing state-of-the-art algorithm by [Even’75] which requires O(n+k2)O(n+k^{2}) max-flow calls.

Our key technique is a deterministic algorithm for terminal reduction for vertex connectivity: given a terminal set separated by a vertex mincut, output either a vertex mincut or a smaller terminal set that remains separated by a vertex mincut.

We also show a deterministic (1+ϵ)(1+\epsilon)-approximation algorithm for vertex connectivity that makes O(n/ϵ2)O(n/\epsilon^{2}) max-flow calls, improving the bound of O(n1.5)O(n^{1.5}) max-flow calls in the exact algorithm of [Gabow, FOCS’00]. The technique is based on Ramanujan graphs.

1 Introduction

Vertex connectivity of an nn-vertex mm-edge undirected graph GG, denoted by κG\kappa_{G}, is the minimum number of vertices to be removed to disconnect the graph (or to become a singleton). Vertex connectivity along with its related problem called edge connectivity (where we remove edges to disconnect the graph) are both fundamental and very well-studied problems in graph algorithm research  [Men27, Kle69, Pod73, ET75, Eve75, Gal80, EH84, Mat87, BDD+82, LLW88, CT91, NI92, CR94, Hen97, HRG00, Gab06, CGK14], see [NSY19] for more discussion. The complexity of the edge connectivity problem is well-understood: It can be solved in nearly linear time using randomization by Karger since 2000 [Kar00] and, more recently, it can also be solved deterministically in near-linear time [KT15, HRW17] and even in weighted case [LP20, Li21].

For vertex connectivity, there is still a large gap in our understanding. Aho, Hopcroft, and Ullman asked almost 50 years ago if vertex connectivity can be solved in linear time [AHU74]. The answer is affirmative (up to a subpolynomial factor) using randomization: Recent developments [NSY19, FNS+20, LNP+21] culminate in a celebrated “polylog max-flow” time, which is almost linear by the recent breakthrough in max-flow problem [CKL+22].

Deterministic algorithms, on the other hand, have remained much slower. In the discussion below, we will assume a linear-time deterministic max-flow algorithm so that we can highlight the development of ideas related to vertex connectivity itself and not about the implementation of max-flow algorithms. This is actually without loss of generality because Brand et al. [BCG+23] recently showed an almost-linear-time deterministic max-flow algorithm. Let us consider the problem of checking kk-vertex connectivity (i.e., deciding if vertex connectivity is at least kk or outputs a minimum vertex cut).222Note that, for all results stated below including our results, we can assume that m=O(nk)m=O(nk) by using the linear-time sparsification algorithm by [NI92]. When k3k\leq 3, O(m)O(m)-time algorithms are known using a depth-first search [Tar72] and a data structure called SPQR tree [HT73]. Very recently, [SY22] showed an O^(m2O(k2))\widehat{O}(m2^{O(k^{2})})-time algorithm which is almost-linear for all k=o(logn)k=o(\sqrt{\log n}). For general kk, half a century ago, Kleitman [Kle69] showed an algorithm that makes O(nk)O(nk) max-flow calls. Then, Even [Eve75] improved the number of max-flow calls to O(n+k2)O(n+k^{2}). [HRG00] later showed how to implement the first nn calls to max-flow in Even’s algorithm in O(mn)O(mn) time, without assuming a linear-time max-flow algorithm. The currently fastest deterministic algorithm is by Gabow [Gab06]. The bound stated in his paper is O(min{n3/4,k1.5}km+mn)O(\min\{n^{3/4},k^{1.5}\}km+mn) time, but this bound is based on max-flow algorithms that are slower than linear time. One can show that his algorithms take time proportional to O(n+kmin{k,n})O(n+k\min\{k,\sqrt{n}\}) max flow calls, which improved upon Even’s algorithm when knk\geq\sqrt{n}.

To summarize state of the art, for any klognk\geq\sqrt{\log n}, all known deterministic algorithms require Ω(n)\Omega(n) max-flow calls, which is Ω(mn)\Omega(mn) time even if we assume a linear time max-flow algorithm.

1.1 Our Results

In this paper, we show a deterministic algorithm for checking kk-vertex connectivity in O^(k2)\widehat{O}(k^{2}) max-flows. Let G=(V,E)G=(V,E) be an undirected graph. A vertex cut (L,S,R)(L,S,R) is a partition of the vertex set VV such that there is no edge between LL and RR. The size of (L,S,R)(L,S,R) is |S||S|.

Theorem 1.1.

There is a deterministic algorithm that takes as inputs an nn-vertex mm-edge undirected graph G=(V,E)G=(V,E), and connectivity parameter kk, and either outputs a vertex cut of size less than kk or concludes that GG is kk-vertex connected. The algorithm makes calls to unit-vertex-capacity max-flow instances with O^(mk2)\widehat{O}(mk^{2}) number of edges in total and spends an additional O^(mk2)\widehat{O}(mk^{2}) time.

In particular, our algorithm runs in o(n)o(n) max-flows whenever knk\ll\sqrt{n}. This is the first algorithm that improves the long-standing state-of-the-art algorithm [Eve75] that runs in O(n+k2)O(n+k^{2}) max-flows. Using the almost linear time deterministic max-flow algorithm [BCG+23], our algorithm runs in O^(mk2)\widehat{O}(mk^{2}) time, which is the fastest whenever knk\ll\sqrt{n}. Our algorithm exponentially improves the dependency on kk from the recent O^(m2O(k2))\widehat{O}(m2^{O(k^{2})})-time algorithm [SY22].

We also show a (1+ϵ)(1+\epsilon)-approximation algorithm for computing vertex connectivity of GG, κG\kappa_{G}.

Theorem 1.2.

There is a deterministic algorithm that takes an nn-vertex mm-edge undirected graph GG and accuracy parameter ϵ(0,1)\epsilon\in(0,1) as inputs and outputs a vertex cut of size at most (1+ϵ)κG\lfloor(1+\epsilon)\kappa_{G}\rfloor. The algorithm makes O(n/ϵ2)O(n/\epsilon^{2}) calls to unit-vertex-capacity (s,t)(s,t)-max-flows on GG and spends additional O(n/ϵ2)O(n/\epsilon^{2}) time.

In particular, this algorithm runs in O^(1ϵ2mn)\widehat{O}(\frac{1}{\epsilon^{2}}\cdot mn) time using the max-flow algorithm by [BCG+23]. This is the first deterministic approximation algorithm that runs in mn1.5\ll mn^{1.5} time, and improves upon the exact algorithm [Gab06] that requires n1.5n^{1.5} max-flows in the general case.

1.2 Techniques

The key to our result is the terminal reduction algorithm for vertex connectivity that runs in O^(k2)\widehat{O}(k^{2}) max-flows. Let G=(V,E)G=(V,E) be an nn-vertex mm-edge undirected graph with terminal set TVT\subseteq V. A TT-Steiner vertex cut (L,S,R)(L,S,R) is a vertex cut such that TLT\cap L\neq\emptyset and TRT\cap R\neq\emptyset. We denote κG(T)\kappa_{G}(T) as the size of the minimum TT-Steiner vertex cut in GG or n1n-1 if it does not exist. By definition, vertex connectivity of GG, denoted by κG\kappa_{G} is equal to κG(V)\kappa_{G}(V). We omit the subscript when the context is clear. Our main technical result is:

Theorem 1.3 (Terminal reduction).

There is a deterministic algorithm that takes as inputs an nn-vertex mm-edge undirected graph G=(V,E)G=(V,E), along with a terminal set TVT\subseteq V and a cut parameter kk, and outputs either a vertex cut of size less than kk or a new terminal set TVT^{\prime}\subseteq V of size at most |T|/2|T|/2 such that κ(T)<k\kappa(T^{\prime})<k if κ(T)<k\kappa(T)<k. The algorithm makes calls to unit-vertex-capacity max-flow instances with O^(mk2)\widehat{O}(mk^{2}) number of edges in total and spends an additional O^(mk2)\widehat{O}(mk^{2}) time.

Intuitively, terminal reduction means we find a smaller terminal set TT^{\prime} such that the minimum TT-Steiner cut of size less than kk remains TT^{\prime}-Steiner. Given Theorem 1.3, our main theorem follows immediately.

Proof of Theorem 1.1.

To check kk-vertex connectivity of a graph G=(V,E)G=(V,E), we start with the entire vertex set VV as a terminal set, and repeatedly apply Theorem 1.3 for O(logn)O(\log n) times until we obtain a vertex cut of size less than kk or the terminal set becomes empty (T=T=\emptyset) for which we conclude that GG is kk-vertex connected. ∎

Prior to our work, [LP20] (implicitly) showed exactly the same terminal reduction algorithm as in Theorem 1.3 except their algorithm is for edge mincuts and they guaranteed that TTT^{\prime}\subseteq T, i.e., the output terminal TT^{\prime} is always a subset of the input terminal TT. This is not guaranteed by our Theorem 1.3.

Terminal Reduction Framework.

The key method to the proof of Theorem 1.3 is to generalize the vertex reduction framework in [SY22] to the terminal setting. At a high-level, the vertex reduction framework in [SY22] consists of two steps.

  1. 1.

    First, given a graph G=(V,E)G=(V,E), their algorithm outputs either a vertex cut of size <k<k or a terminal set TVT\subseteq V of size n\ll n such that κG(T)<k\kappa_{G}(T)<k iff κG<k\kappa_{G}<k.

  2. 2.

    In the second step, which is a vertex reduction step, given the terminal set TT from the first step, their algorithm outputs a smaller graph HH of size O^(|T|)<m/2\widehat{O}(|T|)<m/2 such that κG<k\kappa_{G}<k iff κH<k\kappa_{H}<k.

The two-step vertex reduction framework [SY22] allows them to solve kk-vertex connectivity after repeatedly applying it for O(logn)O(\log n) times. The drawback in their algorithm is that their second step requires O^(m2O(k2))\widehat{O}(m2^{O(k^{2})}) time, which is very slow when klognk\gg\sqrt{\log n}.

In this paper, we consider the generalization, of the first step of the vertex reduction framework [SY22], to the terminal setting:

Given a graph G=(V,E)G=(V,E) and its terminal set TVT\subseteq V, output either a vertex cut of size less than kk or a terminal set TT^{\prime} of size at most |T|/2|T|/2 such that κ(T)<k\kappa(T^{\prime})<k iff κ(T)<k\kappa(T)<k.

As a result, the new algorithm bypasses the second step of the vertex reduction framework [SY22] by directly reducing the terminal set while maintaining the Steiner connectivity of the output terminal set. Thus, we avoid spending O^(m2O(k2))\widehat{O}(m2^{O(k^{2})}) time for vertex reduction as in [SY22]. By Theorem 1.3, we only spend O^(mk2)\widehat{O}(mk^{2}) time instead (using a deterministic linear-time max-flow algorithm [BCG+23]). The bottleneck of k2k^{2} factor stems from the key subroutine in our terminal reduction that handles terminal-unbalanced vertex cuts which we discuss next. We say that a vertex cut (L,S,R)(L,S,R) is terminal-unbalanced if min{|TL|,|TR|}no(1)\min\{|T\cap L|,|T\cap R|\}\leq n^{o(1)}.

Handling Terminal-unbalanced Vertex Cuts.

For simplicity, consider the following task:

Given a terminal set TVT\subseteq V with a promised that there is a vertex cut (L,S,R)(L,S,R) of size less than kk such that |TL|=1,|TR|1|T\cap L|=1,|T\cap R|\geq 1, design a fast algorithm that outputs a vertex cut of size less than kk.

If the vertex cut (L,S,R)(L,S,R) with the above promise is such that ST=S\cap T=\emptyset, then we say that (L,S,R)(L,S,R) isolates TT. In this case, we can apply the isolating vertex cut lemma [LNP+21] to deterministically output a vertex cut of size less than kk in time proportional to O(log|T|)O(\log|T|) calls of max-flows and we are done. In general, the vertex cut (L,S,R)(L,S,R) may not be TT-isolating because possibly STS\cap T\neq\emptyset. As a result, it remains to solve the following task.

Find a subset TTT^{\prime}\subseteq T where (L,S,R)(L,S,R) isolates TT^{\prime}, i.e., |TL|=1,|TS|=0,|TR|1|T^{\prime}\cap L|=1,|T^{\prime}\cap S|=0,|T^{\prime}\cap R|\geq 1.

To do so, we construct a family \mathcal{F} of subsets UTU\subseteq T of size ||k2logO(1)n|\mathcal{F}|\leq k^{2}\log^{O(1)}n such that (L,S,R)(L,S,R) must isolate some UU^{\prime}\in\mathcal{F} via a Hit and miss hash family [KP20]. Given such a family \mathcal{F}, we apply the isolating vertex cut lemma on each UU\in\mathcal{F} to obtain a vertex cut of size less than kk as desired. The total running time is roughly k2logO(1)nO(log|T|)=k2logO(1)nk^{2}\log^{O(1)}n\cdot O(\log|T|)=k^{2}\log^{O(1)}n calls to max-flows.

Using Ramanujan graphs for Approximate Mincuts.

The goal is to find a vertex cut of size at most (1+ϵ)κG(1+\epsilon)\kappa_{G}. If the minimum degree is at most (1+ϵ)κG(1+\epsilon)\kappa_{G}, we can simply return the neighbor set of the min-degree vertex, sacrificing a (1+ϵ)(1+\epsilon) factor. Otherwise, it is easy to show that any minimum cut (L,S,R)(L,S,R) is such that |L|,|R|ϵκG|L|,|R|\geq\epsilon\kappa_{G}, i.e., the cut is quite balanced. We show that Ramanujan graphs can give us a list of O(n/ϵ2)O(n/\epsilon^{2}) vertex pairs such that a pair (s,t)(s,t) must exist where sL,tRs\in L,t\in R. Thus, we will identify a minimum vertex cut by running unit-vertex-capacity (s,t)(s,t)-max-flows on graph GG for each of the O(n/ϵ2)O(n/\epsilon^{2}) vertex pairs.

To obtain the above list of vertex pairs, let X=(V,EX)X=(V,E_{X}) be a regular Ramanujan graph with degree Θ(1/ϵ2)\Theta(1/\epsilon^{2}). Assuming |L||R||L|\leq|R|, we want to show that there exists an edge (s,t)EX(s,t)\in E_{X} where sLs\in L and tRt\in R. There are two cases. If |L|Ω(ϵn)|L|\geq\Omega(\epsilon n), then such an edge (s,t)EX(s,t)\in E_{X} must exist by the expander mixing lemma as observed before in [Gab06]. Otherwise, we use the known fact that strong spectral expansion of XX implies strong vertex expansion for all “small” sets of XX. Since |L|O(ϵn)|L|\leq O(\epsilon n), one can show that the vertex expansion of LL is at least 2/ϵ2/\epsilon, that is |NX(L)|2|L|/ϵ2κG|N_{X}(L)|\geq 2|L|/\epsilon\geq 2\kappa_{G} where NX(L)N_{X}(L) denotes the set of neighbors of LL in XX. So NX(L)(LS)N_{X}(L)\setminus(L\cup S)\neq\emptyset, i.e., NX(L)RN_{X}(L)\cap R\neq\emptyset. This again implies an edge (s,t)EX(s,t)\in E_{X} where sLs\in L and tRt\in R.

1.3 Organization

We start with introducing the notations needed for the rest of the paper in Section 2. In Section 3, we prove our main technical result which is the fast terminal reduction algorithm (Theorem 1.3) that implies our main result Theorem 1.1. In Section 4, we use the Ramanujan expanders to obtain a faster approximation algorithm, proving Theorem 1.2.

2 Preliminaries

When we say a graph G=(V,E)G=(V,E), we denote n=|V|n=|V| and m=|E|m=|E| unless stated otherwise. Let A,BVA,B\subseteq V, we use E(A,B)E(A,B) to denote the set of edges whose one endpoint belongs to AA and the other belongs to BB. For the rest of the paper, unless stated otherwise, when we say an algorithm, we mean a deterministic algorithm. When we say kk-connected, we mean kk-vertex connected. When we say a cut, we mean vertex cut.

For any vertex set SS, we denote GSG-S as the graph GG after removing all vertices in SS. A vertex cut (L,S,R)(L,S,R) is a partition of the vertex set VV such that there is no edge between LL and RR. We say that a vertex set SS is a vertex separator (or simply a separator) if GSG-S is disconnected. By definition, the vertex set SS in a vertex cut (L,S,R)(L,S,R) is a separator. We say that SS separates xx and yy for some x,yVx,y\in V if x,ySx,y\not\in S and there is no path from xx to yy in GSG-S. The minimum number of vertices we need to remove to separate some pair of vertices in the graph G=(V,E)G=(V,E) is called vertex connectivity denoted by κG\kappa_{G} and those set of vertices SS is called vertex mincut.

Let u,vVu,v\in V, we use κ(u,v)\kappa(u,v) to denote the minimum number of vertices need to be removed to disconnect uu from vv (or n1n-1 if it is not possible). Let TVT\subseteq V be a set of terminals, we use κ(T)=minx,yTκ(x,y)\kappa(T)=\min_{x,y\in T}\kappa(x,y) to denote the steiner vertex connectivity of terminal set TT which is the minimum number of vertices to be removed to disconnect at least one terminal from other terminals. The set SS that separates TT is called steiner cut. If it is of minimum possible size then it is called minimum steiner cut or minimum separator of set TT. If |T|1|T|\leq 1, then κ(T)=n1\kappa(T)=n-1.

We define the terminal expansion hTh_{T} of a vertex cut (L,S,R)(L,S,R) in graph GG with respect to the terminal set TT as follows:

hT(L,S,R)=|S|min{|T(LS)|,|T(RS)|}.h_{T}(L,S,R)=\frac{|S|}{\min\{|T\cap(L\cup S)|,|T\cap(R\cup S)|\}}.

We say the cut (L,S,R)(L,S,R) is (T,ϕ)(T,\phi)-expanding in GG if hT(L,S,R)ϕh_{T}(L,S,R)\geq\phi and (T,ϕ)(T,\phi)-sparse if hT(L,S,R)<ϕh_{T}(L,S,R)<\phi. We say that a graph GG is a (T,ϕ)(T,\phi)-expander if every vertex cut (L,S,R)(L,S,R) such that min{|T(LS)|,|T(RS)|}>0\min\{|T\cap(L\cup S)|,|T\cap(R\cup S)|\}>0 in the graph GG is (T,ϕ)(T,\phi)-expanding.

3 An Exact Algorithm

In this section, we prove the main result stated in Theorem 1.1. The main result follows from our terminal reduction algorithm. We recall Theorem 1.3.

See 1.3

Recall that Theorem 1.1 follows from Theorem 1.3. Indeed, starting as the entire vertex VV as a terminal set, we repeatedly applying Theorem 1.3 for O(logn)O(\log n) times until we obtain a vertex cut of size less than kk or the terminal set becomes empty for which we know that the graph is kk-connected.

The rest of the section is devoted to proving Theorem 1.3. In Section 3.1, we show how to find a terminal-unbalanced mincut that has at most β\beta terminals on the smaller side, which will help to solve the vertex mincut fast when the graph is an expander in the base case of our algorithm. Section 3.2 defines the concept of kk-left and kk-right graphs that helps us to implement the divide-and-conquer approach by using structural properties of the vertex mincut. In Section 3.3, we describe a slow terminal reduction algorithm based on the notion of kk-left and kk-right graphs. In Section 3.4, we provide a fast implementation of the algorithm described in Section 3.3 and prove the running time guarantee stated in Theorem 1.3 using the algorithm in Section 3.1 as a base case.

3.1 Unbalanced Vertex Cuts

Let G=(V,E)G=(V,E) be a graph with terminal set TVT\subseteq V. We say that a vertex cut (L,S,R)(L,S,R) is (T,β)(T,\beta)-unbalanced if min{|T(LS)|,|T(SR)|}<β\min\{|T\cap(L\cup S)|,|T\cap(S\cup R)|\}<\beta and (T,β)(T,\beta)-balanced otherwise. Both sides of the cuts (including the separator) contain less than β\beta terminals. This section shows how to find such a cut if it exists.

Theorem 3.1.

There is an algorithm, denoted as Unbalanced(G,T,β)(G,T,\beta), that takes as input a graph G=(V,E)G=(V,E), a terminal set TVT\subseteq V, and a parameter β2\beta\geq 2, and outputs a separator SS with the following guarantee: if GG contains a (T,β)(T,\beta)-unbalanced vertex mincut, then SminS_{\min} is a minimum separator.

The algorithm makes calls to max-flows such that the total number of edges in all max-flow instances is at most O(mβ2log5|T|)O(m\beta^{2}\log^{5}|T|), and the algorithm spends O(mβ2log4|T|)O(m\beta^{2}\log^{4}|T|) time outside the max-flow calls.

To prove Theorem 3.1, we use two main ingredients described in Lemma 3.2 and Lemma 3.3. Below, we say that a vertex cut (L,S,R)(L,S,R) isolates a terminal set TT if |TL|=1|T\cap L|=1, |TS|=0|T\cap S|=0, |TR|1|T\cap R|\geq 1. We refer to the vertex vTLv\in T\cap L as the isolated terminal.

Lemma 3.2.

There exists an algorithm that, given parameters tt and β2\beta\geq 2 as input, constructs a family 𝒯\mathcal{T} of subsets of the terminal set TT where |T|=t|T|=t, of size |𝒯|O(β2log4t)|\mathcal{T}|\leq O(\beta^{2}\log^{4}t) in time O(βtlog2t)O(\beta t\log^{2}t) with the following guarantee: for every (T,β)(T,\beta)-unbalanced vertex cut (L,S,R)(L,S,R), there exists a terminal set T𝒯T^{\prime}\in\mathcal{T} such that (L,S,R)(L,S,R) isolates TT^{\prime}.

The proof of Lemma 3.2 is deferred to the end of this section. The construction is relatively standard and based on the Hit and Miss hash family from [KP20]. The second tool is the vertex version of the isolating cuts from [LNP+21].

Lemma 3.3 (Lemma 4.2 of [LNP+21]).

There exists an algorithm that takes an input graph G=(V,E)G=(V,E) and an independent set IVI\subset V of size at least 2, and outputs for each vIv\in I, a (v,Iv)({v},I\setminus{v})-min-separator CvC_{v}. The algorithm makes (s,t)(s,t) max-flow calls on unit-vertex-capacity graphs with O(mlog|I|)O(m\log|I|) total number of vertices and edges and takes O(m)O(m) additional time.

Given the two ingredients, we are now ready to prove our main theorem of the section.

Proof of Theorem 3.1.

The algorithm Unbalanced(G,T,β)(G,T,\beta) is as follows. First, construct a terminal set family 𝒯\mathcal{T} using Lemma 3.2 with t=|T|,βt=|T|,\beta as inputs. For every T𝒯T^{\prime}\in\mathcal{T}, compute an arbitrary maximal independent set ITI_{T^{\prime}} of TT^{\prime} and apply Lemma 3.3 on graph GG and terminal set ITI_{T^{\prime}} as inputs. Finally, we return SminS_{\min} where SminS_{\min} is the minimum separator over all the (v,I{v})({v},I\setminus\{v\})-min-separators CvC_{v} for all vITv\in I_{T^{\prime}} and over all T𝒯T^{\prime}\in\mathcal{T}.

Now we prove the correctness of this algorithm. Let (L,S,R)(L,S,R) be the (T,β)(T,\beta)-unbalanced vertex mincut in graph GG. From Lemma 3.2, (L,S,R)(L,S,R) must isolate some terminal set T𝒯T^{\prime}\in\mathcal{T}. Let vLTv\in L\cap T^{\prime} be the isolated terminal. Note that vv is not adjacent to any other terminal vTv^{\prime}\in T^{\prime}, so vv must be in the maximal independent set ITTI_{T^{\prime}}\subseteq T^{\prime}. Since SS is a (v,IT{v})(v,I_{T^{\prime}}\setminus\{v\}) min-separator, |Smin||S||S_{\min}|\leq|S| and we are done.

It remains to bound running time. From Lemma 3.2, the time taken to construct 𝒯\mathcal{T} is O(βtlog2t)O(\beta t\log^{2}t). The time to compute the maximal independent sets ITI_{T^{\prime}} over all T𝒯T^{\prime}\in\mathcal{T} is O(mβ2log4t)O(m\beta^{2}\log^{4}t) since |𝒯|O(β2log4t)|\mathcal{T}|\leq O(\beta^{2}\log^{4}t). Lastly, we analyze the total time to invoke Lemma 3.3. The algorithm makes max-flow calls on unit-vertex-capacity graphs with O(β2log4t)×O(mlogt)=O(mβ2log5t)O(\beta^{2}\log^{4}t)\times O(m\log t)=O(m\beta^{2}\log^{5}t) total number of vertices and edges and a total additional time of at most O(β2log4t)×O(m)=O(mβ2log4t)O(\beta^{2}\log^{4}t)\times O(m)=O(m\beta^{2}\log^{4}t) outside max-flow calls. ∎

Hence, the rest of the section is devoted to proving Lemma 3.2. We must introduce some formalism used in [KP20] with slight modification for constructing such a terminal sets family.

Definition 3.4 (Hit and Miss hash family).

Given N,a,b,q,l,sN,a,b,q,l,s\in\mathbb{N} such that bab\leq a, we say that {hi:[N][q]i[l]}\mathcal{H}\coloneqq\{h_{i}:[N]\rightarrow[q]\mid i\in[l]\} is a [N,a,b,l,s]q[N,a,b,l,s]_{q}-Hit and Miss (HM) hash family if

  1. 1.

    For every pair of mutually disjoint subsets A,BA,B of [N][N], where |A|a|A|\leq a and |B|b|B|\leq b, there exists some i[l]i\in[l] such that:

    (x,y)A×B,hi(x)hi(y)\forall(x,y)\in A\times B,h_{i}(x)\neq h_{i}(y)

  2. 2.

    For every hih_{i}\in\mathcal{H} and every j[q]j\in[q] we either have hi1(j)=h_{i}^{-1}(j)=\emptyset or |hi1(j)|s|h_{i}^{-1}(j)|\geq s where hi1(j)={x[N]hi(x)=j}h_{i}^{-1}(j)=\{x\in[N]\mid h_{i}(x)=j\} denotes the set of all elements whose hash value is jj for the hash function hih_{i} and we call ss to be the minimum support size of the hash family \mathcal{H}.

The computation time of a [N,a,b,l,s]q[N,a,b,l,s]_{q} is defined to be the time needed to output the l×Nl\times N matrix with entries in [q][q] whose (i,x)th(i,x)^{th} entry is hi(x)h_{i}(x) for hih_{i}\in\mathcal{H}.

Below, we show an HM-hash family with small ll and alphabet size qq but with large minimum support ss. The construction is based on Lemma 16 of [KP20], but they did not analyze the minimum support size ss and the construction time. Since both minimum support size ss and construction time are crucial for us, we give the proof for completeness.

Claim 3.5.

Given N,a,bN,a,b\in\mathbb{N} such that bab\leq a and N200ablog2NN\geq 200ab\log^{2}N, there exists a [N,a,b,1+ablogN,NO(ablog2N)]O(ablog2N)[N,a,b,1+ab\log N,\frac{N}{O(ab\log^{2}N)}]_{O(ab\log^{2}N)}-HM hash family that can be constructed in time O(abNlogN)O(abN\log N).

Proof.

We first state the construction of the HM-hash family from Lemma 16 of [KP20] and then prove the bounds on parameters l,q,sl,q,s and running time. Given N,a,bN,a,b as inputs, let 𝒫\mathcal{P} be the set of first 1+ablogN1+ab\log N prime numbers. The hash family \mathcal{H} is defined as follows.

{hp:[N][q] with hp(x)=x(modp)p𝒫}.\mathcal{H}\coloneqq\{h_{p}:[N]\mapsto[q]\text{ with }h_{p}(x)=x(\operatorname{mod}p)\mid p\in\mathcal{P}\}.

Note that pqp\leq q for all p𝒫p\in\mathcal{P}. From Lemma 16 of [KP20], we have the correctness guarantee that it hits and misses every pair of disjoint subsets A,BA,B of size a,ba,b respectively. It is also clear from above that ||=l=1+ablogN|\mathcal{H}|=l=1+ab\log N. Since the value of (1+ablogN)th(1+ab\log N)^{th} prime is at most (1+ablogN)log((1+ablogN))=O(ablog2N)(1+ab\log N)\log{(1+ab\log N)}=O(ab\log^{2}N), qq is bounded by O(ablog2N)O(ab\log^{2}N).

From [LP02], we know that it takes O~(log6n)\tilde{O}(\log^{6}n) time to verify whether a number nn is prime. So to construct the set 𝒫\mathcal{P} it takes O(ablog2N)×O~(log6(O(ablog2N)))=O(ablog2Nlog6a)O(ab\log^{2}N)\times\tilde{O}(\log^{6}(O(ab\log^{2}N)))=O(ab\log^{2}N\log^{6}a). Computing the hash value matrix takes l×N=O(abNlogN)l\times N=O(abN\log N). Hence the total time to construct the hash family \mathcal{H} is at most O(abNlogN)O(abN\log N).

It remains to prove that the minimum support size ss is at least N/O(ablog2N)N/O(ab\log^{2}N). For every hph_{p}\in\mathcal{H} and j[q]j\in[q], if jpj\geq p, then h1(j)h^{-1}(j) is empty. Otherwise, when j<pj<p, we have from the definition of hph_{p} that |hp1(j)|N/pN/O(ablog2N)|h_{p}^{-1}(j)|\geq\lfloor{N/p}\rfloor\geq N/O(ab\log^{2}N) as p100ablog2Np\leq 100ab\log^{2}N. ∎

From the guarantees given in 3.5, we are now ready to construct our set family and prove Lemma 3.2.

Proof of Lemma 3.2.

Given t,βt,\beta as inputs, let N=t,a=β1,b=1N=t,a=\beta-1,b=1. Since β2\beta\geq 2 we have bab\leq a. We can assume t200βlog2tt\geq 200\beta\log^{2}t. Otherwise, we can construct the terminal family 𝒯\mathcal{T} by choosing all possible pairs of the set [t]=T[t]=T. Since there is at least one terminal in LL and RR, one of the pairs is isolated by (T,β)(T,\beta)-unbalanced cut (L,S,R)(L,S,R). The size of the family is at most O(β2log4t)O(\beta^{2}\log^{4}t) and the time taken to construct is at most O(β2log4t)O(βtlog2t)O(\beta^{2}\log^{4}t)\leq O(\beta t\log^{2}t).
Since bab\leq a and N200ablog2NN\geq 200ab\log^{2}N, we can apply 3.5 and construct a HM hash family

=[t,β1,1,O(βlogt),tO(βlog2t)]O(βlog2t).\mathcal{H}=[t,\beta-1,1,O(\beta\log t),\frac{t}{O(\beta\log^{2}t)}]_{O(\beta\log^{2}t)}.

We construct the terminal set family 𝒯\mathcal{T} from \mathcal{H} as follows.

𝒯={hp1(j)hp,j[p]}.\mathcal{T}=\{h_{p}^{-1}(j)\mid h_{p}\in\mathcal{H},j\in[p]\}.

The size of the terminal set family 𝒯\mathcal{T} is at most ||×qβlogt×βlog2t=β2log3t|\mathcal{H}|\times q\leq\beta\log t\times\beta\log^{2}t=\beta^{2}\log^{3}t. For each hash function hph_{p}\in\mathcal{H}, we can construct all terminal sets {hp1(j)j[p]}𝒯\{h_{p}^{-1}(j)\mid j\in[p]\}\subseteq\mathcal{T} in one go by evaluating hp(x)h_{p}(x) over all x[t]x\in[t]. So it takes t×||O(βtlogt)t\times|\mathcal{H}|\leq O(\beta t\log t) time for the construction of 𝒯\mathcal{T}. It remains to prove that for every (T,β)(T,\beta)-unbalanced cut (L,S,R)(L,S,R), there exists a terminal set T𝒯T^{\prime}\in\mathcal{T} such that (L,S,R)(L,S,R) isolates TT^{\prime}.

Let (L,S,R)(L,S,R) be a (T,β)(T,\beta)-unbalanced cut with |T(LS)|<β|T\cap(L\cup S)|<\beta. Let B={v}B=\{v\} where vTLv\in T\cap L is any arbitrary terminal and A=(T(LS)){v}A=(T\cap(L\cup S))\setminus\{v\}. AA and BB are disjoint subsets of TT with |B|=1|B|=1 and |A|<β1|A|<\beta-1. Based on the Definition 3.4, there exists a hash function hh\in\mathcal{H} that hashes vv to a different value from all other terminals in AA. Let j=h(v)j=h(v). Then, there exists a set T=h1(j)𝒯T^{*}=h^{-1}(j)\in\mathcal{T} that contains vv and does not contain any other terminal in LSL\cup S. From 3.5, we have the guarantee that every non-empty set in 𝒯\mathcal{T} has size at least s=t/100βlog2t2s=t/100\beta\log^{2}t\geq 2 as t200βlog2tt\geq 200\beta\log^{2}t. Hence, we can conclude that TRT^{*}\cap R\neq\emptyset and (L,S,R)(L,S,R) isolates TT^{*}. ∎

3.2 Terminal Cut Recursion Lemma

In this section, we define the key ideas that enable us to use the divide and conquer technique on graphs while preserving terminal vertex mincut. We first define in Definition 3.6 the notion of kk-left and kk-right graphs for a given cut parameter kk with respect to a vertex cut (L,S,R)(L,S,R) of GG. We then prove in Lemma 3.7 that the divide step preserves the terminal mincut of size less than kk and that the terminal mincut is recoverable from the smaller graphs in Lemma 3.8.

Definition 3.6.

Let G=(V,E)G=(V,E) be a graph with terminal set TVT\subseteq V. Let (L,S,R)(L,S,R) be a vertex cut in GG. We define the kk-left graph GLG_{L} (w.r.t (L,S,R)(L,S,R)) of GG as the graph GG after replacing RR with a clique KRK_{R} of size kk (selecting an arbitrary set of kk vertices that contains one terminal denoted as tRt_{R}), followed by adding biclique edges between SS and KRK_{R}. Optionally, we remove all edges inside SS, see Figure 1 for illustration. The definition of the kk-right graph GRG_{R} is similar where KLK_{L} is a clique replacing LL with tLt_{L} as a terminal in KLK_{L}.

Refer to caption
Figure 1: GL,GRG_{L},G_{R} are kk-left, kk-right graphs of GG w.r.t cut (L,S,R)(L,S,R).

Let GG be a graph with terminal set TT. Let (L,S,R)(L,S,R) be a TT-Steiner cut, and let TL:=TLT_{L}:=T\cap L, TR:=TRT_{R}:=T\cap R. Let GLG_{L} be the kk-left graph w.r.t. (L,S,R)(L,S,R) and denote tRt_{R} to be an arbitrary terminal in the clique. We also define GRG_{R} and tLt_{L} symmetrically.

Lemma 3.7.

If κG(T)<k\kappa_{G}(T)<k, then min{κG(S),κGL(TL{tR}),κGR(TR{tL})}<k\min\{\kappa_{G}(S),\kappa_{G_{L}}(T_{L}\cup\{t_{R}\}),\kappa_{G_{R}}(T_{R}\cup\{t_{L}\})\}<k.

Proof.

If |S|<k|S|<k, then κGL(TL{tR}),κGR(TR{tL})<k\kappa_{G_{L}}(T_{L}\cup\{t_{R}\}),\kappa_{G_{R}}(T_{R}\cup\{t_{L}\})<k follows by Definition 3.6 and the fact that (L,S,R)(L,S,R) is a TT-Steiner cut as shown in the left side of Figure 2. Now we assume |S|k|S|\geq k. Since κG(T)<k\kappa_{G}(T)<k, there is a min Steiner cut (L,S,R)(L^{\prime},S^{\prime},R^{\prime}) of size less than kk. If κG(S)<k\kappa_{G}(S)<k, then we are done. Now assume κG(S)k\kappa_{G}(S)\geq k. Thus, SS^{\prime} does not separate x,yx,y for all x,ySx,y\in S. That is, SLSS\subseteq L^{\prime}\cup S^{\prime} or SSRS\subseteq S^{\prime}\cup R^{\prime}, i.e., SR=S\cap R^{\prime}=\emptyset or SL=S\cap L^{\prime}=\emptyset. WLOG, we assume SR=S\cap R^{\prime}=\emptyset. Since SS^{\prime} is a TT-Steiner cut, RTR^{\prime}\cap T\neq\emptyset, and so there must be a terminal vertex from TT in LRL\cap R^{\prime} or in RRR\cap R^{\prime}. Let tTt\in T be a terminal vertex in LRL\cap R^{\prime} (otherwise, the argument is symmetric).

Refer to caption
Figure 2: SS^{\prime} separates LRL\cap R^{\prime} from the rest of the graph.

Next, we prove that SLSS^{\prime}\subseteq L\cup S (i.e., SR=S^{\prime}\cap R=\emptyset) as shown in the right side of Figure 2. Let Z:=NG(LR)Z:=N_{G}(L\cap R^{\prime}). Since TLT\cap L^{\prime}\neq\emptyset and tLRt\in L\cap R^{\prime}, ZZ is a TT-Steiner cut. Since SR=S\cap R^{\prime}=\emptyset and there is no edge from LRL\cap R^{\prime} to RR as there are no edges from LL to RR, we have Z=S(LS)SZ=S^{\prime}\cap(L\cup S)\subseteq S^{\prime}. Therefore, |S|=|S(LS)|+|SR|=|Z|+|SR||S^{\prime}|=|S^{\prime}\cap(L\cup S)|+|S^{\prime}\cap R|=|Z|+|S^{\prime}\cap R|. Observe that |S|=|Z||S^{\prime}|=|Z| since ZZ is a TT-Steiner cut where ZSZ\subseteq S^{\prime} and SS^{\prime} is a min TT-Steiner cut. So, |SR|=0|S^{\prime}\cap R|=0, and thus SR=S^{\prime}\cap R=\emptyset.

Refer to caption
Figure 3: SS^{\prime} is a TL{tR}T_{L}\cup\{t_{R}\}-separator in GLG_{L}

Finally, we argue that SS^{\prime} is a TL{tR}T_{L}\cup\{t_{R}\}-Steiner cut in GLG_{L}, refer Figure 3. Since RS=R^{\prime}\cap S=\emptyset and SR=S^{\prime}\cap R=\emptyset, SS^{\prime} remains a separator in GLG_{L}. It remains to prove that SS^{\prime} separates tt and tRt_{R} in GLG_{L}. Observe that SS^{\prime} separates tt and yy in GG for all yRy\in R. In particular, SS^{\prime} separates tt and tRt_{R} in GG. Therefore, SS^{\prime} separates tt and tRt_{R} in GLG_{L}. ∎

Lemma 3.8.

A separator of size less than kk in GLG_{L} or GRG_{R} is also a separator in GG. Furthermore, for all x,yV(GL)x,y\in V(G_{L}) (or in V(GR)V(G_{R})), a min (x,y)(x,y)-separator of size less than kk in GLG_{L} (or GRG_{R}) is also an (x,y)(x,y)-separator in GG.

Proof.

We prove for GLG_{L}. The proof for GRG_{R} is similar. Let (L,S,R)(L^{\prime},S,R^{\prime}) be a vertex cut smaller than kk in GLG_{L}. We prove that there is S′′SS^{\prime\prime}\subseteq S^{\prime} such that S′′S^{\prime\prime} is a separator in GG. If true, then SS^{\prime} must also be a separator in GG, and we are done. Since |S|<k|S^{\prime}|<k and KRK_{R} has kk vertices, there is a vertex xKRx\in K_{R} that is in LL^{\prime} or in RR^{\prime}. WLOG, xLx\in L^{\prime}. Since we have biclique edges between KRK_{R} and SS in GLG_{L} and there is no edge between LL^{\prime} and RR^{\prime}, SLSS\subseteq L^{\prime}\cup S^{\prime} and KRLSK_{R}\subseteq L^{\prime}\cup S^{\prime}.

Refer to caption
Figure 4: Moving KRK_{R} from LL^{\prime} to L′′L^{\prime\prime} followed by replacing KRK_{R} with RR

By moving the clique to LL^{\prime} as shown in Figure 4, (L′′,S′′,R):=(LKR,SKR,R)(L^{\prime\prime},S^{\prime\prime},R^{\prime}):=(L^{\prime}\cup K_{R},S^{\prime}-K_{R},R^{\prime}) is a vertex cut in GLG_{L}. To obtain GG from GLG_{L}, we replace KRK_{R} with RR, add edges between RR and RSR\cup S according to GG and (possibly) add edges inside SS. Since KRL′′K_{R}\subseteq L^{\prime\prime} and SL′′S′′S\subseteq L^{\prime\prime}\cup S^{\prime\prime}, we never add an edge from L′′RL^{\prime\prime}\cup R to RR^{\prime}. Therefore, (L′′RKR,S′′,R)(L^{\prime\prime}\cup R-K_{R},S^{\prime\prime},R^{\prime}) is a vertex cut in GG, and so S′′=SKRSS^{\prime\prime}=S^{\prime}-K_{R}\subseteq S^{\prime} remains a separator in GG. The proof for the second statement is similar. ∎

3.3 Terminal Reduction Algorithm

We now describe our algorithm that takes as inputs G=(V,E),TVG=(V,E),T\subseteq V and outputs either a separator of size less than kk or a terminal set TVT^{\prime}\subset V of size |T|<|T|/2|T^{\prime}|<|T|/2 such that κG(T)<k\kappa_{G}(T^{\prime})<k whenever κG(T)<k\kappa_{G}(T)<k. We only prove the correctness of Theorem 1.3 using this algorithm and defer the implementation and proof of runtime guarantee to the next section.

Algorithm.

Let k,ϕ,ϕ¯k,\phi,\bar{\phi} be the global parameters such that ϕ¯>ϕ\bar{\phi}>\phi. Given a graph GG, if it is a (T,ϕ)(T,\phi)-expander, we can find mincut using Theorem 3.1 as any cut of size less than kk is (T,k/ϕ)(T,k/\phi)-unbalanced. If TT has at most 10k/ϕ10k/\phi terminals, we can run (s,t)(s,t)-max-flow on all pairs of terminals to find the mincut.

So we can assume that there are at least 10k/ϕ10k/\phi many terminals, and the graph has (T,ϕ)(T,\phi)-sparse cut. Let (L,S,R)(L,S,R) be a (T,ϕ¯)(T,\bar{\phi})-sparse cut. We construct GLG_{L} and GRG_{R} w.r.t the vertex cut (L,S,R)(L,S,R) as defined in Definition 3.6 such that tRt_{R} and tLt_{L} are the terminals present in the clique KRK_{R} and KLK_{L} respectively and recurse on them. For GLG_{L}, we consider the terminals present in LL and the terminal tRt_{R} in KRK_{R} i.e. (TL){tR}(T\cap L)\cup\{t_{R}\}, similarly, for GRG_{R}. Note that we ignore the terminals of SS in both cases.

If either of the recursive calls returns a separator of size less than kk, we return that separator. Otherwise, they return terminal sets SLS^{\prime}_{L} and SRS^{\prime}_{R} such that κGL(SL)<k\kappa_{G_{L}}(S^{\prime}_{L})<k whenever κGL(TL{tR})<k\kappa_{G_{L}}(T_{L}\cup\{t_{R}\})<k and κGR(SR)<k\kappa_{G_{R}}(S^{\prime}_{R})<k whenever κGR(TR{tL})<k\kappa_{G_{R}}(T_{R}\cup\{t_{L}\})<k. From Lemma 3.7, we have min{κG(S),κGL(TL{tR}),κGR(TR{tL})}<k\min\{\kappa_{G}(S),\kappa_{G_{L}}(T_{L}\cup\{t_{R}\}),\kappa_{G_{R}}(T_{R}\cup\{t_{L}\})\}<k whenever κG(T)<k\kappa_{G}(T)<k. Hence we have min{κG(S),κGL(SL),κGR(SR)}<k\min\{\kappa_{G}(S),\kappa_{G_{L}}(S^{\prime}_{L}),\kappa_{G_{R}}(S^{\prime}_{R})\}<k whenever κG(T)<k\kappa_{G}(T)<k and hence we return T=SSLSRT^{\prime}=S\cup S^{\prime}_{L}\cup S^{\prime}_{R} as the new terminal set.

We formally describe the algorithm in Algorithm 1 and prove its correctness in the following lemma.

Global variables: Connectivity parameter kk and 0.5>ϕ¯>ϕ>00.5>\bar{\phi}>\phi>0.
Input: A graph G=(V,E)G=(V,E) and a terminal set TVT\subseteq V, and connectivity parameter kk and 0.5>ϕ¯>ϕ>00.5>\bar{\phi}>\phi>0.
Output: Either a separator of size less than kk or a new terminal set TVT^{\prime}\subseteq V.
1 if GG is a (T,ϕ)(T,\phi)-vertex expander or |T|10k/ϕ|T|\leq 10k/\phi  then
2       return \emptyset if κG(T)k\kappa_{G}(T)\geq k. Otherwise, return a separator of size less than kk using all pairs max-flows or using Theorem 3.1.
3Let (L,S,R)(L,S,R) be a (T,ϕ¯)(T,\bar{\phi})-sparse cut.
4 Let GLG_{L} and GRG_{R} be kk-left and kk-right graphs of GG w.r.t. (L,S,R)(L,S,R).
5 Let tRt_{R} be a terminal in the clique of GLG_{L}, and tLt_{L} be a terminal in the clique of GRG_{R}.
6 Let TL=TLT_{L}=T\cap L, and TR=TRT_{R}=T\cap R.
7 SLReduceTerminalSlowk,ϕ,ϕ¯(GL,TL{tR})S^{\prime}_{L}\leftarrow\textsc{ReduceTerminalSlow}_{k,\phi,\bar{\phi}}(G_{L},T_{L}\cup\{t_{R}\})
8 SRReduceTerminalSlowk,ϕ,ϕ¯(GR,TR{tL})S^{\prime}_{R}\leftarrow\textsc{ReduceTerminalSlow}_{k,\phi,\bar{\phi}}(G_{R},T_{R}\cup\{t_{L}\})
9 if SLS^{\prime}_{L} (or SRS^{\prime}_{R}) is a separator in GLG_{L} (or GRG_{R}) of size <k<k then
10       By Lemma 3.8, it must be a separator in GG.
11       return the corresponding separator.
12else
13       SLS^{\prime}_{L} and SRS^{\prime}_{R} are both new terminal sets of GG.
14       return SLSRS.S_{L}^{\prime}\cup S^{\prime}_{R}\cup S.
Algorithm 1 ReduceTerminalSlow(G,T)k,ϕ,ϕ¯{}_{k,\phi,\bar{\phi}}(G,T)
Lemma 3.9.

Algorithm 1 on G,TG,T with parameters k,ϕ,ϕ¯k,\phi,\bar{\phi} outputs either a separator of size <k<k or a new terminal set TVT^{\prime}\subseteq V such that κ(T)<k\kappa(T^{\prime})<k whenever κ(T)<k\kappa(T)<k.

Observe that the new terminal set TT^{\prime} size depends on the recursion depth, which we bound in the next section.

Proof.

We prove that Algorithm 1 outputs correctly as stated on every connected graph with a terminal set by induction on the number of terminals tt. Observe that the parameters k,ϕ,ϕ¯k,\phi,\bar{\phi} are fixed. When t10kϕ1t\leq 10k\phi^{-1}, it is the base case and we handle it by computing all pairs max-flow over the terminal set TT. Next, for all t10kϕ1+1t\geq 10k\phi^{-1}+1, we assume that the statement holds up to t1t-1 terminals, and we now prove that the statement continues to hold for tt terminals. If GG is a (T,ϕ)(T,\phi)-expander, then we know that GG has a (T,k/ϕ)(T,k/\phi)-unbalanced cut and we can use Theorem 3.1 in this case to detect a cut of size less than kk. Otherwise, let (L,S,R)(L,S,R) be a (T,ϕ¯)(T,\bar{\phi})-sparse cut. Denote TL=TL,TR=TR,TS=TST_{L}=T\cap L,T_{R}=T\cap R,T_{S}=T\cap S. We prove that |TL|,|TR|2|T_{L}|,|T_{R}|\geq 2. If true, then GLG_{L} and GRG_{R} will have |TL{tR}|t1|T_{L}\cup\{t_{R}\}|\leq t-1 and |TR{tL}|t1|T_{R}\cap\{t_{L}\}|\leq t-1 terminals, respectively, so that we can apply inductive hypothesis on them. Suppose |TL|=1|T_{L}|=1. Then, the expansion h(L,S,R)=|S|/(1+|TS|)h(L,S,R)=|S|/(1+|T_{S}|). If TS=T_{S}=\emptyset, then h(L,S,R)1>ϕ¯h(L,S,R)\geq 1>\bar{\phi}. Otherwise, h(L,S,R)=|S|1+|TS||TS|1+|TS|1/2>ϕ¯h(L,S,R)=\frac{|S|}{1+|T_{S}|}\geq\frac{|T_{S}|}{1+|T_{S}|}\geq 1/2>\bar{\phi}. In either case, we have a contradiction.

It remains to prove that Algorithm 1 on GG and terminal set TT outputs correctly as stated in the lemma. Let SLS^{\prime}_{L} and SRS^{\prime}_{R} be the output from ReduceTerminalSlowk,ϕ,ϕ¯(GL,TL{tR})\textsc{ReduceTerminalSlow}_{k,\phi,\bar{\phi}}(G_{L},T_{L}\cup\{t_{R}\}) and ReduceTerminalSlowk,ϕ,ϕ¯(GR,TR{tL})\textsc{ReduceTerminalSlow}_{k,\phi,\bar{\phi}}(G_{R},T_{R}\cup\{t_{L}\}), respectively. By inductive hypothesis, SLS^{\prime}_{L} is either a separator in GLG_{L} of size <k<k or a new terminal set such that κGL(SL)<k\kappa_{G_{L}}(S^{\prime}_{L})<k whenever κG(TL{tR})<k\kappa_{G}(T_{L}\cup\{t_{R}\})<k. Similarly, SRS^{\prime}_{R} is either a separator in GRG_{R} of size <k<k or a new terminal set such that κGR(SR)<k\kappa_{G_{R}}(S^{\prime}_{R})<k whenever κG(TR{tL})<k\kappa_{G}(T_{R}\cup\{t_{L}\})<k. If SLS^{\prime}_{L} or SRS^{\prime}_{R} is a separator for GLG_{L} or GRG_{R}, respectively, then Lemma 3.8 implies that one of them is a separator in GG, and we are done. Now, assume that SLS^{\prime}_{L} and SRS^{\prime}_{R} are the new terminal sets. We prove that κG(SLSRS)<k\kappa_{G}(S^{\prime}_{L}\cup S^{\prime}_{R}\cup S)<k whenever κG(T)<k\kappa_{G}(T)<k. Let us assume that κG(T)<k\kappa_{G}(T)<k. We are done if κG(S)<k\kappa_{G}(S)<k. Now, assume κG(S)k\kappa_{G}(S)\geq k. By Lemma 3.7, either κGL(TL{tR})<k\kappa_{G_{L}}(T_{L}\cup\{t_{R}\})<k or κGR(TR{tL})<k\kappa_{G_{R}}(T_{R}\cup\{t_{L}\})<k, and thus κGL(SL)<k\kappa_{G_{L}}(S^{\prime}_{L})<k or κGR(SR)<k\kappa_{G_{R}}(S^{\prime}_{R})<k. By Lemma 3.8, κG(SL)<k\kappa_{G}(S^{\prime}_{L})<k or κG(SR)<k\kappa_{G}(S^{\prime}_{R})<k, and we are done.∎

3.4 Fast Implementation of Algorithm 1

We have proved the correctness of Algorithm 1 (ReduceTerminalSlow) in the previous section. In this section, we use the following important lemma from [LS22] to implement ReduceTerminal following the approach in Algorithm 1.

Lemma 3.10 ([LS22]).

Let G=(V,E)G=(V,E) be an nn-vertex mm-edge graph with a terminal set TVT\subseteq V. Given a parameter 0<ϕ¯1/100<\bar{\phi}\leq 1/10 and 1rlog20n1\leq r\leq\left\lfloor\log_{20}n\right\rfloor, there is a deterministic algorithm, TerminalBalancedCutOrExpander(G,T,ϕ¯,r)\textsc{TerminalBalancedCutOrExpander}(G,T,\bar{\phi},r), that computes a vertex cut (L,S,R)(L,S,R) (but possibly L=S=L=S=\emptyset) of GG (where we denote TLS:=T(LS)T_{L\cup S}:=T\cap(L\cup S) and TRS:=T(RS)T_{R\cup S}:=T\cap(R\cup S)) such that |S|ϕ¯|TLS||S|\leq\bar{\phi}|T_{L\cup S}| which further satisfies

  • either |TLS|,|TRS||T|/3|T_{L\cup S}|,|T_{R\cup S}|\geq|T|/3; or

  • |TRS||T|/2|T_{R\cup S}|\geq|T|/2 and G[RS]G[R\cup S] is a (TRS,ϕ)(T_{R\cup S},\phi)-vertex expander for some ϕ=ϕ¯/logO(r5)m\phi=\bar{\phi}/\log^{O(r^{5})}m.

The running time of this algorithm is O(m1+o(1)+O(1/r)logO(r4)(m)/ϕ)O(m^{1+o(1)+O(1/r)}\log^{O(r^{4})}(m)/\phi).

Algorithm.

ReduceTerminalk,ϕ\textsc{ReduceTerminal}_{k,\phi} takes G=(V,E)G=(V,E) and TVT\subseteq V as inputs and outputs either a separator of size less than kk or a new terminal set of a smaller size where k,ϕk,\phi are the global parameters.

If the graph has a small number of terminals, say at most 10k/ϕ10k/\phi, then we run max-flow on all pairs of the terminals, and we either return the mincut or return an empty terminal set denoting that κG(T)k\kappa_{G}(T)\geq k. Let r,ϕ¯r,\bar{\phi} be parameters as defined in the Algorithm 2 which are given as inputs to TerminalBalancedCutOrExpander along with G,TG,T that outputs a cut (L,S,R)(L,S,R).

From the Lemma 3.10 guarantee, the graph GG is a (T,ϕ)(T,\phi)-expander if L=S=L=S=\emptyset. Based on the definition of the expander, there are at most Θ(k/ϕ)\Theta(k/\phi) number of terminals on the smaller side of the mincut; hence it is (T,β)(T,\beta)-unbalanced for β=Θ(k/ϕ)\beta=\Theta(k/\phi) and we use Theorem 3.1 (Unbalanced) to solve for a cut of size less than kk.

Hence, LSL\neq S\neq\emptyset and we get a (T,ϕ¯)(T,\bar{\phi})-sparse cut by Lemma 3.10. If |S|<k|S|<k, we return SS as the separator. Otherwise, we have the two cases mentioned in the Lemma 3.10. In both cases, we must recurse on the left side of the cut. Hence, we construct the kk-left graph GLG_{L} as defined in Definition 3.6 and apply recursively ReduceTerminalk,ϕ\textsc{ReduceTerminal}_{k,\phi} with GL,(TL){tR}G_{L},(T\cap L)\cup\{t_{R}\} as inputs where tRt_{R} is any arbitrary terminal in RR. If the output SLS^{\prime}_{L} is a separator, then we return it.

Otherwise, we have to recurse on the right side, so we construct GRG_{R} similarly. If we are in the first case of Lemma 3.10, then we simply call ReduceTerminalk,ϕ\textsc{ReduceTerminal}_{k,\phi} with the terminal set (TR){tL}(T\cap R)\cup\{t_{L}\}, where tLt_{L} is arbitrary terminal in RR. If the output SRS^{\prime}_{R} is a separator, then we return it. Otherwise, SRS^{\prime}_{R} is the terminal set that we need to recurse.

If we are in the second case of Lemma 3.10, then we have the guarantee that G[SR]G[S\cup R] is a (TRS,2ϕ)(T_{R\cup S},2\phi)-vertex expander. We prove that kk-right graph (w.r.t. (L,S,R)(L,S,R)) GRG_{R} is still an (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-vertex expander. Note in this case we do not remove the edges inside SS while constructing GRG_{R}.

Claim 3.11.

If G[SR]G[S\cup R] is a (TRS,2ϕ)(T_{R\cup S},2\phi)-vertex expander, then the kk-right graph GRG_{R} is a (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-vertex expander.

Proof.

Suppose there is a (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-sparse cut (L,S,R)(L^{\prime},S^{\prime},R^{\prime}) in GRG_{R}. By removing the clique in GRG_{R}, we obtain another cut (L′′,S′′,R′′)(L^{\prime\prime},S^{\prime\prime},R^{\prime\prime}) in G[SR]G[S\cup R] where L′′=LV(KL)L^{\prime\prime}=L^{\prime}-V(K_{L}) S′′=SV(KL)S^{\prime\prime}=S^{\prime}-V(K_{L}) and R′′=RV(KL)R^{\prime\prime}=R-V(K_{L}). The expansion h(L′′,S′′,R′′)h(L^{\prime\prime},S^{\prime\prime},R^{\prime\prime}) is

|S′′||TRS(L′′S′′)||S||TRS(LS)||S||(TRS{tL})(LS)|1<2ϕ.\frac{|S^{\prime\prime}|}{|T_{R\cup S}\cap(L^{\prime\prime}\cup S^{\prime\prime})|}\leq\frac{|S^{\prime}|}{|T_{R\cup S}\cap(L^{\prime}\cup S^{\prime})|}\leq\frac{|S^{\prime}|}{|(T_{R\cup S}\cup\{t_{L}\})\cap(L^{\prime}\cup S^{\prime})|-1}<2\phi.

The first inequality follows since |TRS(L′′S′′)|=|TRS(LS)||T_{R\cup S}\cap(L^{\prime\prime}\cup S^{\prime\prime})|=|T_{R\cup S}\cap(L^{\prime}\cup S^{\prime})|. The last inequality follows since (L,S,R)(L^{\prime},S^{\prime},R^{\prime}) is a (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-sparse, and thus |(TRS{tL})(LS)|2|(T_{R\cup S}\cup\{t_{L}\})\cap(L^{\prime}\cup S^{\prime})|\geq 2. So, (L′′,S′′,R′′)(L^{\prime\prime},S^{\prime\prime},R^{\prime\prime}) is (TRS,2ϕ)(T_{R\cup S},2\phi)-sparse in G[SR]G[S\cup R], a contradiction. ∎

Hence, we can just use Unbalanced on GRG_{R} with (T(RS)){tL}(T\cap(R\cup S))\cup\{t_{L}\} as the terminal set and β=Θ(k/ϕ)\beta=\Theta(k/\phi). If it returns a separator, we return it. Otherwise, we guarantee no terminal cut of size less than kk in GRG_{R}; hence, we need not recurse further so SR=S^{\prime}_{R}=\emptyset. Finally, we return the union of SL,S,SRS^{\prime}_{L},S,S^{\prime}_{R} as the new terminal set.

We describe the algorithm formally in Algorithm 2 and prove the correctness and running time guarantee in Lemma 3.12.

Global variables: the original input graph Gorig=(Vorig,Eorig)G^{\textrm{orig}}=(V^{\textrm{orig}},E^{\textrm{orig}}) whose min degree is k\geq k. The parameters ϕ=(1/log(loglog|Vorig|)6|Eorig|)(0,1/10)\phi=(1/\log^{(\log\log|V^{\textrm{orig}}|)^{6}}|E^{\textrm{orig}}|)\in(0,1/10) and kk are also global.
1
Input: A graph G=(V,E)G=(V,E) with terminal set TVT\subseteq V.
Output: A separator of size <k<k or a new terminal set.
2rloglog|V|r\leftarrow\log\log|V|, ϕ¯2ϕlogO(r5)|E|\bar{\phi}\leftarrow 2\cdot\phi\cdot\log^{O(r^{5})}|E|
3 if |T|10k/ϕ|T|\leq 10k/\phi  then
4       Let SS^{\prime} be a minimizer of minx,yTκG(x,y)\min_{x,y\in T}\kappa_{G}(x,y).
5       return SS^{\prime} if |S|<k|S^{\prime}|<k, otherwise return an empty (terminal) set.
6      
7(L,S,R)TerminalBalancedCutOrExpander(G,ϕ¯,r)(L,S,R)\leftarrow\textsc{TerminalBalancedCutOrExpander}(G,\bar{\phi},r)
8 if L=S=L=S=\emptyset then
9       SUnbalanced(G,T,β)S^{\prime}\leftarrow\textsc{Unbalanced}(G,T,\beta) where β=Θ(kϕ1)\beta=\Theta(k\phi^{-1}) using Theorem 3.1.
10       return SS^{\prime} if |S|<k|S^{\prime}|<k, otherwise return an empty (terminal) set.
11      
12if |S|<k|S|<k then  return SS
Let TL=TL,TLS=T(LS),TR=TRT_{L}=T\cap L,T_{L\cup S}=T\cap(L\cup S),T_{R}=T\cap R and TRS=T(RS)T_{R\cup S}=T\cap(R\cup S).
  // By Lemma 3.10, (L,S,R)(L,S,R) is (T,ϕ¯)(T,\bar{\phi})-sparse.
13 Let GLG_{L} be the kk-left graph of GG w.r.t. (L,S,R)(L,S,R), and tRt_{R} be a terminal in the clique of GLG_{L} where we remove all edges in EGL(S,S)E_{G_{L}}(S,S) from GLG_{L}.
14
15SLReduceTerminalϕ,k(GL,TL{tR})S^{\prime}_{L}\leftarrow\textsc{ReduceTerminal}_{\phi,k}(G_{L},T_{L}\cup\{t_{R}\})
16 if SLS^{\prime}_{L} is a separator then
      return SLS^{\prime}_{L}
        // |SR|<k|S^{\prime}_{R}|<k
17      
18
19Let GRG_{R} be the kk-right graph of GG w.r.t. (L,S,R)(L,S,R), and tLt_{L} be a terminal in the clique of GRG_{R} where we remove all edges in EGR(S,S)E_{G_{R}}(S,S) from GRG_{R} if and only if min{TLS,TRS}|T|/3\min\{T_{L\cup S},T_{R\cup S}\}\geq|T|/3.
20
21if min{|TLS|,|TRS|}|T|/3\min\{|T_{L\cup S}|,|T_{R\cup S}|\}\geq|T|/3 then
22       SRReduceTerminalϕ,k(GR,TR{tL})S^{\prime}_{R}\leftarrow\textsc{ReduceTerminal}_{\phi,k}(G_{R},T_{R}\cup\{t_{L}\})
23       if SRS^{\prime}_{R} is a separator then
            return SRS^{\prime}_{R}
              // |SR|<k|S^{\prime}_{R}|<k
24            
25      
26else
27       By 3.11, GRG_{R} is a (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-vertex expander.
28       SRUnbalanced(GR,TRS{tL},β) where β=Θ(kϕ1)S^{\prime}_{R}\leftarrow\textsc{Unbalanced}(G_{R},T_{R\cup S}\cup\{t_{L}\},\beta)\text{ where }\beta=\Theta(k\phi^{-1}) using Theorem 3.1.
29       if SRS^{\prime}_{R} is a separator of size <k<k then
30            return SRS^{\prime}_{R}
31      else
32            SRS^{\prime}_{R}\leftarrow\emptyset
33      
  // SLS^{\prime}_{L} and SRS^{\prime}_{R} are new terminal sets.
34 return SLSSRS^{\prime}_{L}\cup S\cup S^{\prime}_{R} as a new terminal set.
Algorithm 2 ReduceTerminal(G,T)ϕ,k{}_{\phi,k}(G,T)
Lemma 3.12.

Let G=(V,E)G=(V,E) be a graph with a terminal set TVT\subseteq V where GG has min-degree at least kk and |V|=n,|E|=m,ϕ(0,1/10)|V|=n,|E|=m,\phi\in(0,1/10). The algorithm ReduceTerminal(G,T)ϕ,k{}_{\phi,k}(G,T) (Algorithm 2) either returns a separator of size <k<k or a new terminal set TVT^{\prime}\subseteq V such that κ(T)<k\kappa(T^{\prime})<k whenever κ(T)<k\kappa(T)<k. Furthermore, |T|ϕ¯|T|(1+ϕ)O(logn)|T^{\prime}|\leq\bar{\phi}|T|(1+\phi)^{O(\log n)} where ϕ¯=ϕmo(1)\bar{\phi}=\phi\cdot m^{o(1)}. The algorithm runs O(m1+o(1)ϕ1)O(m^{\prime 1+o(1)}\phi^{-1}) time outside max-flow calls, and the total number of edges in all max-flow instances is O(mk2ϕ2log2n)O(m^{\prime}k^{2}\phi^{-2}\log^{2}n) where m=(1+4ϕ¯)O(logn)mm^{\prime}=(1+4\bar{\phi})^{O(\log n)}m.

The main theorem Theorem 1.3 is implied by substituting an appropriate value of ϕ\phi as given in Algorithm 2. The rest of the section is devoted to proving the Lemma 3.12.

Correctness.

We show that Algorithm 2 follows the description of Algorithm 1, i.e., it implements Algorithm 1. By Lemma 3.9, this means that Algorithm 2 outputs either a separator of size less than kk or a new terminal set TVT^{\prime}\subseteq V such that κ(T)<k\kappa(T^{\prime})<k whenever κ(T)<k\kappa(T)<k. The base cases happen when |T|10k/ϕ|T|\leq 10k/\phi (Algorithm 2) or when L=S=L=S=\emptyset (Algorithm 2). The correctness is immediate if |T|10k/ϕ|T|\leq 10k/\phi. If L=S=L=S=\emptyset at Algorithm 2, then GG is a (T,2ϕ)(T,2\phi)-vertex expander, so GG contains a (T,β)(T,\beta)-unbalanced vertex mincut whenever κG(T)<k\kappa_{G}(T)<k. By Theorem 3.1, Unbalanced(G,T,β)(G,T,\beta) outputs a separator SS^{\prime} of size less than kk whenever κG(T)<k\kappa_{G}(T)<k. If |S|k|S^{\prime}|\geq k, we have verified that κG(T)k\kappa_{G}(T)\geq k, and thus an empty terminal set is returned correctly. If |S|<k|S|<k (Algorithm 2), then SS must be a separator of GG, and we are done.

We now assume that we do not execute the base cases. By Lemma 3.10, (L,S,R)(L,S,R) is a (T,ϕ¯)(T,\bar{\phi})-sparse. We recurse on (GL,TL{tR})(G_{L},T_{L}\cup\{t_{R}\}) in the same way as in Algorithm 1. For GRG_{R}, either we recurse on (GR,TR{tL})(G_{R},T_{R}\cup\{t_{L}\}) or we immediately solve GRG_{R}. If min{|TLS|,|TRS|}|T|/3\min\{|T_{L\cup S}|,|T_{R\cup S}|\}\geq|T|/3, then we recurse on (GR,TR{tL})(G_{R},T_{R}\cup\{t_{L}\}) in the same way as in Algorithm 1. Otherwise, Lemma 3.10 together with 3.11 imply that GRG_{R} is (TRS{tL},ϕ)(T_{R\cup S}\cup\{t_{L}\},\phi)-vertex expander. Thus, GRG_{R} contains a (TRS{tL},β)(T_{R\cup S}\cup\{t_{L}\},\beta)-unbalanced vertex mincut whenever κGR(TRS{tL})<k\kappa_{G_{R}}(T_{R\cup S}\cup\{t_{L}\})<k. By Theorem 3.1, Unbalanced(GR,TRS{tL},β)(G_{R},T_{R\cup S}\cup\{t_{L}\},\beta) (Algorithm 2) outputs a separator SRS^{\prime}_{R} of size <k<k whenever κGR(TRS{tL})<k\kappa_{G_{R}}(T_{R\cup S}\cup\{t_{L}\})<k. If |SR|k|S^{\prime}_{R}|\geq k, then κGR(TRS{TL})k\kappa_{G_{R}}(T_{R\cup S}\cup\{T_{L}\})\geq k, and thus we can view the subproblem on GRG_{R} as returning SRS^{\prime}_{R} as an emptyset, and hence the new terminal set SLSSRS^{\prime}_{L}\cup S\cup S^{\prime}_{R} is returned according to Algorithm 1.

Recursion tree.

It remains to analyze the size of the new terminal and the total running time. We first set up notations regarding the recursion tree 𝒯\mathcal{T}. Let Gorig,TorigG^{\textrm{orig}},T^{\textrm{orig}} be the graph and its terminal set at the root of the recursion tree ReduceTerminalϕ,k(Gorig,Torig)\textsc{ReduceTerminal}_{\phi,k}(G^{\text{orig}},T^{\text{orig}}). We represent each subproblem by (G,T)(G,T), the graph and its terminal set. If GG is (T,ϕ)(T,\phi)-vertex expander or |T|10k/ϕ|T|\leq 10k/\phi, then we treat this subproblem as a leaf node in the recursion tree. Otherwise, we obtain a (T,ϕ¯)(T,\bar{\phi})-sparse cut (L,S,R)(L,S,R), and recurse on (GL,TL{tR})(G_{L},T_{L}\cup\{t_{R}\}) and (GR,TR{tR})(G_{R},T_{R}\cup\{t_{R}\}). Here, we treat (GL,TL{tR})(G_{L},T_{L}\cup\{t_{R}\}) and (GR,TR{tL})(G_{R},T_{R}\cup\{t_{L}\}) as a left child and a right child – respectively of (G,T)(G,T). Furthermore, for each internal node (G,T)(G,T), we also denote (G,T;(L,S,R))(G,T;(L,S,R)) where (L,S,R)(L,S,R) is the sparse cut obtained in the subproblem. For the analysis, let us assume that Algorithm 2 is always false. Each subproblem’s sparse cut has size at least kk, which can only give a worse bound.

Lemma 3.13.

The depth of the recursion tree 𝒯\mathcal{T} is O(log|Torig|)=O(logn)O(\log|T^{\textrm{orig}}|)=O(\log n).

Proof.

Let (G,T)(G,T) be any internal node in the recursion tree. Let (L,S,R)(L,S,R) be (T,ϕ¯)(T,\bar{\phi})-sparse cut in GG with the properties as stated in Lemma 3.10. We show that the terminal set of each subproblem decreases by a constant factor. If |TLS|,|TRS||T|/3|T_{L\cup S}|,|T_{R\cup S}|\geq|T|/3, then |TL|,|TR||T||T|/32|T|/3|T_{L}|,|T_{R}|\leq|T|-|T|/3\leq 2|T|/3. Therefore, |TL{tR}|,|TR{tL}|2|T|/3+10.77|T||T_{L}\cup\{t_{R}\}|,|T_{R}\cup\{t_{L}\}|\leq 2|T|/3+1\leq 0.77|T|. The last inequality follows since |T|10k/ϕ|T|\geq 10k/\phi. Otherwise, GRG_{R} is (TR{tL},ϕ)(T_{R}\cup\{t_{L}\},\phi)-vertex expander, and we treat the right subproblem as a leaf in the recursion tree. In this case, |TL|=|T||TRS||T|/2|T_{L}|=|T|-|T_{R\cup S}|\leq|T|/2, and thus |TL{tR}|=|TL|+10.6|T||T_{L}\cup\{t_{R}\}|=|T_{L}|+1\leq 0.6|T|. ∎

The size of the new terminal set.

If ReduceTerminalϕ,k(Gorig,Torig)\textsc{ReduceTerminal}_{\phi,k}(G^{\text{orig}},T^{\text{orig}}) returns a separator, then it must be of size less than kk, and we are done. Now we assume that a terminal set TT^{\prime} is returned where we denote t=|Torig|,t=|T|t=|T^{\text{orig}}|,t^{\prime}=|T^{\prime}|. Thus, every subproblem in the recursion must return a (possibly empty) terminal set. Let (G,T;(L,S,R))(G,T;(L,S,R)) be an internal node in the recursion tree. Let GLG_{L} and GRG_{R} be the kk-left/-right graphs of GG w.r.t. (L,S,R)(L,S,R), respectively. Denote t0=|T|t_{0}=|T|, we have |TL{tR}|+|TR{tL}|t0+2(1+ϕ)t0|T_{L}\cup\{t_{R}\}|+|T_{R}\cup\{t_{L}\}|\leq t_{0}+2\leq(1+\phi)t_{0}. The last inequality follows since |T|10kϕ110ϕ1|T|\geq 10k\phi^{-1}\geq 10\phi^{-1} for non-base cases. Therefore, at level, ii, the total number of terminals (as inputs) is at most (1+ϕ)i1t(1+\phi)^{i-1}t. Let \ell be the recursion depth. The total number of terminals as inputs to each subproblem at all levels is O((1+ϕ)+1t)O((1+\phi)^{\ell+1}t). Next, we bound the size of the output terminals. Observe that, every internal node (G,T;(L,S,R))(G,T;(L,S,R)), (L,S,R)(L,S,R) is a (T,ϕ¯)(T,\bar{\phi})-sparse cut, and thus |S|ϕ¯|TLS|ϕ¯t0|S|\leq\bar{\phi}|T_{L\cup S}|\leq\bar{\phi}\cdot t_{0}. Therefore, the number of output terminals is at most ϕ¯\bar{\phi} times the total number of input terminals. Thus, |T|=tϕ¯(1+ϕ)+1|T|ϕ¯(1+ϕ)O(logn)|T||T^{\prime}|=t^{\prime}\leq\bar{\phi}(1+\phi)^{\ell+1}|T|\leq\bar{\phi}(1+\phi)^{O(\log n)}|T|. The last inequality follows by Lemma 3.13.

Running time.

We bound the total number of edges of the graphs (as an input to each subproblem) in the recursion tree. Let (G,T;(L,S,R))(G,T;(L,S,R)) be an internal node in the recursion tree. We assume that min{TLS,TRS}|T|/3\min\{T_{L\cup S},T_{R\cup S}\}\geq|T|/3 because otherwise we would recurse only on GLG_{L}. We denote n0=|V(G)|,m0=|E(G)|,mL=|E(GL)|,mR=|E(GR)|n_{0}=|V(G)|,m_{0}=|E(G)|,m_{L}=|E(G_{L})|,m_{R}=|E(G_{R})|. Therefore,

mL+mRm0+2(|S|k+k2)m0+4|S|km0+4ϕ¯n0km0(1+4ϕ¯)\displaystyle m_{L}+m_{R}\leq m_{0}+2(|S|k+k^{2})\leq m_{0}+4|S|k\leq m_{0}+4\bar{\phi}\cdot n_{0}k\leq m_{0}(1+4\bar{\phi})

The first inequality follows since there are |S|k+k2|S|k+k^{2} additional edges from biclique edges in GLG_{L} and GRG_{R} and the clique edges, and we remove edges between SS in both GLG_{L} and GRG_{R}. The second inequality follows since |S|k|S|\geq k. The third inequality follows since |S|ϕ¯|TLS|ϕ¯n0|S|\leq\bar{\phi}\cdot|T_{L\cup S}|\leq\bar{\phi}n_{0}. The last inequality follows since the min-degrees of GLG_{L} and GRG_{R} are at least kk.

Therefore, at level ii, the total number of edges is at most O(m(1+4ϕ¯)i1)O(m(1+4\bar{\phi})^{i-1}). By summing over all ii, the total number of edges in the recursion tree is O(m(1+4ϕ¯)+1)=O(m(1+4ϕ¯)O(logn))O(m(1+4\bar{\phi})^{\ell+1})=O(m(1+4\bar{\phi})^{O(\log n)}). Finally, we bound the running time using Theorem 3.1 at the base cases and Lemma 3.10 at each internal node of the recursion tree. At the base cases, every instance of mm^{\prime} edges takes O(mβ2log4(n))=O~(mk2ϕ2)O(m^{\prime}\beta^{2}\log^{4}(n))=\tilde{O}(m^{\prime}k^{2}\phi^{-2}) time outside the max-flows, and the number of edges in all max-flow instances is at most O(mβ2log5(n))=O(mk2ϕ2log5(n))O(m^{\prime}\beta^{2}\log^{5}(n))=O(m^{\prime}k^{2}\phi^{-2}\log^{5}(n)). At each internal node in the recursion, each instance of mm^{\prime} edges takes m1+o(1)ϕ1m^{\prime 1+o(1)}\phi^{-1}.

4 A (1+ϵ)(1+\epsilon)-Approximation Algorithm

In this section, we give a (1+ϵ)(1+\epsilon)-approximation algorithm for vertex connectivity. Recall Theorem 1.2 from Section 1.

See 1.2

The main idea of the algorithm is to use two graphs333the first graph is an induced sub-graph of an expander and the second graph is small set vertex expander. and apply (s,t)(s,t)-min cut on all the edges of them. We start with defining the guarantees required from these graphs and then state and prove the correctness of the algorithm.

Lemma 4.1 (Induced sub-graph of Ramanujan expander).

Given an integer nn and a degree parameter dd, a graph H=(VH,EH)H=(V_{H},E_{H}) with maximum degree 4d4d and |VH|=n|V_{H}|=n can be constructed in time O(nd)O(nd) such that for any L,RVHL,R\subseteq V_{H}, if |L||R|d4c4.42n2|L|\cdot|R|\cdot d\geq 4c_{{\ref{lem:gabow00}}}^{2}n^{2} for universal constant c4.4c_{{\ref{lem:gabow00}}} from Lemma 4.4, then EH(L,R)E_{H}(L,R)\neq\emptyset.

A graph X=(VX,EX)X=(V_{X},E_{X}) is called (α,β)(\alpha,\beta)-vertex expander for some α1,β0\alpha\leq 1,\beta\geq 0, if for every subset LVXL\subset V_{X} with |L|α|VX||L|\leq\alpha|V_{X}| we have |NX(L)|β|L||N_{X}(L)|\geq\beta|L| where NX(L)={uVLvL such that (u,v)EX}N_{X}(L)=\{u\in V\setminus L\mid\exists v\in L\text{ such that }(u,v)\in E_{X}\} represents the neighborhood of LL in XX.

Lemma 4.2 (Small set vertex expander).

Given an integer nn and a parameter ϵ\epsilon, a (ϵ20c2,2ϵ)(\frac{\epsilon}{20c^{2}},\frac{2}{\epsilon})-vertex expander, H=(VH,EH)H=(V_{H},E_{H}) with |VH|=n|V_{H}|=n and maximum degree O(1/ϵ)O(1/\epsilon) can be constructed in O(n/ϵ)O(n/\epsilon) time.

Before proving Theorem 1.2, we must observe a structural property of the (1+ϵ)(1+\epsilon)-approximate minimum cut. Let δ\delta be the minimum degree of the graph GG.

Claim 4.3.

Let (L,S,R)(L,S,R) be any minimum vertex cut of size κG\kappa_{G} in graph G=(V,E)G=(V,E) with minimum degree δ(1+ϵ)κG\delta\geq(1+\epsilon)\kappa_{G}. We have min(|L|,|R|)ϵκG\min(|L|,|R|)\geq\epsilon\kappa_{G}.

Proof.

WLOG, we can assume |L||R||L|\leq|R| and vv be any arbitrary vertex in LL. Since (L,S,R)(L,S,R) is a vertex cut, N(v)LS{v}N(v)\subseteq L\cup S\setminus\{v\}. So we have

(1+ϵ)κGδ|N(v)||L|+|S|1=|L|+κG1(1+\epsilon)\kappa_{G}\leq\delta\leq|N(v)|\leq|L|+|S|-1=|L|+\kappa_{G}-1

which implies |L|ϵκG|L|\geq\epsilon\kappa_{G}. ∎

The above lemma tells us that if the minimum degree of graph δ(1+ϵ)κG\delta\geq(1+\epsilon)\kappa_{G}, every minimum cut has at least ϵκG\epsilon\kappa_{G} vertices on both sides. We are now ready to state our algorithm and prove its correctness and running time.

Input: A graph G=(V,E)G=(V,E), approximation parameter ϵ\epsilon
Output: A separator SS of graph GG with guarantee of |S|<(1+ϵ)κG|S|<\lfloor(1+\epsilon)\kappa_{G}\rfloor
1 Let c4.4c_{{\ref{lem:gabow00}}} be the universal constant given in Lemma 4.4.
2 Let H1=(V,EH1)H_{1}=(V,E_{H_{1}}) be the graph constructed with |V|,d=1600c4.46ϵ2|V|,d=\frac{1600c_{{\ref{lem:gabow00}}}^{6}}{\epsilon^{2}} as inputs to Lemma 4.1
3 Let H2=(V,EH2)H_{2}=(V,E_{H_{2}}) be the (ϵ20c4.42,2ϵ)(\frac{\epsilon}{20c_{{\ref{lem:gabow00}}}^{2}},\frac{2}{\epsilon})-vertex expander constructed with |V|,ϵ|V|,\epsilon as inputs to Lemma 4.2
4 Let SS be the minimum separator seen so far, initialized with VV.
5 for e=(s,t)EH1EH2e=(s,t)\in E_{H_{1}}\cup E_{H_{2}} do
6       Compute T=T= min (s,t)(s,t)-separator in GG.
7       if |T|<|S||T|<|S| then
8            S=TS=T
9      
10if δ<|S|\delta<|S| then
11      return N(v)N(v) where vVv\in V such that deg(v)=δ\deg(v)=\delta.
12else
13      return SS.
Algorithm 3 ApproxVertexMinCut(G,ϵ)(G,\epsilon)

We prove the correctness and running time of Algorithm 3, thus proving Theorem 1.2.

Proof of Theorem 1.2.

Let (L,S,R)(L,S,R) be a minimum vertex cut in the graph GG with |V|=n|V|=n. We construct H1,H2H_{1},H_{2} by giving required inputs to Lemmas 4.1 and 4.2 respectively. Since the three graphs G,H1,H2G,H_{1},H_{2} have same number of vertices, we can assume they are having same vertex set VV by mapping them arbitrarily.

If |L|ϵn20c4.42|L|\geq\frac{\epsilon n}{20c_{{\ref{lem:gabow00}}}^{2}} and |R|ϵn20c4.42|R|\geq\frac{\epsilon n}{20c_{{\ref{lem:gabow00}}}^{2}}, then in graph H1H_{1}, we have

|L||R|dϵn20c4.42ϵn20c4.421600c4.46ϵ24c4.42n2.|L|\cdot|R|\cdot d\geq\frac{\epsilon n}{20c_{{\ref{lem:gabow00}}}^{2}}\cdot\frac{\epsilon n}{20c_{{\ref{lem:gabow00}}}^{2}}\cdot\frac{1600c_{{\ref{lem:gabow00}}}^{6}}{\epsilon^{2}}\geq 4c_{{\ref{lem:gabow00}}}^{2}n^{2}.

From the guarantee of Lemma 4.1 we have EH1(L,R)E_{H_{1}}(L,R)\neq\emptyset hence, we find SS computing (s,t)(s,t)-separator across that edge.

Otherwise, we can assume WLOG |L|<ϵn20c4.42|L|<\frac{\epsilon n}{20c_{{\ref{lem:gabow00}}}^{2}}. We can also assume that δ(1+ϵ)κG\delta\geq(1+\epsilon)\kappa_{G} otherwise, we would return the neighborhood of the minimum degree vertex in Algorithm 3. Hence from 4.3 we have |L|ϵκG|L|\geq\epsilon\kappa_{G}.

From the guarantee of Lemma 4.2 we have, |NH2(L)|2ϵ|L|2κG|N_{H_{2}}(L)|\geq\frac{2}{\epsilon}|L|\geq 2\kappa_{G}. Hence, in H2H_{2} there exists a neighbour of LL in RR as |S|=κG|S|=\kappa_{G}, implies EH2(L,R)E_{H_{2}}(L,R)\neq\emptyset. Applying (s,t)(s,t)-max-flow on two endpoints of an edge in EH2(L,R)E_{H_{2}}(L,R) gives us the minimum separator.

We apply (s,t)(s,t)-max-flow on GG for every edge (s,t)EH1EH2(s,t)\in E_{H_{1}}\cup E_{H_{2}} which are at most O(n/ϵ2)O(n/\epsilon^{2}) in total. The total additional time to construct both H1,H2H_{1},H_{2} is at most O(n/ϵ2)O(n/\epsilon^{2}) from the time guarantees of Lemmas 4.1 and 4.2. ∎

The rest of the section discusses constructing the graphs H1,H2H_{1},H_{2} stated in Algorithm 3.

Induced sub-graph of Ramanujan expander.

Here we prove Lemma 4.1. We construct the first graph from Ramanujan expanders. Ramanujan expanders are graphs with the strongest spectral expansion guarantee, which by the expander mixing lemma (see e.g. [Vad12]), implies that any two large enough sub-sets have an edge between them. This is formally described in the following theorem taken from [Gab06].

Lemma 4.4 (Discussion above Lemma 2.4 in [Gab06]).

Given integers n,dn,d\in\mathbb{N}, there exists a dd^{\prime}-regular Ramanujan expander X=(VX,EX)X=(V_{X},E_{X}) with |VX|c4.4n|V_{X}|\leq c_{{\ref{lem:gabow00}}}n, dd4dd\leq d^{\prime}\leq 4d for some universal constant c4.4c_{{\ref{lem:gabow00}}} and can be constructed in time O(nd)O(nd). We also have guarantee that for any L,RVXL,R\subseteq V_{X}, if |L||R|d4|VX|2|L|\cdot|R|\cdot d^{\prime}\geq 4|V_{X}|^{2}, then EX(L,R)E_{X}(L,R)\neq\emptyset.

Proof of Lemma 4.1.

Given integers n,dn,d apply Lemma 4.4 and construct dd^{\prime}-regular Ramanujan expander X=(VX,EX)X=(V_{X},E_{X}) in time O(nd)O(nd). We construct H=(VH,EH)H=(V_{H},E_{H}) from XX as follows. Let VHV_{H} be any arbitrary subset of VXV_{X} of size nn and EH=EX(VH,VH)E_{H}=E_{X}(V_{H},V_{H}) which is the subset of edges EXE_{X} whose both endpoints are in VHV_{H}. Hence it takes at most O(nd)O(nd) total time to construct the graph HH. Maximum degree of HH is at most d4dd^{\prime}\leq 4d from Lemma 4.4.

For any L,RVHVXL,R\subseteq V_{H}\subseteq V_{X}, if we have

|L||R|d|L||R|d4c4.42n24|VX|2|L|\cdot|R|\cdot d^{\prime}\geq|L|\cdot|R|\cdot d\geq 4c_{{\ref{lem:gabow00}}}^{2}n^{2}\geq 4|V_{X}|^{2}

as ddd^{\prime}\geq d, |L||R|d4c4.42n2|L||R|d\geq 4c_{{\ref{lem:gabow00}}}^{2}n^{2} and |VX|c4.4n|V_{X}|\leq c_{{\ref{lem:gabow00}}}n respectively. From Lemma 4.4 we have guarantee that EX(L,R)E_{X}(L,R)\neq\emptyset, hence EH(L,R)E_{H}(L,R)\neq\emptyset. ∎

Small set vertex expander.

Here we prove Lemma 4.2. As explained below, we create the second graph using Ramanujan expanders, which have a high spectral expansion that implies good vertex expansion.

Let AA be the adjacency matrix of the graph GG and DD be the diagonal matrix with ithi^{th} diagnoral entry as deg(vi)\deg(v_{i}) where viv_{i} is the ithi^{th} vertex of graph GG. Let λ1(G),λ2(G),\lambda_{1}(G),\lambda_{2}(G),\dots be the eigenvalues of the matrix AD1AD^{-1} sorted from high to low according to their absolute values. We recall the following fact of Ramanujan graphs.

Fact 4.5 ([LPS86]).

Let X=(VX,EX)X=(V_{X},E_{X}) be the dd^{\prime}-regular Ramanujan graph with nn^{\prime} vertices constructed using Lemma 4.4. We have λ2(X)2d1/d\lambda_{2}(X)\leq 2\sqrt{d^{\prime}-1}/d^{\prime}.

The spectral expansion γ(G)\gamma(G) of the graph GG is defined as 1λ2(G)1-\lambda_{2}(G). It is known that strong spectral expansion implies strong vertex expanders as stated below.

Lemma 4.6 (Lemma 4.6 from [Vad12] “spectral expansion implies vertex expansion”).

If GG is a regular digraph with spectral expansion γ(G)=1λ2(G)\gamma(G)=1-\lambda_{2}(G) then, for every α[0,1]\alpha\in[0,1], GG is an (α,1α+(1α)λ2(G)21)(\alpha,\frac{1}{\alpha+(1-\alpha)\lambda_{2}(G)^{2}}-1)444the lemma has extra 1-1 in the expansion parameter resulting due to change in the definition of (α,β)(\alpha,\beta)-vertex expander.-vertex expander.

Note that the statement works for undirected graphs by considering any undirected graph as a digraph by having two directed edges in both directions for each undirected edge. Now, we conclude the following claim.

Claim 4.7.

Given an integer nn and approximation parameter ϵ\epsilon, we can construct a (ϵ10c4.4,4ϵ)(\frac{\epsilon}{10c_{{\ref{lem:gabow00}}}},\frac{4}{\epsilon})-vertex expander, X=(VX,EX)X=(V_{X},E_{X}) of size at most c4.4nc_{{\ref{lem:gabow00}}}n and maximum degree O(1/ϵ)O(1/\epsilon) in time O(n/ϵ)O(n/\epsilon).

Proof.

Let XX be the Ramanujan graph constructed with n,d=40c4.4/ϵn,d=40c_{{\ref{lem:gabow00}}}/\epsilon as inputs. From the guarantees of Lemma 4.4 we know that |VX|c4.4n|V_{X}|\leq c_{{\ref{lem:gabow00}}}n and is dd^{\prime}-regular with dd4dd\leq d^{\prime}\leq 4d. From 4.5 we know that the second eigenvalue of XX, λ2(X)2d1/d2/d\lambda_{2}(X)\leq 2\sqrt{d^{\prime}-1}/d^{\prime}\leq 2/\sqrt{d}.

Hence, by setting α=ϵ/10c4.4\alpha=\epsilon/10c_{{\ref{lem:gabow00}}} in Lemma 4.6 we can conclude that XX is a (ϵ/10c4.4,β)(\epsilon/10c_{{\ref{lem:gabow00}}},\beta) where β=1(1α)λ2(X)2+α114d+ϵ10c4.414ϵ\beta=\frac{1}{(1-\alpha)\lambda_{2}(X)^{2}+\alpha}-1\geq\frac{1}{\frac{4}{d}+\frac{\epsilon}{10c_{{\ref{lem:gabow00}}}}}-1\geq\frac{4}{\epsilon} as c4.41c_{{\ref{lem:gabow00}}}\geq 1 and ϵ1\epsilon\leq 1. The time to construct the graph XX is at most O(nd)=O(n/ϵ)O(nd)=O(n/\epsilon). ∎

Note that the graph XX we constructed above is of size at most c4.4nc_{{\ref{lem:gabow00}}}n, but we need a vertex expander of size nn. Taking any induced sub-graph of size nn would not solve the problem as it might not be a vertex expander. Below, we show that contracting groups of vertices where each group is small preserves the vertex expansion.

Claim 4.8.

If G=(VG,EG)G=(V_{G},E_{G}) is a (α,β)(\alpha,\beta)-vertex expander with |VG|=ρn,|EG|=m|V_{G}|=\rho n,|E_{G}|=m for some parameter ρ>1\rho>1, then we can construct a (αρ,βρρ)(\frac{\alpha}{\lceil\rho\rceil},\frac{\beta\lfloor\rho\rfloor}{\lceil\rho\rceil})-vertex expander H=(VH,EH)H=(V_{H},E_{H}) of size nn in O(m)O(m) time.

Proof.

If ρ\rho is an integer, we obtain HH by contracting arbitrary groups of ρ\rho vertices in GG. However, if ρ\rho is not an integer, we contract arbitrary groups of ρ\lfloor\rho\rfloor or ρ\lceil\rho\rceil many vertices together to achieve a graph of size exactly nn.

Let LHVHL_{H}\subset V_{H} is of size at most αn/ρ\alpha n/\lceil\rho\rceil. For each vVHv\in V_{H} let CvVGC_{v}\subset V_{G} denote the set of vertices in GG contracted to form vv. Uncontracting the set of vertices in LHL_{H}, we get LG=vLHCvL_{G}=\cup_{v\in L_{H}}C_{v}. We have |LG|ρ|LH|αn|L_{G}|\leq\lceil\rho\rceil|L_{H}|\leq\alpha n, hence we have |NG(LG)|β|LG||N_{G}(L_{G})|\geq\beta|L_{G}| as GG is a (α,β)(\alpha,\beta)-vertex expander.

Let C[NG(LG)]={vVHCvNG(LG)}C[N_{G}(L_{G})]=\{v\in V_{H}\mid C_{v}\cap N_{G}(L_{G})\neq\emptyset\} be the set of contracted vertices in VHV_{H} such that corresponding set CvVGC_{v}\subset V_{G} has at least one vertex from NG(LG)N_{G}(L_{G}). Observe that C[NG(LG)]=NH(LH)C[N_{G}(L_{G})]=N_{H}(L_{H}). Every vertex in C[NG(LG)]C[N_{G}(L_{G})] has at least one edge from a vertex in LHL_{H} as the edge across LGL_{G} and NG(LG)N_{G}(L_{G}) is preserved after contraction. Hence, C[NG(LG)]NH(LH)C[N_{G}(L_{G})]\subseteq N_{H}(L_{H}). Every vertex vNH(LH)v\in N_{H}(L_{H}) has a vertex uLHu\in L_{H} such that (u,v)EH(u,v)\in E_{H}. Uncontracting u,vu,v we have every vertex wCvw\in C_{v} that has edges from some vertex xCuLGx\in C_{u}\subset L_{G} should belong to NG(LG)N_{G}(L_{G}), hence vC[NG(LG)]v\in C[N_{G}(L_{G})] and we have NH(LH)C[NG(LG)]N_{H}(L_{H})\subseteq C[N_{G}(L_{G})].

We have

|NH(LH)|=|C[NG(LG)]||NG(LG)|ρβ|LG|ρβρρ|L|.|N_{H}(L_{H})|=|C[N_{G}(L_{G})]|\geq\frac{|N_{G}(L_{G})|}{\lceil\rho\rceil}\geq\frac{\beta|L_{G}|}{\lceil\rho\rceil}\geq\frac{\beta\lfloor\rho\rfloor}{\lceil\rho\rceil}|L|.

The first and third inequalities follow as we contract at most ρ\lceil\rho\rceil and at least ρ\lfloor\rho\rfloor many vertices in GG to construct HH. Hence, expansion is at least βρρ\frac{\beta\lfloor\rho\rfloor}{\lceil\rho\rceil}.

The time taken to contract arbitrary vertices is at most O(m)O(m) by just going over each edge and mapping them to the new contracted vertices. ∎

We now conclude the proof of Lemma 4.2.

Proof of Lemma 4.2.

With n,ϵn,\epsilon as inputs to 4.7, we construct a (ϵ10c4.4,4ϵ)(\frac{\epsilon}{10c_{{\ref{lem:gabow00}}}},\frac{4}{\epsilon})-vertex expander of size ρn\rho n where 1ρc4.41\leq\rho\leq c_{{\ref{lem:gabow00}}} in time O(n/ϵ)O(n/\epsilon) with O(n/ϵ)O(n/\epsilon) edges. We now use 4.8 to reduce the size of the graph and construct a (ϵ10c4.4ρ,4ρϵρ)(\frac{\epsilon}{10c_{{\ref{lem:gabow00}}}\lceil\rho\rceil},\frac{4\lfloor\rho\rfloor}{\epsilon\lceil\rho\rceil})-vertex expander in time O(n/ϵ)O(n/\epsilon), which is also a (ϵ20c4.42,2ϵ)(\frac{\epsilon}{20c_{{\ref{lem:gabow00}}}^{2}},\frac{2}{\epsilon})-vertex expander as c4.41c_{{\ref{lem:gabow00}}}\geq 1. Hence, the total time is at most O(n/ϵ)O(n/\epsilon). ∎

5 Open Problems

Exact vertex connectivity.

It remains elusive whether there exists a linear-time deterministic algorithm for vertex connectivity as postulated by [AHU74]. Even an algorithm with running time O^(mn)\widehat{O}(mn), independent from kk, is already very interesting as asked by Gabow [Gab06]. The currently fastest deterministic algorithm can be obtained by plugging an almost-linear-time max flow algorithm by [BCG+23] into the algorithm by Gabow [Gab06]. This will result in an algorithm that takes O^(m(n+kmin{k,n})=O^(mn1.5)\widehat{O}(m(n+k\min\{k,\sqrt{n}\})=\widehat{O}(mn^{1.5}) time.

Approximate vertex connectivity.

Can we obtain an (1+ϵ)(1+\epsilon)-approximation algorithm using o(n)o(n) max-flow calls? The problem seems challenging to us even when we promise that there exists a vertex mincut (L,S,R)(L,S,R) where |L|,|S|,|R|=Ω(n)|L|,|S|,|R|=\Omega(n). Note that if randomization is allowed in this case, we can solve the problem with high probability by sampling O(logn)O(\log n) vertex pairs (s,t)(s,t) and compute (s,t)(s,t) vertex mincut, taking a total time of only O(logn)O(\log n) max flow calls.

Steiner vertex connectivity.

Our terminal reduction algorithm (Theorem 1.3) does not guarantee that TTT^{\prime}\subset T, i.e., the output terminal is a subset of the input terminal. Is it possible to strengthen our algorithm to guarantee this with the same running time? This would imply a deterministic O^(mk2)\widehat{O}(mk^{2})-time algorithm for the Steiner vertex mincut problem, matching the conditional lower bound for dense graphs [HLSW23]. A randomized algorithm for Steiner vertex mincut with near-optimal O^(mk2)\widehat{O}(mk^{2}) time is implicit in the literature.555To see this, let TT be the terminal set and (L,S,R)(L,S,R) be a Steiner vertex mincut of size less than kk. The algorithm starts by sampling each terminal with probability 1/k1/k and so, with probability Ω(1/k2)\Omega(1/k^{2}), we have TST\cap S is empty, but both TLT\cap L and TRT\cap R are not empty. Assuming this event, one can use the isolating vertex cut technique together with further subsampling (see [LNP+21]) to detect a Steiner mincut using logO(1)n\log^{O(1)}n max-flows. By repeating the algorithm O(k2logn)O(k^{2}\log n) times, we will detect a Steiner mincut with high probability.

Acknowledgement

This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme under grant agreement No 759557.

References

  • [AHU74] Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.
  • [BCG+23] Jan van den Brand, Li Chen, Maximilian Probst Gutenberg, Rasmus Kyng, Yang P. Liu, Richard Peng, Sushant Sachdeva, and Aaron Sidford. A deterministic almost-linear time algorithm for minimum-cost flow. In FOCS, 2023.
  • [BDD+82] Michael Becker, W. Degenhardt, Jürgen Doenhardt, Stefan Hertel, Gerd Kaninke, W. Kerber, Kurt Mehlhorn, Stefan Näher, Hans Rohnert, and Thomas Winter. A probabilistic algorithm for vertex connectivity of graphs. Inf. Process. Lett., 15(3):135–136, 1982.
  • [CGK14] Keren Censor-Hillel, Mohsen Ghaffari, and Fabian Kuhn. Distributed connectivity decomposition. In PODC, pages 156–165. ACM, 2014.
  • [CKL+22] Li Chen, Rasmus Kyng, Yang P. Liu, Richard Peng, Maximilian Probst Gutenberg, and Sushant Sachdeva. Maximum flow and minimum-cost flow in almost-linear time. In FOCS, pages 612–623. IEEE, 2022.
  • [CR94] Joseph Cheriyan and John H. Reif. Directed s-t numberings, rubber bands, and testing digraph k-vertex connectivity. Combinatorica, 14(4):435–451, 1994. Announced at SODA’92.
  • [CT91] Joseph Cheriyan and Ramakrishna Thurimella. Algorithms for parallel k-vertex connectivity and sparse certificates (extended abstract). In STOC, pages 391–401. ACM, 1991.
  • [EH84] Abdol-Hossein Esfahanian and S. Louis Hakimi. On computing the connectivities of graphs and digraphs. Networks, 14(2):355–366, 1984.
  • [ET75] Shimon Even and Robert Endre Tarjan. Network flow and testing graph connectivity. SIAM J. Comput., 4(4):507–518, 1975.
  • [Eve75] Shimon Even. An algorithm for determining whether the connectivity of a graph is at least k. SIAM J. Comput., 4(3):393–396, 1975.
  • [FNS+20] Sebastian Forster, Danupon Nanongkai, Thatchaphol Saranurak, Liu Yang, and Sorrachai Yingchareonthawornchai. Computing and testing small connectivity in near-linear time and queries via fast local cut algorithms. In SODA, pages 2046–2065. SIAM, 2020.
  • [Gab06] Harold N. Gabow. Using expander graphs to find vertex connectivity. J. ACM, 53(5):800–844, 2006. Announced at FOCS’00.
  • [Gal80] Zvi Galil. Finding the vertex connectivity of graphs. SIAM J. Comput., 9(1):197–199, 1980.
  • [Hen97] Monika Rauch Henzinger. A static 2-approximation algorithm for vertex connectivity and incremental approximation algorithms for edge and vertex connectivity. J. Algorithms, 24(1):194–220, 1997.
  • [HLSW23] Zhiyi Huang, Yaowei Long, Thatchaphol Saranurak, and Benyu Wang. Tight conditional lower bounds for vertex connectivity problems. In STOC, pages 1384–1395. ACM, 2023.
  • [HRG00] Monika Rauch Henzinger, Satish Rao, and Harold N. Gabow. Computing vertex connectivity: New bounds from old techniques. J. Algorithms, 34(2):222–250, 2000. Announced at FOCS’96.
  • [HRW17] Monika Henzinger, Satish Rao, and Di Wang. Local flow partitioning for faster edge connectivity. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pages 1919–1938, 2017.
  • [HT73] John E. Hopcroft and Robert Endre Tarjan. Dividing a graph into triconnected components. SIAM J. Comput., 2(3):135–158, 1973.
  • [Kar00] David R. Karger. Minimum cuts in near-linear time. J. ACM, 47(1):46–76, 2000. announced at STOC’96.
  • [Kle69] D Kleitman. Methods for investigating connectivity of large graphs. IEEE Transactions on Circuit Theory, 16(2):232–233, 1969.
  • [KP20] Karthik Cs and Merav Parter. Deterministic replacement path covering. CoRR, abs/2008.05421, 2020.
  • [KT15] Ken-ichi Kawarabayashi and Mikkel Thorup. Deterministic global minimum cut of a simple graph in near-linear time. In STOC, pages 665–674. ACM, 2015.
  • [Li21] Jason Li. Deterministic mincut in almost-linear time. In STOC, pages 384–395. ACM, 2021.
  • [LLW88] Nathan Linial, László Lovász, and Avi Wigderson. Rubber bands, convex embeddings and graph connectivity. Combinatorica, 8(1):91–102, 1988. Announced at FOCS’86.
  • [LNP+21] Jason Li, Danupon Nanongkai, Debmalya Panigrahi, Thatchaphol Saranurak, and Sorrachai Yingchareonthawornchai. Vertex connectivity in poly-logarithmic max-flows. In STOC ’21: 53rd Annual ACM SIGACT Symposium on Theory of Computing, Virtual Event, Italy, June 21-25, 2021, pages 317–329. ACM, 2021.
  • [LP02] H. W. Lenstra and Carl Pomerance. Primality testing with gaussian periods. In Manindra Agrawal and Anil Seth, editors, FST TCS 2002: Foundations of Software Technology and Theoretical Computer Science, pages 1–1, Berlin, Heidelberg, 2002. Springer Berlin Heidelberg.
  • [LP20] Jason Li and Debmalya Panigrahi. Deterministic min-cut in poly-logarithmic max-flows. In 61st IEEE Annual Symposium on Foundations of Computer Science, FOCS 2020. IEEE Computer Society, 2020.
  • [LPS86] A Lubotzky, R Phillips, and P Sarnak. Explicit expanders and the ramanujan conjectures. In Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing, STOC ’86, page 240–246, 1986.
  • [LS22] Yaowei Long and Thatchaphol Saranurak. Near-optimal deterministic vertex-failure connectivity oracles. In 63rd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2022, Denver, CO, USA, October 31 - November 3, 2022, pages 1002–1010. IEEE, 2022.
  • [Mat87] David W. Matula. Determining edge connectivity in o(nm). In FOCS, pages 249–251. IEEE Computer Society, 1987.
  • [Men27] Karl Menger. Zur allgemeinen kurventheorie. Fund. Math., 10:(1):96––115, 1927.
  • [NI92] Hiroshi Nagamochi and Toshihide Ibaraki. A linear-time algorithm for finding a sparse k-connected spanning subgraph of a k-connected graph. Algorithmica, 7(5&6):583–596, 1992.
  • [NSY19] Danupon Nanongkai, Thatchaphol Saranurak, and Sorrachai Yingchareonthawornchai. Breaking quadratic time for small vertex connectivity and an approximation scheme. In STOC, pages 241–252. ACM, 2019.
  • [Pod73] VD Podderyugin. An algorithm for finding the edge connectivity of graphs. Vopr. Kibern, 2:136, 1973.
  • [SY22] Thatchaphol Saranurak and Sorrachai Yingchareonthawornchai. Deterministic small vertex connectivity in almost linear time. In FOCS, pages 789–800. IEEE, 2022.
  • [Tar72] Robert Endre Tarjan. Depth-first search and linear graph algorithms. SIAM J. Comput., 1(2):146–160, 1972. Announced at FOCS’71.
  • [Vad12] Salil P. Vadhan. Pseudorandomness. Now Publishers Inc., Hanover, MA, USA, 2012.