Abstract 1 Introduction 2 Preliminaries 3 A Generalization of 3-Star Lemma 4 A Data Structure for Reporting Minimum+1 Steiner Cuts 5 Dual Edge Sensitivity Oracle For 𝑺-mincut 6 Lower Bound for Dual Edge Sensitivity Oracle 7 Conclusion References

Minimum+1 Steiner Cut and Dual Edge Sensitivity Oracle: Bridging Gap between Global and (s,t)-cut

Koustav Bhanja ORCID Weizmann Institute of Science, Rehovot, Israel
Abstract

Let G=(V,E) be an undirected multi-graph on n=|V| vertices and SV be a Steiner set in G. Steiner cut is a fundamental concept; moreover, global cut (|S|=n), as well as (s,t)-cut (|S|=2), is just a special case of Steiner cut. We study Steiner cuts of capacity minimum+1, and as an important application, we provide a dual edge Sensitivity Oracle for Steiner mincut – a compact data structure for efficiently reporting a Steiner mincut after failure/insertion of any pair of edges.

A compact data structure for cuts of capacity minimum+1 has been designed for both global cuts [Dinitz and Nutov, STOC 1995] and (s,t)-cuts [Baswana, Bhanja, and Pandey, ICALP 2022 & TALG 2023]. Moreover, both data structures are also used crucially to design a dual edge Sensitivity Oracle for their respective mincuts. Unfortunately, except for these two extreme scenarios of Steiner cuts, no generalization of these results is known. Therefore, to address this gap, we present the following first results on Steiner cuts for any S satisfying 2|S|n.

  1. 1.

    Data Structure for Minimum+1 Steiner Cut: There is an 𝒪(n(n|S|+1)) space data structure that, given any pair of vertices u,v, can determine in 𝒪(1) time whether the Steiner cut of the least capacity separating u and v has capacity minimum+1. It can report such a cut, if it exists, in 𝒪(n) time, which is worst-case optimal.

  2. 2.

    Dual Edge Sensitivity Oracle: We design the following pair of data structures.
    (a) There is an 𝒪(n(n|S|+1)) space data structure that, after the failure or insertion of any pair of edges in G, can report the capacity of Steiner mincut in 𝒪(1) time and a Steiner mincut in 𝒪(n) time, which is worst-case optimal.
    (b) If we are interested in reporting only the capacity of Steiner mincut, there is a more compact data structure that occupies 𝒪((n|S|)2+n) space and can report the capacity of Steiner mincut in 𝒪(1) time after the failure or insertion of any pair of edges.

  3. 3.

    Lower Bound for Sensitivity Oracle: For undirected multi-graphs, for any Steiner set SV, any data structure that, after the failure or insertion of any pair of edges, can report the capacity of Steiner mincut must occupy Ω((n|S|)2) bits of space in the worst case, irrespective of the query time.

To arrive at our results, we provide several techniques, especially a generalization of the 3-Star Lemma given by Dinitz and Vainshtein [SICOMP 2000], which is of independent interest.

Our results achieve the same space and time bounds of the existing results for the two extreme scenarios of Steiner cuts – global and (s,t)-cut. In addition, the space occupied by our data structures in (1) and (2) reduces as |S| tends to n. Also, they occupy subquadratic space if |S| is close to n.

Keywords and phrases:
cut, mincut, minimum+1, steiner, edge fault, sensitivity oracle, dual edges
Category:
Track A: Algorithms, Complexity and Games
Copyright and License:
[Uncaptioned image] © Koustav Bhanja; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Data structures design and analysis
; Theory of computation Dynamic graph algorithms ; Theory of computation Network flows
Related Version:
Full Version: https://arxiv.org/abs/2406.15129 [6]
Acknowledgements:
This research work was carried out during my doctoral studies at IIT Kanpur, India. I am grateful to my doctoral advisor, Prof. Surender Baswana, for reviewing this article, having many helpful discussions on connectivity carcass, and providing feedback on improving its readability. I am also thankful to an anonymous reviewer for carefully reviewing a preliminary version of this article and for highlighting subtle technical points that helped improve its quality.
Funding:
This project is partially funded by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme, grant agreement No. 949083
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

In the real world, networks (or graphs) experience changes as a result of the failure/insertion of edges/vertices. They may lead to a change in the solution of various graph problems. Although these failures/insertions may occur at any point in the network at any time, they are mostly transient in nature. The aim is to quickly report the solution of the given problem once any failure/insertion has occurred in the network. This motivates us to design Sensitivity Oracles for various graph problems. A Sensitivity Oracle for a graph problem is a compact data structure that can efficiently report the solution of the given problem after the failure/insertion of a set of edges/vertices. Sensitivity Oracles have been designed for many fundamental graph problems, namely, shortest paths [3, 7], reachability [26, 11], traversals [29]. The (minimum) cut of a graph is also a fundamental concept consisting of numerous applications [1]. In this article, for undirected multi-graphs, we present (1) a compact data structure for Steiner cuts of capacity minimum+1 and, as an important application, (2) a dual edge Sensitivity Oracle for Steiner mincut – a compact data structure for handling insertion/failure of any pair of edges. The results in (1) and (2) provide the first generalization to the existing results for global mincut [14] and (s,t)-mincut [2] while matching their bounds on both space and time. In addition, our Sensitivity Oracle in (2) is the first result on Steiner mincut for handling multiple insertions/failures of edges after the single edge Sensitivity Oracles in undirected multi-graphs [4, 16, 15, 17].

Two well-studied cuts and their generalization.

Let G=(V,E) be an undirected connected multi-graph on n=|V| vertices and m=|E| edges (E is a multi-set). There are mainly two types of well-studied cuts in a graph – global cut and (s,t)-cut. A (global) cut is defined as a nonempty proper subset of the vertex set. Let C be any cut in G. Cut C is said to separate a pair of vertices u,v if uC and vC¯=VC or vice versa. For any pair of vertices s and t, cut C is said to be an (s,t)-cut if C separates s and t. Let SV denote a Steiner set with |S|2. A generalization of global cut and (s,t)-cut is captured using Steiner cut, which is formally defined as follows.

Definition 1 (Steiner cut).

For any given Steiner set S, a cut C is said to be a Steiner cut if there is a pair of vertices s1,s2S such that s1C and s2C.

An edge e=(u,v) is a contributing edge of a cut C if C separates endpoints u and v of e. The capacity of C, denoted by c(C), is defined as the number of contributing edges of C. A Steiner cut having the least capacity is known as a Steiner mincut of G. For any given Steiner set S, we denote the Steiner mincut by S-mincut and its capacity by λS. By Definition 1, the two types of well-known minimum cuts of a graph are just two special cases of S-mincut, namely, global mincut when S=V and (s,t)-mincut when S={s,t}.

Data Structure for Minimum+1 Steiner Cut

There has been extensive research in designing compact data structures for minimum cuts [23, 12, 31, 27, 10], as well as cuts of capacity near minimum [14, 5, 27, 2], that can efficiently answer the following fundamental query.
cut(u,v,κ): For any given pair of vertices u,v, determine if the least capacity cut separating u and v has capacity κ. Then, report a cut C of capacity κ separating u,v, if it exists.
Dinitz, Karzanov, and Lomonosov [12] designed an 𝒪(n) space cactus structure for storing all global mincuts in undirected weighted graphs. Likewise, Picard and Queyranne [31] designed an 𝒪(m) space directed acyclic graph (dag) for storing all (s,t)-mincuts in directed weighted graphs. Both structures act as a data structure for answering query cut in 𝒪(n) time for their respective mincuts. It has been observed that a quite richer analysis was required to arrive at a compact structure for storing all S-mincuts. In a series of remarkable results by Dinitz and Vainshtein [15, 16, 17], they showed that there is an 𝒪(min{nλS,m}) space structure, known as Connectivity Carcass, for storing all S-mincuts in an undirected multi-graph, which generalizes the results for (s,t)-mincut [31] and global mincut [12]. They present an incremental algorithm for maintaining the structure until the capacity of S-mincut increases. This structure helps in answering query cut for S-mincut in 𝒪(m) time and is the first single edge Sensitivity Oracle for S-mincut in undirected multi-graphs.

There also exist compact data structures for both global cut [14, 27, 5] and (s,t)-cut [2] of capacity beyond the minimum, and they are applied to establish many important algorithmic results [27, 5, 14, 2, 24]. Specifically for cuts of capacity minimum+1, Dinitz and Nutov [14] gave an 𝒪(n) space 2-level cactus model that stores all global cuts of capacity minimum+1 in undirected multi-graphs. Their structure answers query cut in 𝒪(n) time and is used crucially for incremental maintenance of minimum+2 edge connected components [14], which generalizes the results of Galil and Italiano [21], and Dinitz and Westbrook [13, 18]. Similarly, for minimum+1 (s,t)-cuts in directed multi-graphs, Baswana, Bhanja, and Pandey [2] designed an 𝒪(n2) space data structure that answers query cut in 𝒪(n) time. This data structure acts as the key component in the design of a dual edge Sensitivity Oracle for (s,t)-mincut [2]. Unfortunately, there does not exist any nontrivial data structure for Steiner cuts of capacity beyond the minimum till date. Therefore, to bridge the gap between (s,t)-cut [2] and global cut [14], it is natural to raise the following question for any given Steiner set S satisfying 2|S|n.

Question 1.

