Deterministic -Vertex Connectivity in Max-flows
Abstract
An -vertex -edge graph is -vertex connected if it cannot be disconnected by deleting less than 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 -connectivity in near-optimal time.111We use to hide an factor. Deterministic algorithms, unfortunately, have remained much slower even if we assume a linear-time max-flow algorithm: they either require at least time [Even’75; Henzinger Rao and Gabow, FOCS’96; Gabow, FOCS’00] or assume that [Saranurak and Yingchareonthawornchai, FOCS’22].
We show a deterministic algorithm for checking -vertex connectivity in time proportional to making max-flow calls, and, hence, in time using the deterministic max-flow algorithm by [Brand et al. FOCS’23]. Our algorithm gives the first almost-linear-time bound for all where and subsumes up to a sub polynomial factor the long-standing state-of-the-art algorithm by [Even’75] which requires 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 -approximation algorithm for vertex connectivity that makes max-flow calls, improving the bound of max-flow calls in the exact algorithm of [Gabow, FOCS’00]. The technique is based on Ramanujan graphs.
1 Introduction
Vertex connectivity of an -vertex -edge undirected graph , denoted by , 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 -vertex connectivity (i.e., deciding if vertex connectivity is at least or outputs a minimum vertex cut).222Note that, for all results stated below including our results, we can assume that by using the linear-time sparsification algorithm by [NI92]. When , -time algorithms are known using a depth-first search [Tar72] and a data structure called SPQR tree [HT73]. Very recently, [SY22] showed an -time algorithm which is almost-linear for all . For general , half a century ago, Kleitman [Kle69] showed an algorithm that makes max-flow calls. Then, Even [Eve75] improved the number of max-flow calls to . [HRG00] later showed how to implement the first calls to max-flow in Even’s algorithm in 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 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 max flow calls, which improved upon Even’s algorithm when .
To summarize state of the art, for any , all known deterministic algorithms require max-flow calls, which is 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 -vertex connectivity in max-flows. Let be an undirected graph. A vertex cut is a partition of the vertex set such that there is no edge between and . The size of is .
Theorem 1.1.
There is a deterministic algorithm that takes as inputs an -vertex -edge undirected graph , and connectivity parameter , and either outputs a vertex cut of size less than or concludes that is -vertex connected. The algorithm makes calls to unit-vertex-capacity max-flow instances with number of edges in total and spends an additional time.
In particular, our algorithm runs in max-flows whenever . This is the first algorithm that improves the long-standing state-of-the-art algorithm [Eve75] that runs in max-flows. Using the almost linear time deterministic max-flow algorithm [BCG+23], our algorithm runs in time, which is the fastest whenever . Our algorithm exponentially improves the dependency on from the recent -time algorithm [SY22].
We also show a -approximation algorithm for computing vertex connectivity of , .
Theorem 1.2.
There is a deterministic algorithm that takes an -vertex -edge undirected graph and accuracy parameter as inputs and outputs a vertex cut of size at most . The algorithm makes calls to unit-vertex-capacity -max-flows on and spends additional time.
1.2 Techniques
The key to our result is the terminal reduction algorithm for vertex connectivity that runs in max-flows. Let be an -vertex -edge undirected graph with terminal set . A -Steiner vertex cut is a vertex cut such that and . We denote as the size of the minimum -Steiner vertex cut in or if it does not exist. By definition, vertex connectivity of , denoted by is equal to . 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 -vertex -edge undirected graph , along with a terminal set and a cut parameter , and outputs either a vertex cut of size less than or a new terminal set of size at most such that if . The algorithm makes calls to unit-vertex-capacity max-flow instances with number of edges in total and spends an additional time.
Intuitively, terminal reduction means we find a smaller terminal set such that the minimum -Steiner cut of size less than remains -Steiner. Given Theorem 1.3, our main theorem follows immediately.
Proof of Theorem 1.1.
To check -vertex connectivity of a graph , we start with the entire vertex set as a terminal set, and repeatedly apply Theorem 1.3 for times until we obtain a vertex cut of size less than or the terminal set becomes empty () for which we conclude that is -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 , i.e., the output terminal is always a subset of the input terminal . 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.
First, given a graph , their algorithm outputs either a vertex cut of size or a terminal set of size such that iff .
-
2.
In the second step, which is a vertex reduction step, given the terminal set from the first step, their algorithm outputs a smaller graph of size such that iff .
The two-step vertex reduction framework [SY22] allows them to solve -vertex connectivity after repeatedly applying it for times. The drawback in their algorithm is that their second step requires time, which is very slow when .
In this paper, we consider the generalization, of the first step of the vertex reduction framework [SY22], to the terminal setting:
Given a graph and its terminal set , output either a vertex cut of size less than or a terminal set of size at most such that iff .
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 time for vertex reduction as in [SY22]. By Theorem 1.3, we only spend time instead (using a deterministic linear-time max-flow algorithm [BCG+23]). The bottleneck of 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 is terminal-unbalanced if .
Handling Terminal-unbalanced Vertex Cuts.
For simplicity, consider the following task:
Given a terminal set with a promised that there is a vertex cut of size less than such that , design a fast algorithm that outputs a vertex cut of size less than .
If the vertex cut with the above promise is such that , then we say that isolates . In this case, we can apply the isolating vertex cut lemma [LNP+21] to deterministically output a vertex cut of size less than in time proportional to calls of max-flows and we are done. In general, the vertex cut may not be -isolating because possibly . As a result, it remains to solve the following task.
Find a subset where isolates , i.e., .
To do so, we construct a family of subsets of size such that must isolate some via a Hit and miss hash family [KP20]. Given such a family , we apply the isolating vertex cut lemma on each to obtain a vertex cut of size less than as desired. The total running time is roughly calls to max-flows.
Using Ramanujan graphs for Approximate Mincuts.
The goal is to find a vertex cut of size at most . If the minimum degree is at most , we can simply return the neighbor set of the min-degree vertex, sacrificing a factor. Otherwise, it is easy to show that any minimum cut is such that , i.e., the cut is quite balanced. We show that Ramanujan graphs can give us a list of vertex pairs such that a pair must exist where . Thus, we will identify a minimum vertex cut by running unit-vertex-capacity -max-flows on graph for each of the vertex pairs.
To obtain the above list of vertex pairs, let be a regular Ramanujan graph with degree . Assuming , we want to show that there exists an edge where and . There are two cases. If , then such an edge must exist by the expander mixing lemma as observed before in [Gab06]. Otherwise, we use the known fact that strong spectral expansion of implies strong vertex expansion for all “small” sets of . Since , one can show that the vertex expansion of is at least , that is where denotes the set of neighbors of in . So , i.e., . This again implies an edge where and .
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 , we denote and unless stated otherwise. Let , we use to denote the set of edges whose one endpoint belongs to and the other belongs to . For the rest of the paper, unless stated otherwise, when we say an algorithm, we mean a deterministic algorithm. When we say -connected, we mean -vertex connected. When we say a cut, we mean vertex cut.
For any vertex set , we denote as the graph after removing all vertices in . A vertex cut is a partition of the vertex set such that there is no edge between and . We say that a vertex set is a vertex separator (or simply a separator) if is disconnected. By definition, the vertex set in a vertex cut is a separator. We say that separates and for some if and there is no path from to in . The minimum number of vertices we need to remove to separate some pair of vertices in the graph is called vertex connectivity denoted by and those set of vertices is called vertex mincut.
Let , we use to denote the minimum number of vertices need to be removed to disconnect from (or if it is not possible). Let be a set of terminals, we use to denote the steiner vertex connectivity of terminal set which is the minimum number of vertices to be removed to disconnect at least one terminal from other terminals. The set that separates is called steiner cut. If it is of minimum possible size then it is called minimum steiner cut or minimum separator of set . If , then .
We define the terminal expansion of a vertex cut in graph with respect to the terminal set as follows:
We say the cut is -expanding in if and -sparse if . We say that a graph is a -expander if every vertex cut such that in the graph is -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 as a terminal set, we repeatedly applying Theorem 1.3 for times until we obtain a vertex cut of size less than or the terminal set becomes empty for which we know that the graph is -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 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 -left and -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 -left and -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 be a graph with terminal set . We say that a vertex cut is -unbalanced if and -balanced otherwise. Both sides of the cuts (including the separator) contain less than terminals. This section shows how to find such a cut if it exists.
Theorem 3.1.
There is an algorithm, denoted as Unbalanced, that takes as input a graph , a terminal set , and a parameter , and outputs a separator with the following guarantee: if contains a -unbalanced vertex mincut, then 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 , and the algorithm spends 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 isolates a terminal set if , , . We refer to the vertex as the isolated terminal.
Lemma 3.2.
There exists an algorithm that, given parameters and as input, constructs a family of subsets of the terminal set where , of size in time with the following guarantee: for every -unbalanced vertex cut , there exists a terminal set such that isolates .
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 and an independent set of size at least 2, and outputs for each , a -min-separator . The algorithm makes max-flow calls on unit-vertex-capacity graphs with total number of vertices and edges and takes 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 is as follows. First, construct a terminal set family using Lemma 3.2 with as inputs. For every , compute an arbitrary maximal independent set of and apply Lemma 3.3 on graph and terminal set as inputs. Finally, we return where is the minimum separator over all the -min-separators for all and over all .
Now we prove the correctness of this algorithm. Let be the -unbalanced vertex mincut in graph . From Lemma 3.2, must isolate some terminal set . Let be the isolated terminal. Note that is not adjacent to any other terminal , so must be in the maximal independent set . Since is a min-separator, and we are done.
It remains to bound running time. From Lemma 3.2, the time taken to construct is . The time to compute the maximal independent sets over all is since . Lastly, we analyze the total time to invoke Lemma 3.3. The algorithm makes max-flow calls on unit-vertex-capacity graphs with total number of vertices and edges and a total additional time of at most 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 such that , we say that is a -Hit and Miss (HM) hash family if
-
1.
For every pair of mutually disjoint subsets of , where and , there exists some such that:
-
2.
For every and every we either have or where denotes the set of all elements whose hash value is for the hash function and we call to be the minimum support size of the hash family .
The computation time of a is defined to be the time needed to output the matrix with entries in whose entry is for .
Below, we show an HM-hash family with small and alphabet size but with large minimum support . The construction is based on Lemma 16 of [KP20], but they did not analyze the minimum support size and the construction time. Since both minimum support size and construction time are crucial for us, we give the proof for completeness.
Claim 3.5.
Given such that and , there exists a -HM hash family that can be constructed in time .
Proof.
We first state the construction of the HM-hash family from Lemma 16 of [KP20] and then prove the bounds on parameters and running time. Given as inputs, let be the set of first prime numbers. The hash family is defined as follows.
Note that for all . From Lemma 16 of [KP20], we have the correctness guarantee that it hits and misses every pair of disjoint subsets of size respectively. It is also clear from above that . Since the value of prime is at most , is bounded by .
From [LP02], we know that it takes time to verify whether a number is prime. So to construct the set it takes . Computing the hash value matrix takes . Hence the total time to construct the hash family is at most .
It remains to prove that the minimum support size is at least . For every and , if , then is empty. Otherwise, when , we have from the definition of that as . ∎
Proof of Lemma 3.2.
Given as inputs, let . Since we have . We can assume . Otherwise, we can construct the terminal family by choosing all possible pairs of the set . Since there is at least one terminal in and , one of the pairs is isolated by -unbalanced cut . The size of the family is at most and the time taken to construct is at most .
Since and , we can apply 3.5 and construct a HM hash family
We construct the terminal set family from as follows.
The size of the terminal set family is at most . For each hash function , we can construct all terminal sets in one go by evaluating over all . So it takes time for the construction of . It remains to prove that for every -unbalanced cut , there exists a terminal set such that isolates .
Let be a -unbalanced cut with . Let where is any arbitrary terminal and . and are disjoint subsets of with and . Based on the Definition 3.4, there exists a hash function that hashes to a different value from all other terminals in . Let . Then, there exists a set that contains and does not contain any other terminal in . From 3.5, we have the guarantee that every non-empty set in has size at least as . Hence, we can conclude that and isolates . ∎
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 -left and -right graphs for a given cut parameter with respect to a vertex cut of . We then prove in Lemma 3.7 that the divide step preserves the terminal mincut of size less than and that the terminal mincut is recoverable from the smaller graphs in Lemma 3.8.
Definition 3.6.
Let be a graph with terminal set . Let be a vertex cut in . We define the -left graph (w.r.t ) of as the graph after replacing with a clique of size (selecting an arbitrary set of vertices that contains one terminal denoted as ), followed by adding biclique edges between and . Optionally, we remove all edges inside , see Figure 1 for illustration. The definition of the -right graph is similar where is a clique replacing with as a terminal in .

