Abstract 1 Introduction 2 Preliminaries 3 Incremental Maximum Flow 4 Incremental Nagamochi-Ibaraki Indices 5 Balanced Sparsification References

Incremental Approximate Maximum Flow via Residual Graph Sparsification

Gramoz Goranci ORCID Faculty of Computer Science, University of Vienna, Austria Monika Henzinger ORCID Institute of Science and Technology Austria (ISTA), Klosterneuburg, Austria Harald Räcke ORCID Technical University Munich, Germany A. R. Sricharan ORCID Faculty of Computer Science, UniVie Doctoral School Computer Science DoCS, University of Vienna, Austria
Abstract

We give an algorithm that, with high probability, maintains a (1ϵ)-approximate s-t maximum flow in undirected, uncapacitated n-vertex graphs undergoing m edge insertions in O~(m+nF/ϵ) total update time, where F is the maximum flow on the final graph. This is the first algorithm to achieve polylogarithmic amortized update time for dense graphs (m=Ω(n2)), and more generally, for graphs where F=O~(m/n).

At the heart of our incremental algorithm is the residual graph sparsification technique of Karger and Levine [SICOMP ’15], originally designed for computing exact maximum flows in the static setting. Our main contributions are (i) showing how to maintain such sparsifiers for approximate maximum flows in the incremental setting and (ii) generalizing the cut sparsification framework of Fung et al. [SICOMP ’19] from undirected graphs to balanced directed graphs.

Keywords and phrases:
incremental flow, sparsification, approximate flow
Category:
Track A: Algorithms, Complexity and Games
Funding:
Harald Räcke: This project has received funding from the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – 498605858 and 470029389.
Copyright and License:
[Uncaptioned image] © Gramoz Goranci, Monika Henzinger, Harald Räcke, and A. R. Sricharan; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Dynamic graph algorithms
Related Version:
Full Version: https://arxiv.org/abs/2502.09105
Funding:
Monika Henzinger and A. R. Sricharan: This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (MoDynStruct, No. 101019564) margin: [Uncaptioned image] and the Austrian Science Fund (FWF) grant DOI 10.55776/Z422, grant DOI 10.55776/I5982, and grant DOI 10.55776/P33775 with additional funding from the netidee SCIENCE Stiftung, 2020–2024.
Editors:
Keren Censor-Hillel, Fabrizio Grandoni, Joël Ouaknine, and Gabriele Puppis

1 Introduction

The maximum s-t flow problem has been at the forefront of research in theoretical computer science and combinatorial optimization. Algorithms developed for maximum s-t flow and its dual problem, minimum s-t cut, have been highly influential due to their wide applicability [1] and their use as subroutines in other algorithms [2, 25]. A long line of work has improved our understanding of how efficiently maximum flow can be solved in the static setting. Two landmark combinatorial results are the deterministic algorithm by Goldberg and Rao [14], which achieves a running time of O(min{n2/3,m1/2}m), and the randomized algorithm by Karger and Levine [21] which has a running time of O~(m+nF),111In this paper, we use O~(X) to denote O(Xpolylog(X)) and O^(X) to denote O(X1+o(1)). where F is the value of the maximum flow. More recently, efforts building upon a novel blend of continuous optimization techniques, the Laplacian paradigm [30] and graph-based data structures have led to even faster algorithms; notably, a randomized O~(m/ϵ) time approximate maximum flow algorithm on undirected graphs [26, 22, 24, 27], and a deterministic O^(m) time exact algorithm for min-cost flow (and thus maximum flow) even on directed graphs [7, 6], which constitutes a major algorithmic breakthrough.

Recently, there has been growing interest in solving the maximum s-t flow problem in the challenging dynamic setting, where the goal is to maintain a flow (or its value) under edge insertions and deletions and answer queries about the maintained flow efficiently. For directed graphs, there are strong conditional hardness results [8, 18] showing a lower bound of Ω(n) and Ω(m) amortized update time for maintaining exact maximum flow, assuming the OMv conjecture. These strong polynomial lower bounds have motivated a shift in focus toward maintaining approximate maximum flows.

Research on maintaining approximate maximum flows in the dynamic setting can be categorized into the following three lines of works. The first line of work [5, 16, 31] deals with the fully dynamic setting, supporting both edge insertions and deletions and is based on dynamically maintaining tree-based cut approximations. However, these algorithms require at least a logarithmic loss in the quality of the maintained flow. The second line of work [19, 17, 15] is purely combinatorial and works by repeatedly finding augmenting paths in an incremental residual graph together with a lazy rebuilding technique. While these algorithms achieve sub-linear update time, it is not clear how to use them to go beyond the n barrier on the update time. To address this challenge, the third line of work [33, 32, 6, 31] leverages continuous optimization techniques to maintain a (1ϵ)-approximate max flow in the incremental (only edge insertions) and decremental (only edge deletions) settings in mo(1) update time. Table 1 offers a detailed summary of the state-of-the-art results on dynamic maximum flow algorithms.

Focusing on the (1ϵ)-approximation regime, the recent partially dynamic maximum flow algorithms suffer from the following two main drawbacks: (i) they depend on the powerful yet intricate machinery of continuous optimization methods, such as interior point methods, monotone multiplicative weight updates, and dynamic min-ratio cycle/cut problems, (ii) all existing algorithms incur an mo(1) factor in the update time, a limitation that arises in many modern dynamic graph-based data structures and appears difficult to overcome. This leads to the following fundamental question:

Is there an incremental maximum flow algorithm that achieves (1ϵ) approximation with polylogarithmic update time?

We answer this question in the affirmative for dense graphs that are undirected and uncapacitated, as summarized in the theorem below.

Theorem 1.

Given any ϵ(0,1), there is an incremental randomized algorithm that maintains a (1ϵ)-approximate maximum s-t flow f under edge insertions on an undirected uncapacitated n-vertex graph G with high probability in total time O(mlog(n)α(n)+nFlog3(n)/ϵ), where m is the number of edge insertions, F is the value of the max flow after m insertions, and α(n) is the inverse Ackermann function.

Note that in addition to dense graphs (m=Ω(n2)), our algorithm achieves polylogarithmic amortized update time even for graphs with small flow value F=O~(m/n), regardless of their density. An important feature of our algorithm is that it builds upon arguably simple and classic combinatorial techniques, such as residual graph sparsification and cut sparsification.