For undirected multi-graphs, does there exist a compact data structure that can efficiently answer query cut for Steiner cuts of capacity minimum+1?

Dual Edge Sensitivity Oracle for Steiner Mincut

It is easy to observe that the failure of a pair of edges reduces the capacity of S-mincut if and only if at least one failed edge is contributing to an S-mincut or the pair of failed edges are contributing to a Steiner cut of capacity minimum+1. Therefore, the study of Steiner cuts of capacity minimum+1 has an important application to the problem of designing a dual edge Sensitivity Oracle for S-mincut, which is formally defined as follows.

Definition 2 (Dual edge Sensitivity Oracle).

For any given Steiner set S, a dual edge Sensitivity Oracle for S-mincut is a compact data structure that can efficiently report an S-mincut and its capacity after the failure or insertion of any given pair of query edges in G.

For S-mincuts, the existing Sensitivity Oracles can handle the insertion or failure of only a single edge, and are based on the Connectivity Carcass of Dinitz and Vainshtein [15, 16, 17], which dates back to 2000. Baswana and Pandey [4], using Connectivity Carcass as the foundation [15, 16, 17], designed an 𝒪(n) space single edge Sensitivity Oracle for S-mincut in undirected multi-graphs. It can report the capacity of S-mincut and an S-mincut in the resulting graph in 𝒪(1) and 𝒪(n) time, respectively.

It is also important to design Sensitivity Oracles that can handle the insertions/failures of multiple edges/vertices. For undirected multi-graphs, by using single edge Sensitivity Oracle for S-mincut [4], observe that the trivial data structure that can handle any f>0 edge failures occupies 𝒪(mf1n) space. To design a Sensitivity Oracle for handling multiple edge insertions/failures, a natural and also quite commonly taken approach is to first design a Sensitivity Oracle that can handle the insertions/failures of a pair of edges. It has been observed that a dual edge Sensitivity Oracle for several fundamental graph problems, namely, reachability [11, 9], breadth-first search [29, 25], shortest path [19], often requires a significantly richer analysis compared to the single edge Sensitivity Oracles. Moreover, it either reveals the difficulty or assists in several ways to solve the problem in its generality. Specifically, in the area of minimum cuts, the following two dual edge Sensitivity Oracles are the only existing Sensitivity Oracles that can handle multiple edge insertions/failures. For (s,t)-mincut, Baswana, Bhanja, and Pandey [2] showed that there is an 𝒪(n2) space data structure that, after the insertion/failure of any pair of edges from a directed multi-graph, can report an (s,t)-mincut and its capacity in 𝒪(n) and 𝒪(1) time, respectively. So, for (s,t)-mincut in directed multi-graphs, by designing a dual edge Sensitivity Oracle, they improved the space by a factor of Ω(mn) over the trivial data structure for handling any f>0 edge insertions/failures. The 𝒪(n) space 2-level cactus model of Dinitz and Nutov [14] for minimum+1 global cuts immediately leads to an 𝒪(n) space data structure for handling dual edge failures for global mincuts as follows. It can report a global mincut and its capacity for the resulting graph after the failure of any pair of edges in 𝒪(n) and 𝒪(1) time, respectively. Therefore, the existing results or the results that can be derived from the existing results are only for the two extreme cases of S-mincut. So, to provide a generalization of these results to any given Steiner set S satisfying 2|S|n, the following question emerges naturally.

Question 2.

For undirected multi-graphs, does there exist a compact data structure that can efficiently report the capacity of S-mincut and an S-mincut after the insertion or failure of any given pair of query edges?

 Note 3.

The problem of handling dual edge insertions is provided in the full version [6]. Henceforth, we discuss only the results of handling the failure of a pair of edges.

1.1 Our Results

In this article, we answer both Question 1 and Question 2 in the affirmative. Moreover, the space and time bounds for our results also match with the existing best-known results for the two extreme scenarios of Steiner cuts – global cut [14] and (s,t)-cut [2]. Let us denote a Steiner cut of capacity minimum+1 by (λS+1) cut.

One of our key technical contributions is a generalization of the crucial 3-Star Lemma from the seminal work of Dinitz and Vainshtein [15, 16, 17]. We believe that this result is of independent interest. By heavily exploiting the generalized version of 3-star Lemma, we arrive at the following data structure for efficiently answering query cut for (λS+1) cuts. This result provides an affirmative answer to Question 1.

Theorem 4 (Data Structure).

Let G=(V,E) be an undirected multi-graph on n=|V| vertices and m=|E| edges. Let SV be any Steiner set of G and λS be the capacity of S-mincut. There is an 𝒪(n(n|S|+1)) space data structure that, given any pair of vertices u,v in G, can determine in 𝒪(1) time whether the Steiner cut of the least capacity separating u and v has capacity λS+1. Moreover, the data structure can report such a (λS+1) cut C separating u and v in 𝒪(n) time, if it exists.

Data structure in Theorem 4 occupies subquadratic, that is o(n2), space if |S| is at least no(n). For minimum+1 global cuts (S=V), it occupies only 𝒪(n) space, which matches with the 2-level cactus model of Dintz and Nutov [14]. Moreover, for S={s,t} (the other extreme scenario), it occupies 𝒪(n2) space, which also matches with the existing best-known result on minimum+1 (s,t)-cut given by Baswana, Bhanja, and Pandey [2].

For dual edge Sensitivity Oracle, we design a pair of data structures. Our first data structure helps in reporting an S-mincut in worst-case optimal time; however, it requires 𝒪(|S|) time to report its capacity. If the aim is to report only the capacity of S-mincut, we present a more compact data structure that, interestingly, has a faster query time. These results on dual edge Sensitivity Oracle for S-mincut are stated in the following theorem, which answer Question 2 in the affirmative.

Theorem 5 (Sensitivity Oracle).

Let G=(V,E) be an undirected multi-graph on n=|V| vertices and m=|E| edges. For any Steiner set SV,

  1. 1.

    there is an 𝒪((n|S|)2+n) space data structure that can report the capacity of S-mincut for the resulting graph in 𝒪(1) time and

  2. 2.

    there is an 𝒪(n(n|S|+1)) space data structure that can report an S-mincut for the resulting graph in 𝒪(n) time

after the insertion or failure of any pair of given query edges in G.

The dual edge Sensitivity Oracle in Theorem 5 also achieves the same bound on space and query time for the existing best-known results on the two extreme scenarios of S-mincuts, namely, global mincut (|S|=n) [14] and (s,t)-mincut (|S|=2) [2].

To complement our results in Theorem 5, we provide the following lower bound for any dual edge Sensitivity Oracle. This makes data structures in Theorem 5 worst-case optimal almost for the whole range of S (refer to Note 7).

Theorem 6 (Lower Bound).

Let D be any data structure that can report the capacity of Steiner mincut after the insertion or failure of any pair of edges in undirected multi-graphs on n vertices. For any given Steiner set S, data structure D must occupy Ω((n|S|)2) bits of space in the worst case, irrespective of the query time.

For S-mincuts, the only existing lower bound for dual edge Sensitivity Oracle is for |S|=2 by Baswana, Bhanja, and Pandey [2]. Moreover, it is conditioned on the Reachability Hypothesis [22, 30]. Our lower bound in Theorem 6 not only generalizes their result from |S|=2 to any SV, but it also does not depend on any hypothesis, hence, an unconditional lower bound.

 Note 7.

We present the following comparison between the upper and lower bounds.

  • The upper bounds on space of Sensitivity Oracles in Theorem 5(1) and (2) match the lower bound in Theorem 6 except when |S| is at least no(n) and no(n), respectively.

  • Sensitivity Oracles in Theorem 5(1) and (2) occupy space only linear in n and subquadratic in n when |S| is at least no(n) and no(n), respectively.

All the results of this article are compactly presented in Table 1.

Table 1: A comparison of our results with the existing results of extreme Scenarios of Steiner cut: global cut [14] and (s,t)-cut [2]. Sensitivity Oracles are for handling insertion or failure of up to a pair of edges. Also, we note that the result in [2] holds for directed multi-graphs.
Results Data Structure for Query Sensitivity Oracle Sensitivity Oracle
Minimum+1 Cut (space) cut (time) for Reporting Capacity for Reporting Cut
Global Cut [14] space: 𝒪(n) space: 𝒪(n)
(|S|=n) 𝒪(n) 𝒪(n) time: 𝒪(1) time: 𝒪(n)
(s,t)-cut [2] space: 𝒪(n2) space: 𝒪(n2)
(|S|=2) 𝒪(n2) 𝒪(n) time: 𝒪(1) time: 𝒪(n)
Steiner Cuts space: 𝒪((𝐧|𝐒|)𝟐+𝐧) space: 𝒪(𝐧(𝐧|𝐒|+𝟏))
(𝟐|S|n) 𝒪(𝐧(𝐧|𝐒|+𝟏)) 𝒪(𝐧) time: 𝒪(𝟏) time: 𝒪(𝐧)

1.2 Organization of this article

This article is organized as follows. Section 2 contains basic preliminaries. The generalization of 3-Star-Lemma is established in Section 3. The overview of our data structure for (λS+1) cuts is in Section 4. It is followed by an overview of the dual edge Sensitivity Oracle in Section 5. Section 6 contains the overview of our lower bound for dual edge Sensitivity Oracle. Finally, we conclude in Section 7. All the omitted proofs are provided in the full version [6].

2 Preliminaries