Let be a graph with terminal set . Let be a -Steiner cut, and let , . Let be the -left graph w.r.t. and denote to be an arbitrary terminal in the clique. We also define and symmetrically.
Lemma 3.7.
If , then .
Proof.
If , then follows by Definition 3.6 and the fact that is a -Steiner cut as shown in the left side of Figure 2. Now we assume . Since , there is a min Steiner cut of size less than . If , then we are done. Now assume . Thus, does not separate for all . That is, or , i.e., or . WLOG, we assume . Since is a -Steiner cut, , and so there must be a terminal vertex from in or in . Let be a terminal vertex in (otherwise, the argument is symmetric).

Next, we prove that (i.e., ) as shown in the right side of Figure 2. Let . Since and , is a -Steiner cut. Since and there is no edge from to as there are no edges from to , we have . Therefore, . Observe that since is a -Steiner cut where and is a min -Steiner cut. So, , and thus .

Finally, we argue that is a -Steiner cut in , refer Figure 3. Since and , remains a separator in . It remains to prove that separates and in . Observe that separates and in for all . In particular, separates and in . Therefore, separates and in . ∎
Lemma 3.8.
A separator of size less than in or is also a separator in . Furthermore, for all (or in ), a min -separator of size less than in (or ) is also an -separator in .
Proof.
We prove for . The proof for is similar. Let be a vertex cut smaller than in . We prove that there is such that is a separator in . If true, then must also be a separator in , and we are done. Since and has vertices, there is a vertex that is in or in . WLOG, . Since we have biclique edges between and in and there is no edge between and , and .