Table 1: Results on dynamic max flow. The “Flow/Value” column indicates whether the algorithm maintains an actual flow or just the value of a flow. The update time stated is the amortized time over all updates.
Setting Apx. Factor Flow/Value Directed Weighted Update Time Reference
Incremental 1 Flow Yes Yes O(F) [19, 17]
1 Flow No No O~(n2.5m1) [15]
1+ϵ Flow Yes No O^(m0.5ϵ0.5) [15]
1+ϵ Flow Yes Yes O^(n0.5ϵ1) [33]
1+ϵ Flow No Yes O(mo(1)ϵ3) [32]
1+ϵ Flow Yes Yes O(mo(1)ϵ1) [6]
1+ϵ Flow No No O~(nFm1ϵ1) Theorem 1
Decremental 1+ϵ Value Yes Yes O(mo(1)ϵ1) [31]
Fully dynamic O~(logn) Value No Yes O^(n0.667) [5]
mo(1) Value No No mo(1) [16]
mo(1) Value No Yes mo(1) [31]

1.1 Technical Overview

The main idea underlying our result is to dynamize the static algorithm by Karger and Levine [21] (abbrv. KL algorithm) that computes an exact max flow in O~(m+nF) time. We start by reviewing their static construction and then identify the challenges in the dynamic setting, along with our approach to overcome them. We present the algorithm and its analysis in full in Section 3.

The KL algorithm proceeds by repeatedly sampling ρ=O(nlogn) edges from the residual graph, searching for an augmenting path in this sample, and then augmenting along this path before resampling again. When the search fails to find an augmenting path, the number of sampled edges is doubled to 2ρ and this process is repeated until the sampled graph becomes as large as the original graph. Denoting the value of the maximum flow by F, they show that at least F/2 of the augmentations are performed on the sparsest graph with ρ edges, at least F/4 of the augmentations are performed on the graph with 2ρ edges and so on. After spending O~(m) on pre-processing to compute the sampling probabilities, the total running time thus adds up to i(F/2i)2i1ρ, which gives the required O~(m+nF) bound. Crucially, the last augmentation from F1 to F is performed on a graph of size Ω(m).

This final augmentation, which requires a sample of size Ω(m), effectively invalidates any attempts to use the KL approach for obtaining an incremental exact max flow algorithm. To understand why, observe that after every edge insertion, the algorithm needs to check if this edge insertion creates a new st augmenting path in the sampled graph. As we discuss below, this can be done in two ways, but both lead to algorithmic dead ends.

We could try to use an incremental single source reachability data structure (e.g., the one by Italiano [20]) to detect augmenting paths in the sampled graph, but since the actual augmentation reverses the direction of edges, we would need to reinitialize the incremental data structure on the sample after each augmentation. Since F augmentations are performed on samples of size Ω(m), this leads to a time bound of Ω(mF). As a concrete example, consider an initially empty bipartite graph G=(ST,), with sS and tT. In the first phase, insert all edges between S×T{t}, then in the second phase, insert all the remaining edges of the type {(v,t)}vS. Each edge insertion in the second phase increases the max flow by 1, and any algorithm based on a KL-type approach with an incremental reachability data structure needs to check an Ω(m)-edge graph to perform each augmentation.

The second approach would be to use a fully dynamic directed st reachability data structure. This would solve the above problem, as an augmentation in the residual graph can be simulated using O(n) directed edge deletions and insertions. However, fully dynamic st reachability is known to admit strong conditional lower bounds – for any η>0, no algorithm can achieve O(n1η) worst-case update time and O(n2η) worst-case query time, assuming the OMv conjecture [18].

Interestingly, we show that the first approach can be extended to the incremental setting if we relax our algorithm to maintain a (1ϵ)-approximate s-t max flow instead of an exact one. The high-level reason why is as follows: To show that at least F/2i of the augmentations are found in the sampled graph of size 2i1ρ, Karger and Levine prove that when at least F/2i of the max flow still remains to be augmented, a sampled graph of size 2i1ρ suffices to preserve the existence of an augmenting path whp. For our setting, if we want to maintain a (1ϵ)-approximate max flow, the above claim with i=log(1/ϵ) tells us that it suffices to maintain a sparsifier with just O(nlog(n)/ϵ) edges incrementally. This then removes the need to augment on an Ω(m)-edge graph which lets us circumvent the above barrier. While incrementally maintaining the sparsifier used by Karger and Levine would be highly non-trivial, we show that we can both efficiently maintain a different sparsifier incrementally, and that the new sparsifier is powerful enough to recover the guarantees required for the KL approach to work (at the cost of a logn factor in the sparsifier size).

The challenge of incrementally maintaining the KL sparsifier is due to its fragility under edge insertions. The KL sampling depends on a parameter called the strong connectivity of an edge [3], and in the incremental setting, a single edge insertion could modify the strong connectivities (and thus the sampling probabilities) of all other edges of the graph. As a result, no existing algorithm can even just maintain the sampling probabilities, let alone maintain an actual sample from the corresponding distribution. The same issue arises for other well-known connectivity measures used for sampling such as edge-connectivity [12] and effective resistances [28], and even maintaining approximations to them is quite involved [9, 10, 5, 13]. Instead, our key observation is to use Nagamochi-Ibaraki (NI) indices [23] for our sampling because of their resilience to incremental updates.

While the other connectivity parameters mentioned are unique for an edge, the NI index is determined by the forest packing constructed, and different packings gives rise to different indices. This flexibility in choosing the index allows us to maintain the same value even under edge updates, which we crucially use to maintain the sampling probabilities. The resilience property we use is as follows: when inserting an edge, the NI index of all other edges remains the same, and our task is to only determine the NI index of the newly inserted edge efficiently (which then doesn’t change in the future). Efficient maintenance of NI indices is discussed in Section 4.

While we now maintain a set of sampling probabilities using NI indices, it is unclear how they can be used to replace strong connectivity in the KL algorithm. We extend the general result of Fung et al. [12] on using a wide variety of connectivity parameters for cut sparsification on undirected graphs to showing that the same parameters also lead to cut sparsification on balanced directed graphs, which cover residual graphs that arise in our algorithm as a special case. Their results sample each edge independently, which in our setting leads to a prohibitive Ω(m) time for sampling. We adapt this to repeated sampling from a probability distribution, where we only spend O(logn) time per edge for a total O(nlog2(n)/ϵ) edges sampled. We present this result in full detail in Section 5.

Finally, we simplify our algorithm by not maintaining an exact sample from the distribution at each time step, but an oversample. Specifically, we obtain a sample of the correct size (O(nlog2(n)/ϵ)) right after an augmentation, but between two augmentations, we add edges directly to the sample instead of trying to maintain the distribution. This could blow up the number of edges in the sample to Ω(m) at some time steps, but since each edge is added this way to at most one sample throughout the algorithm, the total time bound of O~(m+nF/ϵ) still holds.

2 Preliminaries