In this section, we define a set of notations and basic properties of cuts.

  • A vertex u is a Steiner vertex if uS; otherwise u is a nonSteiner vertex.

  • Ge denotes the graph obtained from G after the removal of edge e. Also, for any cut C in Ge, without causing any ambiguity, we denote the capacity of C by c(C).

  • A cut C is said to subdivide a set XV if both CX and C¯X are nonempty.

  • It follows from the definition of capacity of cuts that capacity of an empty set is zero.

Lemma 8 (Sub-modularity of cuts (Problem 48(a,b) in [28])).

For any two sets A,BV,
(1) c(A)+c(B)c(AB)+c(AB) and (2) c(A)+c(B)c(AB)+c(BA).

Dinitz and Vainshtein [15, 16, 17] defined the following concept of (λS+1)-connectivity class, which is also referred to as a (λS+1) (s,t)-class for S={s,t} in [2].

Definition 9.

Let R be an equivalence relation defined on the vertex set of G as follows. A pair of vertices u and v are related by R if and only if u and v are not separated by any S-mincut. Every equivalence class of relation R is called a (λS+1)-connectivity class.

For brevity we denote a (λS+1)-connectivity class by (λS+1) class henceforth. A (λS+1) class 𝒲 is said to be a Singleton (λS+1) class if 𝒲 has exactly one Steiner vertex of G.

Let us define the following notion of crossing cuts initially introduced by Dinitz, Karzanov, and Lomonosov [12], and the concept of nearest (λS+1) cuts of a vertex.

Definition 10 (Crossing cuts and Corner sets).

For a pair of cuts A,B in G, each of the four sets, AB, AB, BA, and AB¯, is called a corner set of A and B. Cuts A and B are said to be crossing if each corner set is nonempty.

Definition 11 (Nearest (λS+1) cut of a vertex).

For a vertex u, a (λS+1) cut C is said to be a nearest (λS+1) cut of u if uC and there is no (λS+1) cut C such that uC and CC. We denote the set of all nearest (λS+1) cut of vertex u by NS(u).

The nearest (λS+1) cut from a vertex u to a vertex v is defined as a nearest (λS+1) cut C of u such that uC and vC¯.

3 A Generalization of 3-Star Lemma

Let C1,C2, and C3 be three Steiner cuts of G. Each of the three sets C1C2¯C3¯, C1¯C2C3¯, C1¯C2¯C3 is called a star cut. For a pair of crossing S-mincuts, at least two of the four corner sets are also S-mincuts. Dinitz and Vainshtein [15, 16, 17], exploiting this property of S-mincuts, established the following result for the set of S-mincuts.
3-Star Lemma [15, 16, 17]: For any three S-mincuts C1,C2, and C3, if each of the star cuts formed by C1,C2, and C3 contains a vertex from S, then c(C1C2C3)=0.
3-Star Lemma
turned out to be an essential tool for designing the Connectivity Carcass [15, 16, 17] for S-mincuts. Unfortunately, for a pair of crossing (λS+1) cuts, it is quite possible that none of the four corner sets is a (λS+1) cut (refer to cuts C1 and C2 in Figure 1(ii)). As a result, 3-Star Lemma no longer holds for the set of (λS+1) cuts. Interestingly, to design a tool for addressing (λS+1) cuts, exploiting the relation between a (λS+1) class and (λS+1) cuts, we generalize the 3-Star Lemma for (λS+1) cuts as follows.

We begin by stating the following lemma, which can be seen as a generalization of the sub-modularity of cuts (Lemma 8) property.

Lemma 12 (Four Component Lemma (Problem 48(c) in [28])).

For any three sets A,B,CV, c(A)+c(B)+c(C)c(ABC)+c(A¯B¯C)+c(A¯BC¯)+c(AB¯C¯).

Let C1,C2, and C3 be any three (λS+1) cuts of G (refer to Figure 1(i)). These three cuts define the following eight disjoint subsets of V: Va=C1C2¯C3¯, Vb=C1¯C2C3¯, Vc=C1¯C2¯C3, Vab=C1C2C3¯, Vbc=C1¯C2C3, Vac=C1C2¯C3, Vabc=C1C2C3, and VΦ=C1C2C3¯.

Refer to caption
Figure 1: (i) Depicting all the eight regions formed by three (λS+1) cuts C1,C2, and C3 of G. (ii) Let q=Ω(|𝒲|). The capacity of global mincut of this graph is at least 4 for q2. C and C are Steiner cuts of capacity 2q+1 and 2q respectively. The capacity of S-mincut is 2q. Each cut Ci, 1iq, has capacity 2q+1; and moreover, Ci has t in Ci¯. (iii) Construction of G(𝒲) from G. The vertices not belonging to 𝒲 having same color are contracted into a Steiner vertex in G(𝒲).

.

Theorem 13 (Gen-3-Star Lemma).

Suppose there are three Steiner vertices a,b,c such that aVa, bVb, and cVc. Then, the following three properties hold.

  1. 1.

    c(C1C2C3)3.

  2. 2.

    For a (λS+1) class 𝒲 and an integer k[0,3], if (i) VΦ𝒲 and (ii) exactly k of the three sets Va,Vb, and Vc contains a vertex from 𝒲, then c(C1C2C3)3k.

  3. 3.

    Let x,y,z{a,b,c} and xyz. Vertices of Vxy are adjacent to vertices of Vxy,Vx and Vy. Moreover, there are at most two edges between Vxy and V(VxVyVxy)=VzVxzVyzVxyzVΦ.

Proof.

Each of the three sets Va, Vb, and Vc contains a Steiner vertex. Moreover, observe that Va, Vb, and Vc are disjoint sets. Therefore, each of the three sets Va,Vb, and Vc defines a Steiner cut. This implies that each cut of the three cuts Va, Vb, and Vc has capacity at least λS. For cuts C1,C2, and C3, the following equation follows from Lemma 12,

c(C1)+c(C2)+c(C3)c(C1C2C3)+c(Va)+c(Vb)+c(Vc) (1)

Since c(Ci)=λS+1 for each i{1,2,3}, it follows from Equation 1 that c(C1C2C3)3. This completes the proof of property (1).

Suppose, without loss of generality, cut Va contains a vertex from 𝒲. It is given that there is a vertex uVΦ𝒲. Therefore, Va is a Steiner cut that subdivides the (λS+1) class 𝒲. Hence, c(Va)λS+1 by Definition 9. So, any k0 sets of the three sets, Va, Vb, and Vc, containing a vertex from 𝒲 has a capacity at least λS+1. This, using Equation 1, implies that c(C1C2C3)3k. This completes the proof of property (2). The proof of property (3) is in the full version [6]. Gen-3-Star Lemma (Theorem 13) is used crucially throughout this article for establishing several structural results for (λS+1) cuts. We now establish the following lemma as a corollary of Theorem 13(2).

Lemma 14.

For any three (λS+1) cuts C1,C2, and C3, if each of the three sets Va,Vb, and Vc contains a Steiner vertex and a vertex from the same (λS+1) class 𝒲 of G, then C1C2C3=.

Proof.

Each of the three sets {Va,Vb,Vc} contains a Steiner vertex and a vertex from 𝒲. Since Va,Vb, and Vc are disjoint sets, therefore, each of them defines a Steiner cut and subdivides 𝒲. Therefore, observe that for these three Steiner cuts C1,C2,C3, Theorem 13(2) holds even if C1,C2,C3 do not satisfy condition (i) of Theorem 13(2) (there is no vertex uVΦ𝒲). Now, by assigning the value of k=3 in Theorem 13(2), we get c(C1C2C3)=0. Since graph G is connected, therefore, C1C2C3 is an empty set.

4 A Data Structure for Reporting Minimum+1 Steiner Cuts

We first discuss the limitations of the existing results for the extreme scenarios of Steiner cuts. It is followed by an overview of our data structure for minimum+1 Steiner cuts.

Limitations of existing results.

For any pair of crossing global cuts A,B of capacity λV+1, each of the four corner sets must have capacity at least λV because it is also a global cut. For λV3, using this insight, Dinitz and Nutov [14] designed the 𝒪(n) space 2-level cactus model as a data structure for all global cuts of capacity λV+1. Unfortunately, this property no longer holds for (λS+1) cuts because a corner set for a pair of crossing (λS+1) cuts is not necessarily a Steiner cut; hence, a corner set can have capacity strictly less than λS. As a result, it does not seem possible to extend the approach of Dinitz and Nutov [14] for designing a data structure for (λS+1) cuts. On the other hand, for S={s,t}, since there are exactly two Steiner vertices, the intersection, as well as union, of a pair of (λ{s,t}+1) (s,t)-cut is always an (s,t)-cut, and has capacity at least λ{s,t}. Baswana, Bhanja, and Pandey [2] crucially exploit this fact and present the following result. For any (λ{s,t}+1) class 𝒲 of G, there is an 𝒪(|𝒲|2+n) space data structure that answers query cut for any pair of vertices in 𝒲 in 𝒪(n) time. For any Steiner set SV, storing their data structure for every pair of vertices in S results in an 𝒪(n2|S|2) space data structure, which can be Ω(n4) for any S satisfying |S|=Ω(n).

Our approach.