By moving the clique to as shown in Figure 4, is a vertex cut in . To obtain from , we replace with , add edges between and according to and (possibly) add edges inside . Since and , we never add an edge from to . Therefore, is a vertex cut in , and so remains a separator in . The proof for the second statement is similar. ∎
3.3 Terminal Reduction Algorithm
We now describe our algorithm that takes as inputs and outputs either a separator of size less than or a terminal set of size such that whenever . 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 be the global parameters such that . Given a graph , if it is a -expander, we can find mincut using Theorem 3.1 as any cut of size less than is -unbalanced. If has at most terminals, we can run -max-flow on all pairs of terminals to find the mincut.
So we can assume that there are at least many terminals, and the graph has -sparse cut. Let be a -sparse cut. We construct and w.r.t the vertex cut as defined in Definition 3.6 such that and are the terminals present in the clique and respectively and recurse on them. For , we consider the terminals present in and the terminal in i.e. , similarly, for . Note that we ignore the terminals of in both cases.
If either of the recursive calls returns a separator of size less than , we return that separator. Otherwise, they return terminal sets and such that whenever and whenever . From Lemma 3.7, we have whenever . Hence we have whenever and hence we return as the new terminal set.
We formally describe the algorithm in Algorithm 1 and prove its correctness in the following lemma.
Lemma 3.9.
Algorithm 1 on with parameters outputs either a separator of size or a new terminal set such that whenever .
Observe that the new terminal set 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 . Observe that the parameters are fixed. When , it is the base case and we handle it by computing all pairs max-flow over the terminal set . Next, for all , we assume that the statement holds up to terminals, and we now prove that the statement continues to hold for terminals. If is a -expander, then we know that has a -unbalanced cut and we can use Theorem 3.1 in this case to detect a cut of size less than . Otherwise, let be a -sparse cut. Denote . We prove that . If true, then and will have and terminals, respectively, so that we can apply inductive hypothesis on them. Suppose . Then, the expansion . If , then . Otherwise, . In either case, we have a contradiction.
It remains to prove that Algorithm 1 on and terminal set outputs correctly as stated in the lemma. Let and be the output from and , respectively. By inductive hypothesis, is either a separator in of size or a new terminal set such that whenever . Similarly, is either a separator in of size or a new terminal set such that whenever . If or is a separator for or , respectively, then Lemma 3.8 implies that one of them is a separator in , and we are done. Now, assume that and are the new terminal sets. We prove that whenever . Let us assume that . We are done if . Now, assume . By Lemma 3.7, either or , and thus or . By Lemma 3.8, or , 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 be an -vertex -edge graph with a terminal set . Given a parameter and , there is a deterministic algorithm, , that computes a vertex cut (but possibly ) of (where we denote and ) such that which further satisfies
-
•
either ; or
-
•
and is a -vertex expander for some .
The running time of this algorithm is .
Algorithm.
takes and as inputs and outputs either a separator of size less than or a new terminal set of a smaller size where are the global parameters.
If the graph has a small number of terminals, say at most , 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 . Let be parameters as defined in the Algorithm 2 which are given as inputs to TerminalBalancedCutOrExpander along with that outputs a cut .
From the Lemma 3.10 guarantee, the graph is a -expander if . Based on the definition of the expander, there are at most number of terminals on the smaller side of the mincut; hence it is -unbalanced for and we use Theorem 3.1 (Unbalanced) to solve for a cut of size less than .
Hence, and we get a -sparse cut by Lemma 3.10. If , we return 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 -left graph as defined in Definition 3.6 and apply recursively with as inputs where is any arbitrary terminal in . If the output is a separator, then we return it.
Otherwise, we have to recurse on the right side, so we construct similarly. If we are in the first case of Lemma 3.10, then we simply call with the terminal set , where is arbitrary terminal in . If the output is a separator, then we return it. Otherwise, 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 is a -vertex expander. We prove that -right graph (w.r.t. ) is still an -vertex expander. Note in this case we do not remove the edges inside while constructing .
Claim 3.11.
If is a -vertex expander, then the -right graph is a -vertex expander.
Proof.
Suppose there is a -sparse cut in . By removing the clique in , we obtain another cut in where and . The expansion is
The first inequality follows since . The last inequality follows since is a -sparse, and thus . So, is -sparse in , a contradiction. ∎
Hence, we can just use Unbalanced on with as the terminal set and . If it returns a separator, we return it. Otherwise, we guarantee no terminal cut of size less than in ; hence, we need not recurse further so . Finally, we return the union of 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.
Lemma 3.12.
Let be a graph with a terminal set where has min-degree at least and . The algorithm ReduceTerminal (Algorithm 2) either returns a separator of size or a new terminal set such that whenever . Furthermore, where . The algorithm runs time outside max-flow calls, and the total number of edges in all max-flow instances is where .
The main theorem Theorem 1.3 is implied by substituting an appropriate value of 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 or a new terminal set such that whenever . The base cases happen when (Algorithm 2) or when (Algorithm 2). The correctness is immediate if . If at Algorithm 2, then is a -vertex expander, so contains a -unbalanced vertex mincut whenever . By Theorem 3.1, Unbalanced outputs a separator of size less than whenever . If , we have verified that , and thus an empty terminal set is returned correctly. If (Algorithm 2), then must be a separator of , and we are done.
We now assume that we do not execute the base cases. By Lemma 3.10, is a -sparse. We recurse on in the same way as in Algorithm 1. For , either we recurse on or we immediately solve . If , then we recurse on in the same way as in Algorithm 1. Otherwise, Lemma 3.10 together with 3.11 imply that is -vertex expander. Thus, contains a -unbalanced vertex mincut whenever . By Theorem 3.1, Unbalanced (Algorithm 2) outputs a separator of size whenever . If , then , and thus we can view the subproblem on as returning as an emptyset, and hence the new terminal set 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 . Let be the graph and its terminal set at the root of the recursion tree . We represent each subproblem by , the graph and its terminal set. If is -vertex expander or , then we treat this subproblem as a leaf node in the recursion tree. Otherwise, we obtain a -sparse cut , and recurse on and . Here, we treat and as a left child and a right child – respectively of . Furthermore, for each internal node , we also denote where 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 , which can only give a worse bound.
Lemma 3.13.
The depth of the recursion tree is .
Proof.
Let be any internal node in the recursion tree. Let be -sparse cut in with the properties as stated in Lemma 3.10. We show that the terminal set of each subproblem decreases by a constant factor. If , then . Therefore, . The last inequality follows since . Otherwise, is -vertex expander, and we treat the right subproblem as a leaf in the recursion tree. In this case, , and thus . ∎
The size of the new terminal set.
If returns a separator, then it must be of size less than , and we are done. Now we assume that a terminal set is returned where we denote . Thus, every subproblem in the recursion must return a (possibly empty) terminal set. Let be an internal node in the recursion tree. Let and be the -left/-right graphs of w.r.t. , respectively. Denote , we have . The last inequality follows since for non-base cases. Therefore, at level, , the total number of terminals (as inputs) is at most . Let be the recursion depth. The total number of terminals as inputs to each subproblem at all levels is . Next, we bound the size of the output terminals. Observe that, every internal node , is a -sparse cut, and thus . Therefore, the number of output terminals is at most times the total number of input terminals. Thus, . 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 be an internal node in the recursion tree. We assume that because otherwise we would recurse only on . We denote . Therefore,
The first inequality follows since there are additional edges from biclique edges in and and the clique edges, and we remove edges between in both and . The second inequality follows since . The third inequality follows since . The last inequality follows since the min-degrees of and are at least .
Therefore, at level , the total number of edges is at most . By summing over all , the total number of edges in the recursion tree is . 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 edges takes time outside the max-flows, and the number of edges in all max-flow instances is at most . At each internal node in the recursion, each instance of edges takes .
4 A -Approximation Algorithm
In this section, we give a -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 -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 and a degree parameter , a graph with maximum degree and can be constructed in time such that for any , if for universal constant from Lemma 4.4, then .
A graph is called -vertex expander for some , if for every subset with we have where represents the neighborhood of in .
Lemma 4.2 (Small set vertex expander).
Given an integer and a parameter , a -vertex expander, with and maximum degree can be constructed in time.
Before proving Theorem 1.2, we must observe a structural property of the -approximate minimum cut. Let be the minimum degree of the graph .
Claim 4.3.
Let be any minimum vertex cut of size in graph with minimum degree . We have .
Proof.
WLOG, we can assume and be any arbitrary vertex in . Since is a vertex cut, . So we have
which implies . ∎
The above lemma tells us that if the minimum degree of graph , every minimum cut has at least vertices on both sides. We are now ready to state our algorithm and prove its correctness and running time.
We prove the correctness and running time of Algorithm 3, thus proving Theorem 1.2.
Proof of Theorem 1.2.
Let be a minimum vertex cut in the graph with . We construct by giving required inputs to Lemmas 4.1 and 4.2 respectively. Since the three graphs have same number of vertices, we can assume they are having same vertex set by mapping them arbitrarily.
If and , then in graph , we have
From the guarantee of Lemma 4.1 we have hence, we find computing -separator across that edge.
Otherwise, we can assume WLOG . We can also assume that otherwise, we would return the neighborhood of the minimum degree vertex in Algorithm 3. Hence from 4.3 we have .
From the guarantee of Lemma 4.2 we have, . Hence, in there exists a neighbour of in as , implies . Applying -max-flow on two endpoints of an edge in gives us the minimum separator.
We apply -max-flow on for every edge which are at most in total. The total additional time to construct both is at most from the time guarantees of Lemmas 4.1 and 4.2. ∎
The rest of the section discusses constructing the graphs 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 , there exists a -regular Ramanujan expander with , for some universal constant and can be constructed in time . We also have guarantee that for any , if , then .
Proof of Lemma 4.1.
Given integers apply Lemma 4.4 and construct -regular Ramanujan expander in time . We construct from as follows. Let be any arbitrary subset of of size and which is the subset of edges whose both endpoints are in . Hence it takes at most total time to construct the graph . Maximum degree of is at most from Lemma 4.4.
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 be the adjacency matrix of the graph and be the diagonal matrix with diagnoral entry as where is the vertex of graph . Let be the eigenvalues of the matrix sorted from high to low according to their absolute values. We recall the following fact of Ramanujan graphs.
Fact 4.5 ([LPS86]).
Let be the -regular Ramanujan graph with vertices constructed using Lemma 4.4. We have .
The spectral expansion of the graph is defined as . 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 is a regular digraph with spectral expansion then, for every , is an 444the lemma has extra in the expansion parameter resulting due to change in the definition of -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 and approximation parameter , we can construct a -vertex expander, of size at most and maximum degree in time .
Proof.
Let be the Ramanujan graph constructed with as inputs. From the guarantees of Lemma 4.4 we know that and is -regular with . From 4.5 we know that the second eigenvalue of , .
Hence, by setting in Lemma 4.6 we can conclude that is a where as and . The time to construct the graph is at most . ∎
Note that the graph we constructed above is of size at most , but we need a vertex expander of size . Taking any induced sub-graph of size 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 is a -vertex expander with for some parameter , then we can construct a -vertex expander of size in time.
Proof.
If is an integer, we obtain by contracting arbitrary groups of vertices in . However, if is not an integer, we contract arbitrary groups of or many vertices together to achieve a graph of size exactly .
Let is of size at most . For each let denote the set of vertices in contracted to form . Uncontracting the set of vertices in , we get . We have , hence we have as is a -vertex expander.
Let be the set of contracted vertices in such that corresponding set has at least one vertex from . Observe that . Every vertex in has at least one edge from a vertex in as the edge across and is preserved after contraction. Hence, . Every vertex has a vertex such that . Uncontracting we have every vertex that has edges from some vertex should belong to , hence and we have .
We have
The first and third inequalities follow as we contract at most and at least many vertices in to construct . Hence, expansion is at least .
The time taken to contract arbitrary vertices is at most by just going over each edge and mapping them to the new contracted vertices. ∎
We now conclude the proof of Lemma 4.2.
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 , independent from , 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 time.
Approximate vertex connectivity.
Can we obtain an -approximation algorithm using max-flow calls? The problem seems challenging to us even when we promise that there exists a vertex mincut where . Note that if randomization is allowed in this case, we can solve the problem with high probability by sampling vertex pairs and compute vertex mincut, taking a total time of only max flow calls.
Steiner vertex connectivity.
Our terminal reduction algorithm (Theorem 1.3) does not guarantee that , 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 -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 time is implicit in the literature.555To see this, let be the terminal set and be a Steiner vertex mincut of size less than . The algorithm starts by sampling each terminal with probability and so, with probability , we have is empty, but both and 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 max-flows. By repeating the algorithm 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.