2.1 Graphs and Flows

Flows.

Our algorithmic results are on undirected uncapacitated graphs G=(V,E). We denote n=|V| and m=|E|. For two vertices s,tV, an s-t flow fm assigns a value fe to each edge such that evfe=0 for all vs,t with |fe|1 e. The value of a flow f is F(f)=esfe, and the maximum flow f=argmaxs-t flows fF(f), with value F=F(f). We use F without the argument f when the flow is clear from context. For any α1, an s-t flow f is an α-approximate flow if FαF. If α>1, then the statement holds with α=1/α.

Model.

In the incremental model, we start with an empty graph with no edges, and the graph is revealed as a sequence of edge insertions e1,e2,, leading to graphs G1,G2,. Our goal is to maintain, after each edge insertion ei, an s-t flow f that is a (1ϵ) approximation to the max s-t flow fi in the current graph Gi. We use Fi to denote the value of the flow fi, and we use F to denote the final max s-t flow value after all edge insertions.

Directed graphs.

We denote by G=(V,E) a directed (multi-)graph without edge capacities. An edge of integer capacity x+ is represented using x parallel edges. For any subset of vertices SV, S¯=VS is the complement of S, and G(S) denotes the set of edges leaving S, which is also denoted by C(S)=G(S). Similarly, we use

C
(S)
=G(S¯)
to denote the set of edges entering S. We use C and C without the argument S when the subset is clear from context. The capacity u(C)=|C| of the cut C is the number of edges in C.

Underlying undirected graph.

For any directed (multi-)graph G, we denote by G the underlying undirected (multi-)graph obtained from G by forgetting edge orientations, and G(S) is the set of edges leaving S, which is also denoted by C(S)=G(S). For a directed cut C=G(S), we use C=G(S) to denote the underlying undirected cut in G.

Residual graph.

For any undirected, uncapacitated graph G, the corresponding residual graph for the zero flow f=0m is given by G0m where each edge (u,v) in G is replaced by two directed edges uv and vu. For any G and a non-zero flow f, the residual graph Gf is constructed the following way: start with the graph G0m as above, and for every edge e that carries flow in the direction uv, replace the edge uv in G0m with the edge vu. In that case there are two edges vu in Gf. A flow f is a maximum flow if and only if Gf contains no st paths.

2.2 Sampling Parameters

We define our importance parameter for sampling edges next. Since the residual graph has multiple edges between the same vertex pairs, we consider multi-graphs (which allow parallel edges) for the following definition.

Definition 2 (NI index [23]).

Given an undirected, unweighted (multi-)graph G, an ordered sequence of edge-disjoint spanning forests T1,T2, of G is said to be an NI forest packing of G if each Ti is a maximal spanning forest on G1j<i{Tj}, and i{Ti} is a partition of all the edges of G. The NI index e of an edge e is the index i of the forest Ti that e belongs to.

While the NI indices are the connectivity parameters that we will use for our sampling scheme due to their resilience to incremental graph updates, the following connectivity parameter is required for our directed sparsification proofs and cut-counting.

Definition 3 (Edge-connectivity).

Given an undirected unweighted (multi-)graph G and two vertices u and v, the edge connectivity between u and v is defined to be the value of the minimum cut (and thus also the maximum flow) between u and v in G. For an edge e=(u,v), we define the edge-connectivity of e to be the edge connectivity between u and v.

As we perform non-uniform sampling of the edges, we maintain connectivity parameters λe that influence the sampling probabilities. The NI index of an edge and the edge-connectivity of an edge are examples of such connectivity parameters. We will show concentration bounds for classes of edges whose λes are close to each other, which motivates the following definition.

Definition 4 (Connectivity class).

Given an undirected graph G and connectivity parameters λe for each edge, taking Λ=maxelogλe+1, the connectivity classes ={Fi:1iΛ} are given by

Fi={e:2i1λe2i1}.

For any connectivity class Fi, the graph (V,Fi) does not have the same edge-connectivity properties that G=(V,E) did. An edge eFi could have edge-connectivity Ω(n) in G and 1 in (V,Fi), e.g., a graph with a single (s,t) edge and Ω(n) parallel paths from s to t of length two. The following definitions from [12] are used to construct a subgraph of G that is slightly larger than Fi that certify connectivity properties of edges in Fi.

Definition 5 (Π-connected decomposition [12]).

Given an undirected graph G and connectivity parameters λe, a decomposition 𝒢=(Gi=(V,Ei))1iΛ is a sequence of subgraphs of G that satisfy FiEi for all i with Λ=maxelogλe+1. Further, for a sequence of parameters Π=(πi)1iΛ, the decomposition satisfies Π-connectivity if all edges eFi have edge-connectivity at least πi in Gi for all i.

Note that the same edge is allowed to appear in multiple sets Ei.

Definition 6 (γ-overlap [12]).

For any γ1, an undirected graph G and its Π-connected decomposition 𝒢 satisfies γ-overlap if for all i and for all cuts C=G(S),

i=0Λu(CEi)2i1πiγu(C)

2.3 Balance and Cut Counting

Imbalance of directed graphs.

Preserving various graph properties by subsampling is difficult on general directed graphs. However, sampling algorithms can be successfully applied when the directed graph exhibits some nice structure, for example, they have a similar number of edges crossing a cut in both directions. Eulerian graphs have exactly the same number of edges crossing any cut in both directions, and more pertinently, the residual graph of a flow that is not a (1ϵ) approximate max flow has at least an O(ϵ) fraction of edges crossing any cut in one direction over the other.

Definition 7 (balance [11]).

Given a directed (multi-)graph G=(V,E), the (im)balance of a cut C=G(S) is defined as

β(C)=u(C)u(

C
)

where

C
=G(S¯)
is the set of edges in the other direction of the cut.

Counting cut projections.

Karger shows that there are at most n2α distinct cuts whose size is αλ, where λ is the global mincut. We, like Fung et al. [12], look at larger cuts in the graph and require a tighter bound than the one given by Karger, which requires the following definition.

Definition 8 (directed k-projection).

Let G=(V,E) be a directed (multi-)graph and let G be the corresponding undirected graph. The k-projection of any cut C=(S) in G is CHk where

Hk={eE:the edge-connectivity of e in G is at least k}

2.4 Data Structures

We also need three classic data structures for our results, which we produce here.

Fact 1 (UnionFind [29]).

There is a data structure that supports the following operations

  • Add(u): Adds {u} to the set of sets in O(1) time.

  • Find(u): Finds the representative of the set that u belongs to in amortized O(α(n)) time.

  • Union(u,v): Replaces the sets that u and v belong to with their union in O(1) time.