We now present the overview of our data structure in Theorem 4 that occupies only 𝒪(n(n|S|+1)) space and answers query cut for (λS+1) cuts in 𝒪(n) time. Let u and v be any pair of vertices. By Definition 9, the cut of the least capacity that separates u,v is λS+1 only if u,v belong to the same (λS+1) class of G. Henceforth, to design a compact data structure for efficiently answering query cut for (λS+1) cuts, we consider (λS+1) classes of G. It turns out that the main challenge arises in handling the Singleton (λS+1) classes of G. We first present a data structure for a Singleton (λS+1) class. Later, to arrive at a compact data structure for any general (λS+1) class (containing multiple or no vertex from S), we show that the Connectivity Carcass [15, 16, 17] can be suitably augmented with the data structure for Singleton (λS+1) class. The procedure of augmentation requires establishing several new insights on S-mincuts, revealing close relationships between S-mincuts and (λS+1) cuts, and extending the recent covering technique of [2] given for (s,t)-cuts to Steiner cuts.

4.1 A Data Structure for a Singleton (𝝀𝑺+𝟏) class

Suppose 𝒲 is a Singleton (λS+1) class and s is the only Steiner vertex belonging to 𝒲. For any cut C, we assume that sC; otherwise, consider C¯. Let C be a (λS+1) cut that subdivides 𝒲. Cut C can cross multiple S-mincuts of G and also contains vertices of G that do not belong to 𝒲. This makes it harder to analyze all the (λS+1) cuts that subdivide 𝒲. To circumvent this difficulty, we construct a smaller graph G(𝒲) from G as follows. We first contract every (λS+1) class, except 𝒲, into a vertex. Let G be the obtained graph. We construct graph G(𝒲) from G by constructing a sequence of graphs G1=G,G2,,Gi=G(𝒲) as follows. For any 1<j<i, graph Gj+1 is obtained from Gj by contracting a pair of vertices u,v if there is a Steiner mincut C in Gj such that 𝒲C and u,vC¯. The final obtained graph is G(𝒲) (refer to Figure 1(iii)). All vertices of G(𝒲) that do not belong to 𝒲, along with s, define the Steiner set of G(𝒲), denoted by S(𝒲). We show that in G(𝒲), λS is the capacity of Steiner mincut, and every Steiner mincut separates exactly one Steiner vertex from s. It turns out that no (λS+1) cut can cross a Steiner mincut in graph G(𝒲). By construction, (λS+1) class 𝒲 of G also appears as a (λS+1) class in G(𝒲). Importantly, we show that graph G(𝒲) satisfies the following property.

Lemma 15.

A (λS+1) cut subdivides 𝒲 into (𝒲1𝒲,𝒲𝒲1) in G if and only if there exists a (λS+1) cut that subdivides 𝒲 into (𝒲1,𝒲𝒲1) in G(𝒲).

Henceforth, by Lemma 15, we work on graph G(𝒲) instead of G. To design a compact data structure for answering query cut for (λS+1) cuts of G(𝒲), we pursue an approach of compactly storing all the nearest (λS+1) cuts of vertices in 𝒲. This approach has been found to be quite useful for S={s,t} [2]. Let u be a vertex in 𝒲. Unlike for |S|=2 [2], it turns out that the nearest (λS+1) cut of u to even a single vertex in 𝒲 might not be unique. This is because the union of a pair of nearest (λS+1) cuts of u is not necessarily a Steiner cut (for example, cuts C1,C2 in Figure 2(iii)). To achieve our goal, we first establish the following property for NS(𝒲)(u).

Refer to caption
Figure 2: (i) The set C1C2C3¯𝒲 of any three cuts C1,C2,C3NS(𝒲)(u) is shown in red region. (ii) Data structure for storing 𝒩S(𝒲)(u) for 𝒲. Vertex y cannot belong to more than two arrays. (iii) The vertices {s,t1,t2,tq} are Steiner vertices of G(𝒲) and NS(𝒲)(u)={C1,C2,,Cq}. Let q=|S(𝒲)|. For every pair of cuts Ci,Cj, 1ijq, from NS(𝒲)(u), a vertex v from 𝒲 belongs to CiCj¯.
Lemma 16.

If the union of a pair of cuts C1,C2NS(𝒲)(u) is a Steiner cut, then no vertex of 𝒲 can belong to C1C2¯.

For S={s,t}, the union of a pair of nearest (λS+1) cuts is always a Steiner cut. Hence, every pair of nearest (λS+1) cut satisfies the property in Lemma 16. This insight was used crucially for designing the compact data structure for minimum+1 (s,t)-cuts [2]. However, as mentioned above, for any S, 2<|S|n, for any pair of cuts from NS(𝒲)(u), their union might not be a Steiner cut. In fact, there can be Ω(|S(𝒲)|) number of cuts from NS(𝒲)(u) such that the complement of their union can contain a subset of vertices from 𝒲, which can be Ω(n) in the worst case (refer to Figure 2(iii)). To overcome this difficulty, we address the problem in two different scenarios – firstly, when λ(𝒲)4, and secondly, when λ(𝒲)3, where λ(𝒲) is the global mincut capacity of G(𝒲).

Suppose graph G(𝒲) has global mincut capacity at least 4. Exploiting Gen-3-Star Lemma (Theorem 13) and Lemma 16, we present the following extension of the property stated in Lemma 16 for cuts from NS(𝒲)(u) even when their union is not a Steiner cut.

Lemma 17.

If the capacity of global mincut of G(𝒲) is at least 4, then for any three cuts C1,C2,C3 from NS(𝒲)(u), no vertex of 𝒲 can belong to C1C2C3¯.

Proof.

Assume that for cuts C1,C2, and C3, the set C1¯C2¯C3¯𝒲 is nonempty (refer to Figure 2(i)). So, for any pair of cuts Ci,Cj, 1ij3, Ci¯Cj¯ contains at least one vertex from 𝒲. By Lemma 16, there cannot exist any Steiner vertex ts such that tCi¯Cj¯. Note that C1,C2, and C3 are Steiner cuts. This implies that each of the three sets C1¯C2C3, C1C2¯C3, and C1C2C3¯ must contain at least one Steiner vertex. So, each of the three sets C1¯C2C3, C1C2¯C3, and C1C2C3¯ defines a Steiner cut. Therefore, for three cuts C1¯,C2¯, and C3¯, by Theorem 13(1), we have c(C1¯C2¯C3¯)3, a contradiction because the capacity of global mincut in G(𝒲) is at least 4. Lemma 17 essentially states that, for any vertex u of 𝒲, there are at most two cuts C1,C2 from NS(𝒲)(u) such that u belongs to C1C2¯. This shows that only 𝒪(|𝒲|) space is sufficient to store C¯𝒲 for all CNS(𝒲)(u). Unfortunately, the problem still remains in compactly storing Steiner vertices C¯S(𝒲) for all CNS(𝒲)(u). Unlike the vertices from 𝒲, a Steiner vertex can appear in the complement of multiple cuts from NS(𝒲)(u) even if the global mincut capacity is at least 4 (refer to Figure 1(ii)). Therefore, storing all cuts from NS(𝒲)(u) would occupy 𝒪(|𝒲||S(𝒲)|) space. Interestingly, we now show, in two phases, that 𝒪(|𝒲|+|S(𝒲)|) space is sufficient to store all the cuts from NS(𝒲)(u). We begin our analysis by classifying the set of all cuts from NS(𝒲)(u) into two sets as follows.

A classification of all cuts from 𝑵𝑺(𝓦)(𝒖).

A cut CNS(𝒲)(u) is said to be a l-cut if it has exactly one Steiner vertex in C¯; otherwise, it is called a m-cut.
It follows that storing C¯ for every l-cut C from NS(𝒲)(u) occupies 𝒪(|𝒲|+|S(𝒲)|) space. However, the challenge arises in storing all m-cuts compactly. It seems quite possible that there are many Steiner vertices that belong to the complement of multiple m-cuts from NS(𝒲)(u). In the first phase, exploiting the structural properties of G(𝒲), we establish the following lemma for a pair of cuts from NS(𝒲)(u), which holds for pair of m-cuts as well.

Lemma 18.

For any pair of cuts C1,C2NS(𝒲)(u), there cannot exist more than one Steiner vertex in C1C2¯.

Proof.

Suppose there is a pair of Steiner vertices t1,t2 such that t1,t2C1¯C2¯. Since s belongs to both C1 and C2, so, both C1C2 and C1C2 are Steiner cuts. This implies that c(C1C2), as well as c(C1C2), is at least λS. Since C1,C2NS(𝒲)(u), by Definition 11, C1 and C2 cannot be subsets of each other. So, we have uC1C2 and C1C2 is a proper subset of both C1 and C2. It follows that c(C1C2)λS+2. By applying sub-modularity of cuts (Lemma 8(1)) on C1,C2, we arrive at c(C1C2)+c(C1C2)2λS+2. This implies that c(C1C2)=λS, a contradiction because, by construction of G(𝒲), there is no S-mincut C such that sC and t1,t2C¯ or vice versa. To exploit the insight stated in Lemma 18, we design a bipartite graph B using the set of m-cuts and the nonSteiner vertices belonging to 𝒲. Exploiting the structure of B and the well-known girth conjecture by [20] and [8], we show that Lemma 18 can ensure an 𝒪(|𝒲||S(𝒲)|) bound on space for storing all m-cuts.