where n is the number of elements present at that time, and α(n) is the inverse Ackermann function.

Fact 2 (SingleSourceReachability [20]).

There is a data structure that supports the following operations on a graph G with n vertices

  • Initialize(G,s): Initializes a data structure on G with special vertex s in O(m+n) time.

  • Insert(e=uv): Inserts the directed edge {e=uv} into G in amortized O(1) time.

  • Reachable(t): Returns “True” if t is reachable from s in G in amortized O(1) time.

  • GetPath(t): Returns a directed st path in G in time proportional to the length of the path.

Fact 3 (BinarySearchTree).

There is a data structure that supports the following operations

  • Initialize: Initializes the binary search tree data structure.

  • Insert(e,x): Inserts the key e with value x in amortized O(logn) time.

  • Search(x): Returns the largest key e with value x in amortized O(logn) time.

where n is the number of items inserted into the data structure at time of operation.

High probability bounds.

Finally, we say that an algorithm satisfies a guarantee with high probability if the guarantee holds with probability at least 14/n.

3 Incremental Maximum Flow

Our main result in this section is the following:

See 1

Algorithm 1 Algorithm for incremental approximate maximum flow on undirected, uncapacitated graphs.

We present the algorithm achieving the guarantees in Algorithm 1. The algorithm works in phases. At the start of a new phase, we sample O(nlog2(n)/ϵ) edges from the residual graph using a specific probability distribution which we will discuss later, and add them to the sampled graph H. On top of H, we run an incremental directed single-source reachability algorithm, called D, starting from s. At the beginning, and after each edge insertion, we query D if there exists an st path in the sample. As long as D does not return “Yes”, for each edge insertion e=(u,v), we add edges uv and vu to D. When D returns “Yes”, this corresponds to an st path in the residual graph, and we retrieve this path from D, augment along this path in Gf, and start a new phase.

We need to argue about the time bounds and the correctness. For correctness, we show that whenever an edge insertion increases the max flow to a value larger than a (1ϵ)1 factor over the current flow maintained by the algorithm, the existence of an st path in the sampled graph H is guaranteed with high probability. Since H is a subsample of the residual graph Gf, this provides us an augmenting path in Gf along which we augment the flow. With a union bound over the at most n times when this can happen (since the max flow value is at most n and each augmentation increases the flow by 1), this will imply that at the end of every time step, the algorithm maintains a valid (1ϵ)-approximate s-t flow with high probability. To show this claim, we first show that an extension of Fung et al.’s high probability result [12] on independent sampling for cut sparsification on undirected graphs also extends to repeated sampling for cut sparsification on balanced directed graphs. When combined with the fact that the residual graph of a flow that is not a (1ϵ)-approximate max flow is Ω(ϵ)-balanced, this shows that sampling approximately nlog2(n)/ϵ edges based on the probability distribution discussed below will preserve directed cuts, and thus also the existence of an augmenting path in residual graphs of non-(1ϵ)-approximate flows. Our initial sample at the beginning of a phase already satisfies the size requirement above, and since we add further edges directly to the maintained sample, we always oversample the rate required for the augmenting path preservation guarantee.

For the time bounds, assuming that the sampling can be done in time approximately O(logn) per sample and that the reachability data structure runs in total time proportional to the number of edges in D, we will show that the algorithm runs in O~(m+nF/ϵ) time. If we had maintained the size of the sampled graph at O~(n/ϵ) throughout a phase, then the claimed time bound would follow since D runs on a graph of size O~(n/ϵ) in each phase, at the end of which the value of the flow increases by 1, and the max flow is bounded by F which bounds the number of phases by F as well. However, the size of the sampled graph could increase to Ω(m) if no paths are found by D over all edge insertions, so this argument does not immediately work. The bound follows from a slight modification to the above argument: in each phase, denote an edge to be “old” when it is inserted into H due to sampling, and “new” when it is inserted into H directly on insertion in G. Then the claimed time bound follows since each edge appears as “new” in at most one phase throughout the algorithm, and the previous argument still holds for the “old” edges of each phase since there are at most O~(n/ϵ) of them per phase.

Finally, we maintain NI indices incrementally for the probability distribution, which we discuss in Section 4. We use the following definition in our proofs.

Definition 9 (Phase).

Let t0=0, and let ti be the time step when the ith augmenting path is found. Let mk be the number of edges inserted in time steps (tk1,tk]. Phase k refers to the computations performed after the (k1)th augmentation finishes until the kth augmentation ends.

We also use the following two statements directly, whose proofs can be found in Section 4 and Section 5 respectively.

Lemma 10.

There is an incremental data structure that maintains an NI forest packing (and thus the NI index e of each edge) of an undirected graph under edge insertions in total time O(mlogmα(n)) where α(n) is the inverse Ackermann function and m is the number of edges in the final graph. At any point of time, it also allows querying for an edge sampled from the probability distribution {e1/L}eE where L=ee1 in amortized time O(logn) for each sample.

Algorithm 2 Algorithm for directed balanced sparsification.
Theorem 11.

Let G=(V,E) be any directed (multi-)graph, and G be the underlying undirected graph. Let {λe}eE be some connectivity parameters in G, and β,γ1 and ϵ<1 be input parameters. Let H=(V,F,w) be the random graph with O(γβln(n)eEλe1/ϵ2) edges generated as in Algorithm 2.

If there exists a Π-connected decomposition 𝒢={Gi=(V,Ei):1iΛ} of G that satisfies γ-overlap, then for all cuts C=G(S) of balance at least β1 in G, it holds simultaneously with probability 14/n2 that

(1ϵ)u(C)w(C)(1+ϵ)u(C).

3.1 Running Time

Lemma 12.

Phase k takes total time O(mklog(n)α(n)+nlog3(n)/ϵ), where mk is the number of edges inserted in Phase k and α(n) is the inverse Ackermann function.

Proof.

Phase k starts with sampling O(nlog2(n)/ϵ) edges from the sampler, where each sample takes time O(logn) by Lemma 10. D has a total of mk+O(nlog2(n)/ϵ) many edges added to it in its entire lifetime, which gives a total update time of O(mk+nlog2(n)/ϵ). Inserting each edge into the sampler takes amortized time O(logmα(n)) by Lemma 10. Augmenting along a path takes time proportional to the length of the path, which is n.

Lemma 13.

The algorithm takes total time O(mlog(n)α(n)+nlog3(n)F/ϵ) where F is the value of the final max flow after all edge insertions.

Proof.

Let K be the total number of phases in the algorithm. Then KF since each phase increases the value of the flow by 1. Since the set of edges inserted in each phase are disjoint, kmk=m. By Lemma 12, phase k takes time O(mklog(n)α(n)+nlog3(n)/ϵ). Together, all phases take time

k=1KO(mklog(n)α(n)+nlog3(n)/ϵ)=O(mlog(n)α(n)+nlog3(n)F/ϵ)

3.2 Correctness

We first collect a few general statements that will be useful in the final proof.

Lemma 14.

Let f be any s-t flow in an undirected graph G of value F, and let Gf be its corresponding residual graph. Suppose F(1ϵ)F, where F is the value of the maximum flow. Then every cut in Gf is at least ϵ/2-balanced.

Proof.

For any cut C=(S) that is not an s-t cut (or a t-s cut), the net flow out of S in Gf is zero, and thus C is 1-balanced. All t-s cuts are 1-balanced since the residual graph has more flow in the st direction and thus more capacity in the ts direction. Consider an s-t cut C. Let c be the capacity of the underlying undirected cut C. Since F units of flow cross C in the forward direction st, the forward capacity across C in Gf is cF, and the backward capacity is thus c+F since the total capacity is 2c. Using (in order) cF, cF, and F(1ϵ)F, we get

β(C)=u(C)u(

C
)
=cFc+FcF2c=12(1Fc)12(1FF)ϵ2

Lemma 15.

Let {e}eE be a set of NI indices for an undirected (multi-)graph G with m edges. Then ee12nlogm.

Proof.

Consider the NI forest packing T1,T2, corresponding to the NI indices e. Since each forest contains at least one edge, the total number of forests is at most m. As each edge e in Ti has e=i, the sum of NI indices of all edges in forest i contributes at most n1i to the total sum. Thus,

eEe1=1imeTie11imn1i(n1)(2logm)2nlogm

where 1+12+13++1m is the m-th harmonic number, which is upper bounded by 2logm.

Since we work with the residual graph which has two copies of each edge of G, we prove the following lemma to show that an NI forest packing of G can be easily transformed into an NI forest packing of the undirected residual graph.

Lemma 16.

Let {e}eE be a set of NI indices for an undirected, simple graph G=(V,E). Let E be a copy of the edges in E. Then, for the multigraph H=(V,EE) which doubles the edges in E, assigning he=2e1 and he=2e is a set of NI indices for H.

Proof.

If T1,T2, forms an NI forest packing of G, then T1,T1,T2,T2, forms an NI forest packing of H. Letting e be the edge in the first copy of Ti and e be the edge in the second copy gives the lemma.

Lemma 17 ([12]).

Let T1,T2, be an NI forest packing of an undirected graph G leading to NI indices e, and let ={Fi} be the corresponding connectivity classes. Then E1=F1 and Ei=Fi1Fi for i2 is a decomposition that satisfies Π-connectivity and γ-overlap for πi=2i1 and γ=2, i.e., for all i and for all cuts C=G(S),

i=0Λu(CEi)2u(C).

Using these, we will first show that sampling Ω(nlog2(n)/ϵ) edges from the residual graph of a non-(1ϵ)-approximate flow preserves an augmenting path with high probability.

Lemma 18.

Consider an undirected, uncapacitated graph G with some s-t flow f of value F and a max s-t flow of value F such that F(1ϵ)F. Let e be a NI index of edge e. If a sample of 5390nlog2(n)/ϵ edges is chosen i.i.d. with probability {e1/ee1}eGf from the residual graph Gf, then there exists an augmenting path in the sample with probability 14/n2.

Proof.

We will first argue that sampling the mentioned number of edges and reweighting them as in Algorithm 2 gives a (weighted) cut sparsifier H=(V,F,w) of Gf. We show that this implies the presence of an augmenting path in H. Then, we note that the property of presence of an augmenting path holds regardless of the presence of weights. Since the sample chosen in the lemma is an unweighted version of H, the lemma follows.

Since there are at most (n2) edges in a simple graph G (and thus at most n2 edges in a residual graph), Lemma 15 gives that that eEe14nlogn. By Lemma 17, there is a decomposition for NI indices that satisfies Π-connectivity and γ-overlap for πi=2i1 and γ=2. Thus, if one runs Algorithm 2 with ρ=5390nlog2(n)/ϵ edges, then by Theorem 11 one obtains a weighted (1+ϵ)-sparsifier H=(V,F,w) of the residual graph Gf where the parameters are set as ϵ=1/2, γ=2, β=2/ϵ, and ee14nlogn. Since every cut in the residual graph of a flow with F(1ϵ)F has balance at least ϵ/2 (Lemma 14), we have that the weighted sparsifier H=(V,F,w) from Theorem 11 satisfies

w(C)u(C)2>0

for all directed cut C=(S) simultaneously with probability 14/n2. In particular, this also means that at least one edge from S to S¯ is sampled in H for every directed s-t cut (S,S¯). This implies that an s-t augmenting path exists in H with probability 14/n2.

Defining H=(V,F) to be the unweighted graph obtained from H by dropping the edge weights, the existence of an augmenting path holds in H as well with probability 14/n2. Since the sampled graph stated in the lemma is generated exactly as in H, the lemma follows.

We will now show that at any fixed time step, the augmenting path guarantee holds with high probability.

Lemma 19.

At the beginning of any phase k, if F(1ϵ)Ftk1, then there exists an augmenting path in H with probability 14/n2. Here, Fi is the max flow at time i, and tk1 is the time step when the (k1)-th augmentation ends.

Proof.

At the beginning of the phase, the sample has just been performed and no new edges have been inserted. Since we sample an undirected edge and put in both directions into the sample, this is an oversample of the rate required by Lemma 18. The lemma follows by guarantees of Lemma 18.

Lemma 20.

At each time step i, whenever F<(1ϵ)Fi, there exists an augmenting path in H with probability 14/n2. Here, Fi is the value of the max flow at time i.

Proof.

At the beginning of a phase, this follows from Lemma 19. Else, there has been at least one edge insertion into H. On edge insertions, the total sampling weight of the graph, which is ee1, strictly increases. The NI index of every existing edge, on the other hand, stays the same. Thus adding the new edge directly to H is an oversample of the rate required by Lemma 18 to guarantee the existence of an augmenting path, both for the already existing edges and for the new edge. Using the guarantees of Lemma 18 gives the lemma.

Finally, we take a simple union bound to extend the guarantee to all time steps.

Lemma 21.

Algorithm 1 maintains a (1ϵ)-approximate s-t max flow at all times with probability 14/n.

Proof.

Whenever F<(1ϵ)Fi, we use Lemma 20 to argue the existence of an augmenting path in the sample with probability 14/n2. Each time an augmenting path is found, F increases by 1. Thus, we need to invoke Lemma 20 at most Fn times. Taking a union bound over all times that F increases, we get that the approximation guarantee holds throughout the entire insertion sequence with probability 14/n as required.