To achieve a stricter bound on space, in the second phase, we further explore the relation of Steiner vertices with at least three m-cuts from NS(𝒲)(u). Interestingly, by exploiting Lemma 16, Lemma 18, Gen-3-Star Lemma, and the definition of m-cuts, we are able to establish the following crucial result for m-cuts, which acts as the key tool for storing all m-cuts compactly.

Lemma 19.

For any three m-cuts C1,C2, and C3 from NS(𝒲)(u), there cannot exist any Steiner vertex t in S(𝒲) such that t belongs to C1C2C3¯.

Proof.

Suppose there exist three m-cuts C1,C2, and C3 such that tC1¯C2¯C3¯. By definition, for every m-cut C{C1,C2,C3}, there are at least two Steiner vertices t1,t2 such that t1,t2C¯. For any pair of integers i,j{1,2,3} and ij, by Lemma 18, there cannot exist more than one Steiner vertex in Ci¯Cj¯. Therefore, for the three cuts, C1,C2,C3, there must exist at least three Steiner vertices t1,t2,t3 such that t1C1¯C2C3, t2C1C2¯C3, and t3C1C2C3¯. Now, since C1,C2,C3 are nearest cuts of u that subdivide 𝒲, there must exist vertices v1,v2,v3𝒲 such that v1C1¯, v2C2¯, and v3C3¯. It is also assumed that tC1¯C2¯C3¯. So, for any pair of integers i,j{1,2,3} and ij, by Lemma 16, there cannot be any vertex from 𝒲 in Ci¯Cj¯. This implies that v1C1¯C2C3, v2C1C2¯C3 and v3C1C2C3¯. So, we have ensured that each of the three cuts C1¯C2C3, C1C2¯C3, and C1C2C3¯ contains at least one Steiner vertex of G(𝒲) and at least one vertex from the same class 𝒲. Therefore, for three cuts C1¯,C2¯, and C3¯, it follows from Lemma 14 that C1¯C2¯C2¯=, a contradiction. This result for m-cuts ensures that every Steiner vertex of S(𝒲) appears in C1C2¯ for at most two m-cuts C1,C2NS(𝒲)(u). Therefore, it leads to a data structure occupying 𝒪(|𝒲|+|S(𝒲)|) space for answering query cut for all cuts in NS(𝒲)(u). The construction of the data structure is provided in Algorithm 1 (refer to Figure 2(ii)).

Algorithm 1 Construction of the Data Structure for NS(𝒲)(u).

Extension to general graphs.

Let us now consider graph G(𝒲) with global mincut capacity at most 3. For this case, using Gen-3-Star Lemma and Lemma 16, we establish the following insight.

Lemma 20.

For any three cuts C0,C1, and C2 from NS(𝒲)(u), if C0¯C1¯C2¯𝒲, then there exists an i{0,1,2} such that the star cut Ci¯C(i+1)%3C(i+2)%3𝒲=.

Exploiting Lemma 20, we can argue that, for every vertex in 𝒲, it is sufficient to store at most two cuts from NS(𝒲)(u). The remaining construction and analysis (for Steiner vertices) are the same as that of the data structure in Algorithm 1, which is independent of the global mincut capacity. Therefore, 𝒪(|S(𝒲)|+|𝒲|) bound on space of our data structure holds for this scenario as well.

Finally, by storing this data structure on cuts from NS(𝒲)(u) for every u𝒲, we obtain a data structure 𝒬S(𝒲). This data structure occupies 𝒪(|𝒲|2+|𝒲||S(𝒲)|) space and efficiently answers query cut for (λS+1) cuts of G(𝒲). Moreover, by storing an 𝒪(n) space mapping of vertices of G to G(𝒲), the data structure 𝒬S(𝒲) can report a cut C in G separating any given pair of vertices in 𝒲 in 𝒪(n) time. The results of this section are summarized in the following theorem.

Theorem 21.

Let G=(V,E) be an undirected multi-graph on n vertices with a Steiner set SV. Let 𝒲 be a (λS+1) class of G containing exactly one Steiner vertex s and let S(𝒲)¯ be the set of nonSteiner vertices of G belonging to 𝒲. Let λ be the capacity of global mincut of G. For (λS+1) class 𝒲, there is an 𝒪(|S(𝒲)¯|2+|S||S(𝒲)¯|) space data structure 𝒬S(𝒲) that,

  1. 1.

    given vertices u,v1,,vk from 𝒲, can determine in 𝒪(k) time whether there exists a (λS+1) cut C such that s,uC and v1,,vkC¯ if λ4, and

  2. 2.

    given vertices u,v𝒲, can determine in 𝒪(1) time whether there exists a (λS+1) cut C such that s,uC and vC¯ if λ3.

If C exists, the data structure can report C¯𝒲 in 𝒪(|C¯𝒲|) time, and cut C in 𝒪(n) time using an auxiliary 𝒪(n) space.

4.2 A Data Structure for General (𝝀𝑺+𝟏) classes

In graph G, we show that storing our data structure 𝒬S(𝒲) from Theorem 21 for every Singleton (λS+1) class 𝒲 occupies overall 𝒪(n(n|S|+1)) space. However, a (λS+1) class can also contain either no Steiner vertex or multiple Steiner vertices of G. For a (λS+1) class 𝒲 containing no Steiner vertex, we develop an extension of the Covering technique of Baswana, Bhanja, and Pandey [2] to transform 𝒲 into at most three Singleton (λS+1) classes. We then construct the data structure 𝒬S for each of them.

Suppose (λS+1) class 𝒲 contains multiple Steiner vertices. A (λS+1) cut of G(𝒲) either subdivides the Steiner set belonging to 𝒲 or it does not. Using this insight, we construct the following pair of graphs G(𝒲)1 and G(𝒲)2 from graph G. Firstly, graph G(𝒲)1 preserves each (λS+1) cut of G(𝒲) that does not subdivide the Steiner set belonging to 𝒲. We show that the data structure 𝒬S is sufficient for graph G(𝒲)1. Secondly, graph G(𝒲)2 preserves the remaining (λS+1) cuts of G(𝒲). We ensure that, for graph G(𝒲)2, the capacity of Steiner mincut is λS+1. So, we use a data structure for Steiner mincut given by Baswana and Pandey [4], based on Connectivity Carcass, for answering query cut in 𝒪(n) time for G(𝒲)2. We also establish that the data structure for G(𝒲)2 for all (λS+1) classes 𝒲 containing multiple Steiner vertices of G occupies 𝒪(n) space. Therefore, given a pair of vertices u,v in a (λS+1) class 𝒲, if 𝒲 contains multiple Steiner vertices, we query both the data structures – one for G(𝒲)1 and the other for G(𝒲)2. The final obtained data structure of this section is summarized in Theorem 4.

5 Dual Edge Sensitivity Oracle For 𝑺-mincut

We begin by providing a brief overview of the 𝒪(n) space single edge Sensitivity Oracle for S-mincut in undirected multi-graphs [4]. An edge is said to belong to a (λS+1) class if both endpoints of the edge belong to the (λS+1) class. By Definition 9, upon failure of an edge e, the capacity of S-mincut decreases by 1 if and only if edge e does not belong to any (λS+1) class. Therefore, the 𝒪(n) space mapping of vertices to (λS+1) classes helps in reporting the capacity of S-mincut in 𝒪(1) time after the failure of any edge. Baswana and Pandey [4] established an ordering among the (λS+1) classes of G that do not contain any Steiner vertex. They showed that this ordering, along with the Connectivity Carcass of Dinitz and Vainshtein [15, 16, 17], is sufficient to design an 𝒪(n) space single edge Sensitivity Oracle for S-mincut that can report an S-mincut in 𝒪(n) time.

In the case of two edge failures, both failed edges can belong to the same (λS+1) class 𝒲 and contribute to a single (λS+1) cut that subdivides 𝒲. In this case, the capacity of S-mincut definitely reduces by 1. Unfortunately, the existing approach of designing a single edge Sensitivity Oracle does not reveal anything about the cuts that subdivide (λS+1) classes. In the following, we present an overview of our dual edge Sensitivity Oracle from Theorem 5, which includes the establishment of several structural properties for (λS+1) cuts and careful utilization of the data structure for Singleton (λS+1) class (Theorem 21).

5.1 An 𝑶(𝒏(𝒏|𝑺|+𝟏)) Space Data Structure with 𝑶(|𝑺|) Query Time

Let e=(x,y) and e=(x,y) be the pair of failed edges in G. Depending on the relation between failed edges and (λS+1) classes, the following four cases are possible.

  • Case 1: both failed edges belong to the same (λS+1) class.

  • Case 2: both failed edges belong to two different (λS+1) classes.

  • Case 3: Exactly one of the two failed edges belongs to a (λS+1) class.

  • Case 4: None of the failed edges belong to any (λS+1) class.

An 𝒪(n) space mapping of vertices to (λS+1) classes is sufficient to determine in 𝒪(1) time which of the four cases has occurred after the failure of edges e,e. We now handle each of these cases.

In Case 2, we show that the capacity of S-mincut never decreases after the failure of the two edges. In Case 3, by Definition 9, the failure of the edge belonging to a (λS+1) class cannot reduce the capacity of S-mincut. Therefore, this case is equivalent to handling the failure of the single edge that does not belong to any (λS+1) class. Case 4 requires a richer analysis compared to Case 2 and Case 3. To handle this case, we establish new insights for S-mincuts, which help in showing that Connectivity Carcass [15, 16, 17] is sufficient to design a data structure for handling dual edge failures. So, for all these three cases, we construct an 𝒪((n|S|)2+n) space data structure that, after the failure of any pair of edges, can report an S-mincut and its capacity in 𝒪(n) and 𝒪(1) time respectively. Now, the main hurdle comes in handling Case 1.