4 Incremental Nagamochi-Ibaraki Indices

In this section, we show how to incrementally maintain (and sample from) Nagamochi-Ibaraki indices e for each edge e. The main result of this section is the following: See 10

We maintain Nagamochi-Ibaraki indices instead of other sampling parameters because of their stability under incremental updates. When an edge e=(u,v) is inserted into a graph G, it could change other connectivity parameters (such as edge-connectivity, strong-connectivity, or the effective resistance) of every existing edge in the graph. However, the NI index of every other edge remains the same on edge insertion, which is a very desirable property for dynamic algorithms. This happens because while other graph properties are unique for an edge in a given graph, the NI index depends heavily on the particular forest packing used. It could vary wildly for the same edge, and could range from 1 up to n depending on the packing.

The incremental algorithm involves maintaining a collection of forests, where each forest is a union-find data structure on the vertices currently in that forest. On an edge insertion, we binary search across the forests to find the first one where its endpoints are disconnected, and insert the edge into that forest (and also adding the endpoints to the forest or initializing a new forest if necessary).

Due to the subtleties of implementing this, we present the data structure in full detail below. In particular, if we naively “initialized” a new forest by inserting all the vertices into the forest, then this would lead to a running time of Ω(n) per forest, which could be prohibitive. For the extreme case where n parallel edges are inserted between the same two vertices u and v, this necessitates initializing Ω(n) forests, which leads to Ω(n2) total time for the naive implementation, as opposed to adding a vertex to a forest only when necessary (as done below with the last_tree variable).

Algorithm 3 Maintaining Incremental Nagamochi-Ibaraki Indices (IncNIIndex).
Algorithm 4 Incremental Nagamochi-Ibaraki sampling (IncNISample).
Lemma 22.

Algorithm 3 maintains the NI forest packing at all times, and runs in total time O(mlogmα(n))

Proof.

We first argue about correctness by induction. It is clearly true before any edge insertions. Suppose it was true until k insertions. Let e=(u,v) be the (k+1)-th inserted edge. If i is the index of the tree returned by FindTree, then it satisfies the property that for all j<i, vertices u and v are connected in forest tree[j], and that they are not connected in forest tree[i]. Thus connecting u and v in forest tree[i] and setting the index of the edge to i maintains correctness after the (k+1)-th edge as well.

Next, we argue about the time taken by the algorithm. If there are m edges in the graph currently, then the algorithm maintains m forests. Thus the binary search takes O(logm) iterations. In each iteration, it queries a union-find data structure if two vertices are connected, which takes O(α(n)) amortized time. Union of two elements in, insertion of new elements into, and initialization of a union-find data structure takes constant time. Thus the algorithm runs in total time O(mlogmα(n)).

We quickly recall an example of a binary search tree insertion sequence before we prove the next lemma. In a binary search tree, if there are three consecutive insertions of (key, value) pairs (a,0),(b,1/3), and (c,1/2), then searching for any z[0,1/3) returns a, searching for z[1/3,1/2) returns b, and searching for z[1/2,) returns c.

Lemma 23.

Algorithm 4 maintains a sample from the correct distribution at all times, each insertion takes time O(log(m)α(n)) and each sample takes time O(logn).

Proof.

Let e1,,em be the sequence of edge insertions performed, and let ei be their corresponding NI indices obtain from Algorithm 3. The e values obtained from Algorithm 3 are correct by the guarantees of Lemma 22. Define s1=0 and si=1j<iej1 be the sum of inverse NI indices of all edges inserted until ei1. We will show that at any time k, for all i{1,,k}, searching for any z[si,si+1][0,sk+1] returns key ei in the binary search tree. This then gives correctness of the algorithm since, after the k-th insertion, the edge ei is sampled with probability (si+1si)/L=ei1/sk+1 since L=sk+1 after k edge insertions.

The statement is clearly true after the first edge insertion. Suppose it was true until k1 insertions. Since the key ek1 had value sk1, searching for any z[sk1,) would have given key ek1. Let ek be the k-th inserted edge, which is inserted with value sk. Thus, for all z[sk,), the search returns key ek, and for z[sk1,sk), the search returns key ek1. As sksk1=ek11, sk+1sk=ek1, and the other edges ej for j<k1 are not affected by this insertion, the claim follows.

For time bounds, note that each edge insertion into Algorithm 3 takes time O(log(m)α(n)), each insertion into the binary search tree with length e1 takes time O(logn), and each sample takes time O(logn) as well, given that the random number is generated in time O(logn).

Lemma 10 now follows from Lemma 22 and Lemma 23.

5 Balanced Sparsification

We remark that while Cen et al. [4] obtain a cut sparsification result for balanced directed graphs, their result only works with strong connectivity and cannot be used with NI indices, which we need for our algorithm. In this section, we show the following result.

See 11

This is an extension of the result of [12] to balanced directed graphs, with the sampling scheme changed from sampling each edge independently with probability polylog(n)/(λeϵ2) to sampling O(npolylog(n)/ϵ2) edges with probability distribution proportional to λe1. The proof proceeds by reducing the problem to showing concentration for each connectivity class where the connectivity parameters are close to each other. Inside each connectivity class Fi, the cuts are then collected by the size of the underlying undirected cut in Gi and concentration is shown for each collection separately. This involves combining the concentration for each cut in the collection, along with a cut-counting argument similar to the one on [12] (which is an extension of Karger’s cut-counting). Finally, the concentration of each cut is shown using a standard Chernoff bound.

Concretely, we will show later that the following concentration holds for every connectivity class.

Lemma 24.

It holds for all i[Λ] and for all cuts C=G(S) simultaneously with probability at least 14/n2 that

|w(CFi)u(CFi)|ϵ2(u(CEi)2i1πiγ(β+1)+u(CFi))

where C=G(S) is the underlying undirected cut of C in G.

We first use it to prove Theorem 11.

Proof of Theorem 11.

We group the edges by the probability it is picked, and show concentration for each such connectivity class separately. With probability 14/n2, we have for all cuts C=G(S) of balance β1,

|w(C)u(C)| =|i=0Λw(CFi)i=0Λu(CFi)|
i=0Λ|w(CFi)u(CFi)|
ϵ2(i=0Λu(CEi)2i1πiγ(β+1)+i=0Λu(CFi)) (by Lemma 24)
ϵ2(u(C)β+1+u(C))
=ϵ2(u(C)+u(C)β+1+u(C))
ϵu(C)

where the penultimate inequality follows since