In Case 1, both failed edges e,e belong to a (λS+1) class 𝒲. In this case, the capacity of S-mincut decreases by 1 if and only if both failed edges are contributing to a single (λS+1) cut that subdivides 𝒲. We consider 𝒲 to be a Singleton (λS+1) class. In a similar way to the data structure in Theorem 4, we also extend this result to any general (λS+1) class.

Handling Dual Edge Failures in a Singleton (𝝀𝑺+𝟏) class

Let s be the only Steiner vertex in 𝒲. For every cut C, without loss of generality, assume that sC; otherwise, consider C¯. It follows from Lemma 15 it is sufficient to work with graph G(𝒲) for 𝒲 instead of G. The objective is to efficiently determine the existence of a (λS+1) cut C of G(𝒲) such that both failed edges e and e are contributing to C. The data structure in Theorem 4 can determine in 𝒪(1) time whether each of the failed edges is contributing to a (λS+1) cut. Unfortunately, it fails to determine whether both e,e contribute to a single (λS+1) cut. Suppose (λS+1) cut C exists and we assume, without loss of generality, that x,xC and y,yC¯. The other three possible cases can be handled in the same way.

Let C1 and C2 be nearest (λS+1) cuts from x to y and from x to y, respectively. The following lemma states the necessary condition.

Lemma 22.

If both edges e,e contribute to a single (λS+1) cut, then yC1 and yC2.

If e contributes to C1 or e contributes to C2 then we are done. Henceforth we consider that xC1C2 and xC2C1.

Let us assume that the capacity of global mincut for G(𝒲) is at least 4; later, we eliminate this assumption. The data structure in Theorem 4 can verify the necessary condition in Lemma 22 in 𝒪(1) time (refer to Theorem 21). Suppose the conditions in Lemma 22 holds for edges e,e. Observe that C1C2 is a cut that subdivides 𝒲. Hence, it has capacity at least λS+1. For S={s,t}, the union of cuts C1,C2 is always an (s,t)-cut and does not contain y,y. Exploiting this fact, it is shown in [2] that C1C2 is an (s,t)-cut of capacity λ{s,t}+1 in which both failed edges are contributing. Unfortunately, for any Steiner set S, there might not exist any Steiner vertex in C1C2¯. So, C1C2 is not always a Steiner cut and can have capacity strictly less than λS. Moreover, even if C1C2 is not a (λS+1) cut, there might still exist a (λS+1) cut in which both failed edges are contributing (refer to (λS+1) cut C in Figure 3(ii)). Therefore, the data structure for nearest (λS+1) cuts does not seem to work for answering dual edge failures queries. To overcome this hurdle, we establish the following important relation between vertices of 𝒲 and a pair of crossing (λS+1) cuts to which an edge belonging to 𝒲 is contributing.

Lemma 23.

Let e1 be an edge that belongs to 𝒲 and contributes to a pair of crossing (λS+1) cuts C,C of G(𝒲). Neither CC nor CC contains a vertex from 𝒲 if and only if each of the two sets CC and CC contains a Steiner vertex from S(𝒲).

Proof.

Let edge e1=(p,q) belongs to 𝒲 and e1 contributes to C,C of G(𝒲) (refer to Figure 3(i)). Suppose each of the two sets CC and CC contains no vertex from 𝒲. Since they are crossing, there must exist at least one vertex from S(𝒲) in each of the two sets CC and CC.

We now prove the converse part. Suppose each of the two sets CC and CC contains a Steiner vertex from S(𝒲). Let t1CC and t2CC. So, both CC and CC are Steiner cuts. Assume to the contrary that there is a vertex u𝒲 such that uCC (the proof is along a similar line if uCC). Let us now consider graph G(𝒲)e1. Since e1 contributes to both C and C, the capacity of cut C and C in G(𝒲)e1 is λS. By applying sub-modularity of cuts (Lemma 8(2)) for C,C in G(𝒲)e1, we arrive at c(CC)+c(CC)2λS. Observe that, in graph G(𝒲), edge e1 contributes neither to cut CC nor to cut CC. Hence, the following equation holds for graph G(𝒲) as well.

c(CC)+c(CC)2λS (2)

It is also given that u(CC)𝒲. So, CC is a Steiner cut that subdivides 𝒲 because sCC. Therefore, in G(𝒲), the capacity of CC is at least λS+1. It follows from Equation 2 that c(CC)λS1. Since t1CC and sCC, therefore, we have a Steiner cut CC of capacity at most λS1 in G(𝒲), a contradiction.

Refer to caption
Figure 3: (i) Illustration of the proof of Lemma 23. Green and Yellow curves represent the Steiner cuts CC and CC, respectively. (ii) Illustration of the proof of Lemma 24. (iii) Let q=Ω(|S(𝒲)|). There are q Steiner vertices (yellow vertices) in CC¯.

We exploit Lemma 23 crucially to arrive at the following sufficient condition.

Lemma 24.

Suppose the necessary condition holds (Lemma 22). There exists no Steiner vertex t such that tC1C2¯ if and only if there is no (λS+1) cut C such that both edges e,e contribute to C.

Proof.

Suppose there exists no Steiner vertex t such that tC1C2¯. Assume to the contrary that there is a (λS+1) cut C such that both edges e,e contribute to C (refer to Figure 3(ii)). Since C is a Steiner cut, there is a Steiner vertex t such that tC¯. Since t cannot belong to C1¯C2¯, it follows that t belongs to at least one of C1 and C2. Without loss of generality, assume that tC1. So, tC1C, and hence, C1C defines a Steiner cut. Since C1 and C2 are Steiner cuts, there exist Steiner vertices t1 and t2 such that t1C1 and t2C2. We now show that t1CC1. Assume to the contrary that t1 belongs to C¯. For cuts C,C1, there are vertices s,xCC1 and vertices y,t1CC1¯ such that s,x,y𝒲. Hence, both CC1 and CC1 subdivides 𝒲 and they are Steiner cuts. By Definition 9, cuts CC1 and CC1 is at least λS+1. By sub-modularity of cuts (Lemma 8(1)), for cuts C and C1, we have c(CC1)+c(CC1)2λS+2. It follows that CC1 and CC1 both are (λS+1) cuts. Moreover, CC1 is a proper subset of C1 as CC1 does not contain t. In addition, since xCC1, therefore, C1 cannot belong to NS(𝒲)(x), a contradiction due to Definition 11. Therefore, we have t1CC1. Observe that edge (x,y) contributes to both C1 and C. Since both edges e,e contribute to C, so we have xC. Moreover, it is known that xC1. Therefore, xCC1. Finally we have an edge (x,y) that contributes to a pair of crossing (λS+1) cuts C1,C since sCC1, t1CC1, tC1C, and y,yCC1¯. We have also shown that both C1C and CC1 contain a Steiner vertex from S(𝒲). However, there is a vertex x𝒲 that belongs to CC1, a contradiction due to Lemma 23.

Suppose there is a Steiner vertex t that belongs to C1C2¯. Since s(C1C2)𝒲, C1C2 is a Steiner cut. Since the necessary condition is satisfied, observe that y,yC1C2 and y,y belongs to 𝒲. So, CC subdivides 𝒲. Hence, C1C2 has capacity at least λS+1. For cuts C1 and C2, by sub-modularity of cuts (Lemma 8(1)), c(C1C2)+c(C1C2)λS+2. It follows that C1C2 must be a (λS+1) cut. Therefore, we have an (λS+1) cut C1C2 in which both edges e,e are contributing. It follows from Lemma 24 that the existence of a Steiner vertex in C1C2¯ is indeed a sufficient condition, which leads to the following result.

Lemma 25.

Both failed edges e=(x,y) and e=(x,y) contribute to a single (λS+1) cut if and only if there exist a nearest (λS+1) cut C1 from x to y and a nearest (λS+1) cut C2 from x to y such that yC1, yC2, and there exists a Steiner vertex tC1C2¯.

It follows that if the capacity of global mincut of G(𝒲) is at least 4, the data structure in Theorem 4 is sufficient for verifying every condition of Lemma 25. Exploiting Lemma 16, Lemma 23, and the following result, we show that data structure in Theorem 4 also works if the capacity of global mincut of G(𝒲) is at most 3.

Lemma 26.

Let (p,q) be any edge and u be a vertex such that p,q,u𝒲 and qus. Let C be any cut from NS(𝒲)(p) with qC. Then, uC if and only if there is no (λS+1) cut C such that s,pC and q,uC¯.

In conclusion, we have shown that for any capacity of global mincut of G(𝒲), the data structure in Theorem 4 can determine the necessary condition in Lemma 22 in 𝒪(1) time. To verify whether there is a Steiner vertex in C1C2¯, it requires 𝒪(|S|) time. Moreover, data structure in Theorem 4 can report C1¯ and C2¯ in 𝒪(n) time, which ensures that C1C2 can be reported in 𝒪(n) time. Therefore, we have designed an 𝒪(n(n|S|+1)) space data structure that, after the failure of any pair of edges, can report the capacity of S-mincut and an S-mincut in 𝒪(|S|) time and 𝒪(n) time, respectively. This leads to Theorem 5(2).

5.2 An 𝑶((𝒏|𝑺|)𝟐+𝒏) Space Data Structure with 𝑶(𝟏) Query Time

After the failure of any pair of edges, the 𝒪(n(n|S|+1)) space data structure in Theorem 5(2) (designed in Section 5.1) takes 𝒪(|S|) time to report the capacity of S-mincut. So, for S=V, the query time is 𝒪(n), which is significantly inferior compared to the 𝒪(1) query time for reporting the capacity of global mincut after the failure of a pair of edges using the data structure in [14]. In this section, we present a data structure that is more compact than the data structure in Theorem 5(2). In addition, it can also report the capacity of S-mincut in 𝒪(1) time after the failure of a pair of edges; hence, provides a generalization to the data structure of Dinitz and Nutov [14] from S=V to any SV.

Recall that, only for handling Case 1 in Section 5.1, our data structure takes 𝒪(|S|) time to report the capacity of S-mincut. So, we consider the graph G(𝒲) for a Singleton (λS+1) class 𝒲. Observe that the necessary condition (Lemma 22) can be verified in 𝒪(1) time. So, our objective is to determine in 𝒪(1) time whether there exists a Steiner vertex tC1C2¯ (the sufficient condition stated in Lemma 25). For a single vertex u𝒲, Lemma 18 ensures that there cannot be more than one Steiner vertex belonging to CC¯, where C,CNS(𝒲)(u). However, Lemma 18 cannot be extended for a pair of vertices from 𝒲. In other words, for a pair of vertices {u1,u2}𝒲, there can be Ω(|S(𝒲)|) number of Steiner vertices that belong to CC¯, where CNS(𝒲)(u1) and CNS(𝒲)(u2) (refer to Figure 3(iii)). So, it may happen that the number of Steiner vertices in each set C1¯ and C2¯ is Ω(|S(𝒲)|), but |(C1C2¯)S(𝒲)| is 𝒪(1) only. Hence, Ω(|S(𝒲)|) time seems necessary to determine whether there is a Steiner vertex tC1C2¯, which is 𝒪(|S|) in the worst case.

To achieve 𝒪(1) query time, our approach is to store a small set of Steiner vertices SV(e1) to every edge e1 belonging to 𝒲 such that the following lemma holds.

Lemma 27.

There is a Steiner vertex tC1C2¯ if and only if SV(e)SV(e).

Observe that, for every edge e1, trivially storing a Steiner vertex for every other edge satisfying necessary and sufficient condition with e1 leads to an 𝒪(|𝒲|4) space data structure. We now show that only 𝒪(|𝒲|2) space is sufficient to verify the condition in Lemma 27.

We first show that sufficient condition can be verified in constant time using 𝒪(|𝒲|2) space if at least one of the failed edges is incident on s. So, let us consider any edge e1=(x1,y1) not incident on s and let C be a nearest (λS+1) cut from x1 to y1. Let e2=(x2,y2) and e3=(x3,y3) be a pair of edges in G(𝒲) not incident on s, and let A be a nearest (λS+1) cut from x2 to y2 and B be a nearest (λS+1) cut from x3 to y3. Suppose both edges e2 and e3 with cuts A and B, respectively, satisfy the necessary and sufficient conditions with cut C for edge e1. By crucially exploiting the relation among three cuts A,B, and C, in three different graphs G(𝒲), G(𝒲)e1, and G (obtained from G(𝒲) after the removal of edges {e1,e2}), we establish the following interesting result.

Lemma 28.

For edge e1, there exists a Steiner vertex tC¯ such that for any edge e2=(x2,y2), if there is a nearest (λS+1) cut C from x2 to y2 that satisfies the conditions of Lemma 25 with C for edge e1, then Steiner vertex t also belongs to C¯.

Proof.

Suppose each of the two cuts A and B satisfies necessary and sufficient condition stated in Lemma 25 with cut C for e1. Assume to the contrary that there is no single Steiner vertex tC¯ that belongs to A¯B¯. It follows that there are at least two Steiner vertices t1,t2C¯ such that t1A¯B and t2B¯A. We have x1A¯B¯, x1C¯, and y1C¯A¯B¯. Moreover, both endpoints of e2 and e3 belong to C¯. Observe that endpoint y2 of e2 must belong to A¯C¯ and endpoint y3 of e3 must belong to B¯C¯. Let us consider (λS+1) cuts A and C. We have y2,t1A¯C¯ and sAC. Both AC and AC separate s from y3,t1. Hence, the capacity of AC, as well as AC, is at least λS+1. It follows from sub-modularity of cuts (Lemma 8(1)) that AC is a (λS+1) cut. Similarly, we can show that BC is a (λS+1) cut. Let A1=A¯C¯ and A2=B¯C¯. It follows that both A1 and A2 are (λS+1) cuts since graph G(𝒲) is undirected. Without causing any confusion, only for cuts A1 and A2 here, we have sA1A2¯. Observe that t1A1A2 and t2A2A1. Moreover, y1A1A2 since y1C¯A¯B¯. Also, since x1(A¯B¯)C¯, it implies that edge e1 contributes to A1A2 as well as A1A2. Now, based on the position of endpoints of e2 and e3 with respect to cuts A1 and A2, we have two cases – (1) at least one endpoint of e2 is in A1A2 or at least one endpoint of e3 is in A2A3, and (2) exactly one endpoint of each of the two edges e2 and e3 belongs to A1A2 and the other endpoints are in (A1A2¯)C¯. We now prove each case separately by contradiction.

Case 1.

Without loss of generality, assume that one endpoint of e2 is in A1A2. So, c(A1A2) is at least λS+1 since A1A2 separates t1 and endpoint of e2 from s. Let us obtain graph G(𝒲)e1. Since e1 contributes to both A1 and A2, in graph G(𝒲)e1, the capacity of A1 and A2 is λS. So, in graph G(𝒲)e1, we get c(A1A2)+c(A2A2)2λS+1 since A2A1 separates Steiner vertices t2 from s, and e contributes to neither A1A2 nor A2A1. However, in graph G(𝒲)e1, by applying sub-modularity of cuts (Lemma 8(2)) on A1 and A2, we arrive at c(A1A2)+c(A2A1)2λS, a contradiction.

Case 2.

In this case, both edges e2 and e3 contribute to A1A2; otherwise, observe that at least one endpoint of e2 is in A1A2 or at least one endpoint of e3 is in A2A3. We obtain a graph G from G(𝒲) after the removal of both edges e2 and e3. For any cut C′′, without causing any ambiguity, let c(C′′) denote the capacity of C′′ in G. In graph G, c(A1), as well as c(A2), is λS1. Since both A1A2 and A2A1 are Steiner cuts in G(𝒲), c(A1A2) and c(A2A1) is at least λS in G(𝒲). None of the edges e2,e3 contribute to A1A2 and A2A1. Hence their capacities remain intact in G. Therefore, in graph G, c(A1A2)+c(A2A1)2λS. However, by applying sub-modularity of cuts (Lemma 8(2)) on A1 and A2, we arrive at c(A1A2)+c(A2A1)2λS2, a contradiction. Lemma 28 helps us in showing that |SV(e1)|4 for any edge e1 in 𝒲, and, we can establish Lemma 27 using Lemma 28. To verify the necessary condition in Lemma 22, we observe that the Steiner set S(𝒲) is not required in the design of the data structure in Theorem 4. This leads to an 𝒪((n|S|)2+n) space data structure that can answer the necessary condition in 𝒪(1) time. Finally, we show that storing at most 4 Steiner vertices at every edge in G(𝒲) requires 𝒪((n|S|)2+n) space overall for every (λS+1) class of G. This helps in verifying the sufficient condition in 𝒪(1) time as well. Therefore, by Lemma 25 and Lemma 27, the capacity of S-mincut can be reported in 𝒪(1) time using an 𝒪((n|S|)2+n) space data structure after the failure of any pair of edges. This result, along with the result of handling insertions of a pair of edges (in the full version [6]), completes the proof of Theorem 5.

6 Lower Bound for Dual Edge Sensitivity Oracle

It follows from Definition 2 that any dual edge Sensitivity Oracle for S-mincut answers the following query.
cap(e,e): Report the capacity of S-mincut after the failure of a pair of edges e,e in G.
For S={s,t}, Baswana, Bhanja, and Pandey [2] established the following lower bound for answering query cap conditioned on Reachability Hypothesis [22, 30]. For (un)directed multi-graphs, any data structure that can answer query cap in 𝒪(1) time must occupy Ω~(n2) space in the worst case (Ω~ hides polylogarithmic factors) unless Reachability Hypothesis [22, 30] is violated.

We first show that, for any given Steiner set SV, any data structure that can answer query cap in graph G can also be used to answer query cap for (s1,s2)-mincut in a graph G=(V,E) on |V|=𝒪(n|S|) vertices, where s1,s2V are the only Steiner vertices of G. This, along with the above-mentioned result of [2], can be used to establish the following conditional lower bound. For a (un)directed multi-graph, for any given Steiner set SV, any data structure that can answer query cap in 𝒪(1) time must occupy Ω~((n|S|)2) space in the worst case, unless Reachability Hypothesis [22, 30] is violated.

Finally, and more importantly, we show by exploiting the structure of G that the Reachability Hypothesis [22, 30] is not required to establish an Ω((n|S|)2) lower bound on space for answering query cap. Hence, our obtained lower bound is unconditional. Moreover, the lower bound is also irrespective of the time taken for answering query cap. The result is formally stated in Theorem 6.