i=0Λu(CEi)2i1πiγu(C)

by γ-overlap and

i=0Λu(CFi)=u(C)

since ={Fi} is a partition of E.

To show Lemma 24, we partition the cuts in a connectivity class based on the size of the underlying undirected cut, and show concentration in each of them separately. Formally, we will show later that

Lemma 25.

Let 𝒞ij be the collection of all cuts C=G(S) such that for the corresponding undirected cut C=G(S) in G,

πi2ju(CEi)πi2j+11

Then for all cuts C in 𝒞ij simultaneously, it holds with probability 12/n42j that

|w(CFi)u(CFi)|ϵ2(u(CEi)2i1πiγ(β+1)+u(CFi))

We first use this to prove Lemma 24.

See 24

Proof.

We will show that the statement holds for any fixed i with probability at least 14/n4. Since ={Fi} is a partition of the edges, and since there are at most n2 edges in the graph, a union bound over all i with non-empty Fi gives the lemma.

Fix any i[Λ]. For all cuts C with no edge in class Fi, the claim holds with probability 1. In what follows, we only consider cuts that have at least one edge in class Fi.

We concentrate on the graph Gi, and only consider cuts that contain at least πi edges since every edge in Fi has connectivity at least πi in Gi by Π-connectivity. Let 𝒞ij be the collection of all cuts C=G(S) such that for the corresponding undirected cut C=G(S) in G,

πi2ju(CEi)πi2j+11

Then by Lemma 25, for all C𝒞ij, it holds with probability at least 12/n42j that

|w(CFi)u(CFi)|ϵ2(u(CEi)2i1πiγ(β+1)+u(CFi))

Thus the probability that there exists a j for which there exists a cut C𝒞ij where the bound does not hold is at most

2n4(1n20+1n21+)4n4

as required.

To show Lemma 25, we need the bound for a single cut as in Lemma 26 and use this with a directed cut counting argument as in Lemma 27. We defer the proofs of both of these lemmas to the full version.

Lemma 26.

For any single cut C in 𝒞ij, it holds with probability 12/n82j that

|w(CFi)u(CFi)|ϵ2(u(CEi)2i1πiγ(β+1)+u(CFi))
Lemma 27.

Let G=(V,E) be a directed (multi-)graph, and G be the underlying undirected graph. Let kλ be any real number, where λ is the value of the global minimum cut in G. Consider all the cuts C=G(S) in G such that u(C)αk for the corresponding undirected cut C=G(S), and let 𝒞αk be the set of all directed k-projections of these cuts. Then |𝒞αk|2n2α.

We use them to show Lemma 25.

See 25

Proof.

For any single cut C in 𝒞ij, Lemma 26 shows that with probability at least 12/n82j,

|w(CFi)u(CFi)|ϵ2(u(CEi)2i1πiγ(β+1)+u(CFi))

At this point, we would like to take a union bound over all the cuts in 𝒞ij. Ideally, we would like the number of cuts in this set to grow as nc2j. However, the number of directed cuts C that arise might be much larger than that. However, note that the inequality only depends on CFi, and not C. We thus focus on working with the distinct subsets CFi that arise, and use these to prove our claim.

We first show that the number of distinct directed cuts CFi that are encountered is still O(nc2j) using Lemma 27. In particular, we apply Lemma 27 on the graph Gi=(V,Ei), setting k=πi and αk=πi2j+11. The total number of distinct subsets CHk that arise from cuts in 𝒞ij is at most

2n2α<2n42j

where Hk is the subgraph of Gi of all edges with edge-connectivity at least πi. Since each edge in Fi has edge-connectivity at least πi by Π-connectivity, we have that FiHk. Every non-empty subset of the form CFi has a corresponding subset of the form CHk that is counted above, and for every CHk counted above, there is at most one non-empty subset of the form CFi, which proves the claim.

To simplify notation, we use the following definition for the next claim. Call a subset of directed edges RE to be bad for a directed cut CE if CFi=R and

|w(R)u(R)|>ϵ2(u(CEi)2i1πiγ(β+1)+u(R))

Note that if R is bad for any particular directed cut C, then it is also bad for

D=argminC:(CFi=R)(C𝒞ij)u(CEi)

since

|w(R)u(R)|>ϵ2(u(CEi)2i1πiγ(β+1)+u(R))ϵ2(u(DEi)2i1πiγ(β+1)+u(R))

where the first inequality is because R is bad for C, and the second inequality is by choice of D.

Thus, the probability we need to bound is

Pr[ a cut C𝒞ij such that CFi is bad for C]
=Pr[ an RE and a cut C𝒞ij such that R is bad for C]
REPr[ a cut C𝒞ij such that R is bad for C]
=REPr[R is bad for D=argminC:(CFi=R)(C𝒞ij)u(CEi)]
2n42j2n82j4n42j

where the penultimate inequality holds because the number of distinct Rs that can be of the form CFi is at most 2n42j, and for each R, the probability that R is bad for D is at most 2/n82j by Lemma 26.