7 Conclusion

The problem of designing a compact data structure for minimum+1 Steiner cuts and designing dual edge Sensitivity Oracle for Steiner mincut is addressed for the first time in this article. Our results provide a complete generalization of the two important existing results while matching their bounds – for global cut (Steiner set is the vertex set V) by Dinitz and Nutov [14] and for (s,t)-cut (Steiner set is only a pair of vertices {s,t}) by Baswana, Bhanja, and Pandey [2]. The space occupied by the dual edge Sensitivity Oracle for Steiner mincut, presented in this article, is optimal almost for the whole range of S. In addition, the query time for reporting Steiner mincut and its capacity is also worst-case optimal.

An immediate future work would be to design a Sensitivity Oracle for Steiner mincut that handles the insertions/failures of any f>2 edges. For this problem, for any Steiner set S satisfying |S|(2,n), our result improves the space by a factor of Ω(mn|S|) over the trivial result for handling any f edge insertions/failures for S-mincut. In conclusion, while some nontrivial insights may still be required to significantly improve this bound, we believe that our results should be quite useful for addressing this generalized version of the problem.

References

  • [1] Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin. Network flows - theory, algorithms and applications. Prentice Hall, 1993.
  • [2] Surender Baswana, Koustav Bhanja, and Abhyuday Pandey. Minimum+1 (s, t)-cuts and dual-edge sensitivity oracle. ACM Trans. Algorithms, 19(4):38:1–38:41, 2023. doi:10.1145/3623271.
  • [3] Surender Baswana, Keerti Choudhary, Moazzam Hussain, and Liam Roditty. Approximate single-source fault tolerant shortest path. ACM Trans. Algorithms, 16(4):44:1–44:22, 2020. doi:10.1145/3397532.
  • [4] Surender Baswana and Abhyuday Pandey. Sensitivity oracles for all-pairs mincuts. In Joseph (Seffi) Naor and Niv Buchbinder, editors, Proceedings of the 2022 ACM-SIAM Symposium on Discrete Algorithms, SODA 2022, Virtual Conference / Alexandria, VA, USA, January 9 - 12, 2022, pages 581–609. SIAM, 2022. doi:10.1137/1.9781611977073.27.
  • [5] András A Benczúr. A representation of cuts within 6/5 times the edge connectivity with applications. In Proceedings of IEEE 36th Annual Foundations of Computer Science, pages 92–102. IEEE, 1995. doi:10.1109/SFCS.1995.492466.
  • [6] Koustav Bhanja. Minimum+1 steiner cuts and dual edge sensitivity oracle: Bridging the gap between global cut and (s,t)-cut. CoRR, abs/2406.15129, 2024. doi:10.48550/arXiv.2406.15129.
  • [7] Davide Bilò, Shiri Chechik, Keerti Choudhary, Sarel Cohen, Tobias Friedrich, Simon Krogmann, and Martin Schirneck. Approximate distance sensitivity oracles in subquadratic space. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 1396–1409, 2023. doi:10.1145/3564246.3585251.
  • [8] John A Bondy and Miklós Simonovits. Cycles of even length in graphs. Journal of Combinatorial Theory, Series B, 16(2):97–105, 1974.
  • [9] Diptarka Chakraborty, Kushagra Chatterjee, and Keerti Choudhary. Pairwise reachability oracles and preservers under failures. In 49th International Colloquium on Automata, Languages, and Programming (ICALP 2022), pages 35–1. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2022.
  • [10] Chung-Kuan Cheng and T. C. Hu. Ancestor tree for arbitrary multi-terminal cut functions. Ann. Oper. Res., 33(3):199–213, 1991. doi:10.1007/BF02115755.
  • [11] Keerti Choudhary. An optimal dual fault tolerant reachability oracle. In 43rd International Colloquium on Automata, Languages, and Programming (ICALP 2016), pages 130–1. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2016.
  • [12] Efim A Dinitz, Alexander V Karzanov, and Michael V Lomonosov. On the structure of the system of minimum edge cuts in a graph. Issledovaniya po Diskretnoi Optimizatsii, pages 290–306, 1976.
  • [13] Yefim Dinitz. Maintaining the 4-edge-connected components of a graph on-line. In Second Israel Symposium on Theory of Computing Systems, ISTCS 1993, Natanya, Israel, June 7-9, 1993, Proceedings, pages 88–97. IEEE Computer Society, 1993. doi:10.1109/ISTCS.1993.253480.
  • [14] Yefim Dinitz and Zeev Nutov. A 2-level cactus model for the system of minimum and minimum+1 edge-cuts in a graph and its incremental maintenance. In Frank Thomson Leighton and Allan Borodin, editors, Proceedings of the Twenty-Seventh Annual ACM Symposium on Theory of Computing, 29 May-1 June 1995, Las Vegas, Nevada, USA, pages 509–518. ACM, 1995. doi:10.1145/225058.225268.
  • [15] Yefim Dinitz and Alek Vainshtein. The connectivity carcass of a vertex subset in a graph and its incremental maintenance. In Frank Thomson Leighton and Michael T. Goodrich, editors, Proceedings of the Twenty-Sixth Annual ACM Symposium on Theory of Computing, 23-25 May 1994, Montréal, Québec, Canada, pages 716–725. ACM, 1994. doi:10.1145/195058.195442.
  • [16] Yefim Dinitz and Alek Vainshtein. Locally orientable graphs, cell structures, and a new algorithm for the incremental maintenance of connectivity carcasses. In Kenneth L. Clarkson, editor, Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, 22-24 January 1995. San Francisco, California, USA, pages 302–311. ACM/SIAM, 1995. URL: http://dl.acm.org/citation.cfm?id=313651.313711.
  • [17] Yefim Dinitz and Alek Vainshtein. The general structure of edge-connectivity of a vertex subset in a graph and its incremental maintenance. odd case. SIAM J. Comput., 30(3):753–808, 2000. doi:10.1137/S0097539797330045.
  • [18] Yefim Dinitz and Jeffery R. Westbrook. Maintaining the classes of 4-edge-connectivity in a graph on-line. Algorithmica, 20(3):242–276, 1998. doi:10.1007/PL00009195.
  • [19] Ran Duan and Seth Pettie. Dual-failure distance and connectivity oracles. In Claire Mathieu, editor, Proceedings of the Twentieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2009, New York, NY, USA, January 4-6, 2009, pages 506–515. SIAM, 2009. doi:10.1137/1.9781611973068.56.
  • [20] Paul Erdös. Extremal problems in graph theory. Publ. House Cszechoslovak Acad. Sci., Prague, pages 29–36, 1964.
  • [21] Zvi Galil and Giuseppe F. Italiano. Maintaining the 3-edge-connected components of a graph on-line. SIAM J. Comput., 22(1):11–28, 1993. doi:10.1137/0222002.
  • [22] Isaac Goldstein, Tsvi Kopelowitz, Moshe Lewenstein, and Ely Porat. Conditional lower bounds for space/time tradeoffs. In Algorithms and Data Structures: 15th International Symposium, WADS 2017, St. John’s, NL, Canada, July 31–August 2, 2017, Proceedings 15, pages 421–436. Springer, 2017. doi:10.1007/978-3-319-62127-2_36.
  • [23] Ralph E Gomory and Tien Chung Hu. Multi-terminal network flows. Journal of the Society for Industrial and Applied Mathematics, 9(4):551–570, 1961.
  • [24] Gramoz Goranci, Monika Henzinger, and Mikkel Thorup. Incremental exact min-cut in polylogarithmic amortized update time. ACM Trans. Algorithms, 14(2):17:1–17:21, 2018. doi:10.1145/3174803.
  • [25] Manoj Gupta and Shahbaz Khan. Multiple source dual fault tolerant bfs trees. In 44th International Colloquium on Automata, Languages, and Programming (ICALP 2017), pages 127–1. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2017.
  • [26] Giuseppe F. Italiano, Adam Karczmarz, and Nikos Parotsidis. Planar reachability under single vertex or edge failures. In Dániel Marx, editor, Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms, SODA 2021, Virtual Conference, January 10 - 13, 2021, pages 2739–2758. SIAM, 2021. doi:10.1137/1.9781611976465.163.
  • [27] Ken-ichi Kawarabayashi and Mikkel Thorup. Deterministic edge connectivity in near-linear time. J. ACM, 66(1):4:1–4:50, 2019. doi:10.1145/3274663.
  • [28] L. Lovász. Combinatorial problems and exercises. North-Holland Publishing Co., Amsterdam-New York, 1979.
  • [29] Merav Parter. Dual failure resilient BFS structure. In Chryssis Georgiou and Paul G. Spirakis, editors, Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, PODC 2015, Donostia-San Sebastián, Spain, July 21 - 23, 2015, pages 481–490. ACM, 2015. doi:10.1145/2767386.2767408.
  • [30] Mihai Patrascu. Unifying the landscape of cell-probe lower bounds. SIAM J. Comput., 40(3):827–847, 2011. doi:10.1137/09075336X.
  • [31] Jean-Claude Picard and Maurice Queyranne. On the structure of all minimum cuts in a network and applications. In Rayward-Smith V.J. (eds) Combinatorial Optimization II. Mathematical Programming Studies, 13(1):8–16, 1980. doi:10.1007/BFb0120902.