References

  • [1] Ravindra K Ahuja, Thomas L Magnanti, James B Orlin, and MR Reddy. Applications of network optimization. Handbooks in Operations Research and Management Science, 7:1–83, 1995. URL: https://www.sciencedirect.com/science/article/abs/pii/S0927050705801185.
  • [2] Sanjeev Arora, Elad Hazan, and Satyen Kale. The multiplicative weights update method: a meta-algorithm and applications. Theory Comput., 8(1):121–164, 2012. doi:10.4086/TOC.2012.V008A006.
  • [3] András A. Benczúr and David R. Karger. Randomized approximation schemes for cuts and flows in capacitated graphs. SIAM J. Comput., 44(2):290–319, 2015. doi:10.1137/070705970.
  • [4] Ruoxu Cen, Yu Cheng, Debmalya Panigrahi, and Kevin Sun. Sparsification of directed graphs via cut balance. In International Colloqium on Automata, Languages, and Programming (ICALP), pages 45:1–45:21. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPICS.ICALP.2021.45.
  • [5] Li Chen, Gramoz Goranci, Monika Henzinger, Richard Peng, and Thatchaphol Saranurak. Fast dynamic cuts, distances and effective resistances via vertex sparsifiers. In Foundations of Computer Science (FOCS), pages 1135–1146. IEEE, 2020. doi:10.1109/FOCS46700.2020.00109.
  • [6] Li Chen, Rasmus Kyng, Yang P. Liu, Simon Meierhans, and Maximilian Probst Gutenberg. Almost-linear time algorithms for incremental graphs: Cycle detection, sccs, s-t shortest path, and minimum-cost flow. In Symposium on Theory of Computing (STOC), pages 1165–1173. ACM, 2024. doi:10.1145/3618260.3649745.
  • [7] 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 Foundations of Computer Science (FOCS), pages 612–623. IEEE, 2022. doi:10.1109/FOCS54457.2022.00064.
  • [8] Søren Dahlgaard. On the hardness of partially dynamic graph problems and connections to diameter. In International Colloqium on Automata, Languages, and Programming (ICALP), pages 48:1–48:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2016. doi:10.4230/LIPICS.ICALP.2016.48.
  • [9] David Durfee, Yu Gao, Gramoz Goranci, and Richard Peng. Fully dynamic effective resistances. CoRR, abs/1804.04038, 2018. arXiv:1804.04038.
  • [10] David Durfee, Yu Gao, Gramoz Goranci, and Richard Peng. Fully dynamic spectral vertex sparsifiers and applications. In Symposium on Theory of Computing (STOC), pages 914–925, 2019. doi:10.1145/3313276.3316379.
  • [11] Alina Ene, Gary L. Miller, Jakub Pachocki, and Aaron Sidford. Routing under balance. In Symposium on Theory of Computing (STOC), pages 598–611, 2016. doi:10.1145/2897518.2897654.
  • [12] Wai Shing Fung, Ramesh Hariharan, Nicholas J. A. Harvey, and Debmalya Panigrahi. A general framework for graph sparsification. SIAM J. Comput., 48(4):1196–1223, 2019. doi:10.1137/16M1091666.
  • [13] Yu Gao, Yang P. Liu, and Richard Peng. Fully dynamic electrical flows: Sparse maxflow faster than goldberg-rao. In Foundations of Computer Science, (FOCS), pages 516–527, 2021. doi:10.1109/FOCS52979.2021.00058.
  • [14] Andrew V. Goldberg and Satish Rao. Beyond the flow decomposition barrier. J. ACM, 45(5):783–797, 1998. doi:10.1145/290179.290181.
  • [15] Gramoz Goranci and Monika Henzinger. Efficient data structures for incremental exact and approximate maximum flow. In International Colloqium on Automata, Languages, and Programming (ICALP), pages 69:1–69:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.ICALP.2023.69.
  • [16] Gramoz Goranci, Harald Räcke, Thatchaphol Saranurak, and Zihan Tan. The expander hierarchy and its applications to dynamic graph algorithms. In Symposium on Discrete Algorithms (SODA), pages 2212–2228. SIAM, 2021. doi:10.1137/1.9781611976465.132.
  • [17] Manoj Gupta and Shahbaz Khan. Simple dynamic algorithms for maximal independent set, maximum flow and maximum matching. In Symposium on Simplicity in Algorithms (SOSA), pages 86–91. SIAM, 2021. doi:10.1137/1.9781611976496.10.
  • [18] Monika Henzinger, Sebastian Krinninger, Danupon Nanongkai, and Thatchaphol Saranurak. Unifying and strengthening hardness for dynamic problems via the online matrix-vector multiplication conjecture. In Symposium on Theory of Computing (STOC), pages 21–30. ACM, 2015. doi:10.1145/2746539.2746609.
  • [19] 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. doi:10.1006/JAGM.1997.0855.
  • [20] Giuseppe F. Italiano. Amortized efficiency of a path retrieval data structure. Theor. Comput. Sci., 48(3):273–281, 1986. doi:10.1016/0304-3975(86)90098-8.
  • [21] David R. Karger and Matthew S. Levine. Fast augmenting paths by random sampling from residual graphs. SIAM J. Comput., 44(2):320–339, 2015. doi:10.1137/070705994.
  • [22] Jonathan A. Kelner, Yin Tat Lee, Lorenzo Orecchia, and Aaron Sidford. An almost-linear-time algorithm for approximate max flow in undirected graphs, and its multicommodity generalizations. In Symposium on Discrete Algorithms (SODA), pages 217–226. SIAM, 2014. doi:10.1137/1.9781611973402.16.
  • [23] 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. doi:10.1007/BF01758778.
  • [24] Richard Peng. Approximate undirected maximum flows in O(mpolylog(n)) time. In Symposium on Discrete Algorithms (SODA), pages 1862–1867. SIAM, 2016. doi:10.1137/1.9781611974331.CH130.
  • [25] Jonah Sherman. Breaking the multicommodity flow barrier for o(vlog n)-approximations to sparsest cut. In Foundations of Computer Science (FOCS), pages 363–372. IEEE Computer Society, 2009. doi:10.1109/FOCS.2009.66.
  • [26] Jonah Sherman. Nearly maximum flows in nearly linear time. In Foundations of Computer Science (FOCS), pages 263–269. IEEE Computer Society, 2013. doi:10.1109/FOCS.2013.36.
  • [27] Jonah Sherman. Area-convexity, l regularization, and undirected multicommodity flow. In Symposium on Theory of Computing (STOC), pages 452–460, 2017. doi:10.1145/3055399.3055501.
  • [28] Daniel A. Spielman and Nikhil Srivastava. Graph sparsification by effective resistances. SIAM J. Comput., 40(6):1913–1926, 2011. doi:10.1137/080734029.
  • [29] Robert Endre Tarjan and Jan van Leeuwen. Worst-case analysis of set union algorithms. J. ACM, 31(2):245–281, 1984. doi:10.1145/62.2160.
  • [30] Shang-Hua Teng. The laplacian paradigm: Emerging algorithms for massive graphs. In Theory and Applications of Models of Computation (TAMC), pages 2–14, 2010. doi:10.1007/978-3-642-13562-0_2.
  • [31] Jan van den Brand, Li Chen, Rasmus Kyng, Yang P. Liu, Simon Meierhans, Maximilian Probst Gutenberg, and Sushant Sachdeva. Almost-linear time algorithms for decremental graphs: Min-cost flow and more via duality. In Foundations of Computer Science (FOCS), pages 2010–2032. IEEE, 2024. doi:10.1109/FOCS61266.2024.00120.
  • [32] Jan van den Brand, Li Chen, Rasmus Kyng, Yang P. Liu, Richard Peng, Maximilian Probst Gutenberg, Sushant Sachdeva, and Aaron Sidford. Incremental approximate maximum flow on undirected graphs in subpolynomial update time. In Symposium on Discrete Algorithms (SODA), pages 2980–2998. SIAM, 2024. doi:10.1137/1.9781611977912.106.
  • [33] Jan van den Brand, Yang P. Liu, and Aaron Sidford. Dynamic maxflow via dynamic interior point methods. In Symposium on Theory of Computing (STOC), pages 1215–1228. ACM, 2023. doi:10.1145/3564246.3585135.