Faster Weak Expander Decompositions and Approximate Max Flow
Abstract
We give faster algorithms for weak expander decompositions and approximate max flow on undirected graphs. First, we show that it is possible to “warm start” the cut-matching game when computing weak expander decompositions, avoiding the cost of the recursion depth. Our algorithm is also flexible enough to support weaker flow subroutines than previous algorithms.
Our second contribution is to streamline the recent non-recursive approximate max flow algorithm of Li, Rao, and Wang (SODA, 2025) and adapt their framework to use our new weak expander decomposition primitive. Consequently, we give an approximate max flow algorithm within a few logarithmic factors of the limit of expander decomposition-based approaches.
Keywords and phrases:
max flow, expander decompositions, congestion approximators, cut-matching gameCategory:
Track A: Algorithms, Complexity and GamesCopyright and License:
2012 ACM Subject Classification:
Theory of computation Network flowsFunding:
This material is based upon work supported by the National Science Foundation Graduate Research Fellowship Program under Grant No. DGE2140739. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.Editors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
In the maximum flow problem, we are given a set of vertex demands, where each vertex is required to send or receive a certain amount of flow, and the goal is to route these demands while minimizing the maximum congestion along any edge. It is one of the oldest problems in theoretical computer science [10], with connections to other famous problems including minimum cut, bipartite matching, and Gomory-Hu trees [13]. Modern algorithmic techniques have produced exciting breakthroughs in both the exact directed setting [9, 24, 6] and the approximate undirected setting [20, 32, 18, 33, 1]. These techniques include the interior point method from continuous optimization [9, 24, 6], electrical flows and Laplacian solvers [35, 20, 24, 12], expander decompositions and congestion approximators [32, 30], and dynamic data structures [6].
On the other hand, despite the rapid advancement of modern flow algorithms, progress towards understanding max flow, especially its underlying structural properties, has arguably lagged behind:
-
1.
The first -approximate max flow algorithm on undirected graphs runs in time even for constant [27]. The algorithm is fairly complex, recursively alternating between multiple different problems, and it took a decade before the first non-recursive algorithm was developed [23], improving the runtime to .111We suppress factors in these running times for simplicity.
-
2.
While the exact max flow algorithms based on interior point methods are impressive, they do not shed light on the combinatorial structure of max flow. In response, a recent trend of studying combinatorial max flow has emerged [7, 8, 4, 3], obtaining augmenting path-style algorithms that are more faithful to traditional approaches.
This paper is dedicated to refining our understanding of approximate max flow in undirected graphs. Our starting point is the recent non-recursive algorithm for approximate max flow [23], which computes a hierarchy of so-called weak expander decompositions, using previously computed levels of the hierarchy to build the next level. From this hierarchy, a congestion approximator is extracted and used in Sherman’s framework [33] to obtain the desired approximate max flow. However, [23] do not state an explicit running time, since the weak expander hierarchy construction requires calls to fair cut/flow [22], which introduce a large running time overhead.
The contribution of this paper is twofold:
-
1.
First, we develop a faster weak expander decomposition algorithm by “warm starting” the cut-matching game [19] whenever a sparse cut is found. This algorithm can be implemented using calls to max flow, compared to for the standard weak expander decomposition implementation [31], and may be of independent interest.
-
2.
Next, we streamline the framework of [23] to obtain a non-recursive approximate max flow algorithm with an improved running time of . In particular, we are able to implement our weak expander decomposition using approximate max flow, compared to prior algorithms which require fair cut/flow or similarly strong guarantees [31, 23]. Similar to [23], these max flow calls are specialized enough to be solvable using the existing levels of the hierarchy. However, a weaker flow oracle introduces a number of technical difficulties which we discuss in the technical overview.
Theorem 1 (Informal version of Corollary 19).
Given an undirected graph with integral and polynomially-bounded edge capacities, there is an time algorithm to construct a congestion-approximator with quality . Together with Sherman’s framework [33], we obtain an -approximate max flow algorithm in time .
While the logarithmic exponent of is too large to be practical, we remark that expander decomposition-based algorithms have historically led to similarly large constants. For example, the state of the art (strong) -expander decomposition [2] deletes fraction of edges and runs in time on capacitated graphs; to delete a constant fraction of edges, we require which results in time. Even our faster implementation of weak expander decomposition runs in time in the most ideal setting. Therefore, our max flow algorithm is within a few logarithmic factors of the limit to any expander decomposition-based approaches, and substantial future improvements will require either breakthroughs in computing expander decompositions, or bypassing expander decompositions altogether.
Further related work
Our result builds on a long line of work on efficiently constructing a small collection of cuts, called congestion approximators, which approximately capture the congestion required to route any feasible demand [28, 5, 15, 29, 30, 26, 27, 14, 1, 16]. To construct an -congestion approximator for , these algorithms required (approximate) max flow as a subroutine. In a breakthrough work, [32] showed that an -congestion approximator could also be used to compute -approximate max flow. There is a chicken-and-egg problem here as congestion-approximators and approximate max-flow need each other, which [27] resolved using a costly recursion combined with ultra-sparsifiers. Recent work [23] was able to avoid this recursion by building a congestion-approximator bottom-up without requiring an approximate max-flow oracle, which is the focus of our work.
A stronger cut player?
Our expander decomposition algorithm is adapted from the cut-matching game from [19], despite the fact that cut-matching games with better parameters have since been developed. Most notably, the cut-matching game of [25] uses a stronger spectral cut player to save an factor in their expansion guarantees. However, our warm starting analysis relies on a simple property of the potential function used in [19]: if we partition a set , then the sum of the induced potentials on and is at most the potential on . The same property is not obviously true of the matrix-based potential function of [25].
Our work also relies essentially on the “nonstop” variant of KRV used in [30, 31] to give an efficient expander decomposition algorithm. Until the recent works of [2, 16], such a nonstop version of [25] was unknown. Given this development, we believe it may be a promising direction to adapt our warm starting analysis to this OSVV-based nonstop cut-matching game. We leave this as an open problem in our work.
2 Technical Overview
Faster weak expander decompositions
All known algorithms for computing expander decompositions in near-linear time rely on the cut-matching game. Our first main technical contribution is a faster algorithm for computing weak expander decompositions. We do this by observing that it is possible to “warm start” our recursive instances of the cut-matching game. Importantly for our application to approximate max flow, our algorithm is robust enough to support general vertex weights and to implement the matching steps using approximate max flow oracles.
We now describe the techniques in more detail. In the standard cut-matching game (on an unweighted graph), we have rounds in total. In each round, the cut player finds two disjoint sets and . The matching player then tries to route a flow from to , implicitly defining a matching between the sets. If at any iteration the matching player fails to route the flow, the cut certifying infeasibility of the flow is a sparse cut, showing that the graph is not an expander. Otherwise, if all matching step flows are feasible, the cut player is defined so that the union of the matchings found in the iterations is itself an expander. Combined with the fact that the matchings embed into the original graph with low congestion, this proves that must be an expander.
In the non-stop version of the cut-matching game [30, 31], when the matching player fails to route the flow from to , thus finding a sparse cut , the algorithm does not (necessarily) immediately terminate. Instead, the cut-matching game continues on . More generally, let be the current set on which the cut-matching game is being played; when the matching player finds a cut , the algorithm continues on . It can be shown that after iterations, the remaining set is a near-expander in , meaning that its degree vertex weighting mixes in (but possibly not ) with low congestion.
To convert the non-stop cut-matching game into a weak expander decomposition algorithm, [11] adds an early termination condition: if at any point, the non-stop cut-matching game terminates and recurses on and . Otherwise, if the cut-matching game terminates in certifying that is a near-expander, we recurse onto if it is non-empty. If is certified as a near-expander in some iteration, we then know that so the recursive call decreases by a constant factor in size. If we reach the early termination condition, then and we have the additional guarantee that is partitioned by sparse cuts into subsets of at most of the volume each. Hence, the recursive calls also decrease in size by a constant factor in this case. As a result, the recursive depth is at most , so we can compute a weak expander decomposition in iterations of the cut-matching game.
We give a new weak expander decomposition algorithm which only uses iterations of the cut-matching game. Let again be the current set of vertices. If we find a matching successfully, then we continue the cut-matching game on . Otherwise, we find a sparse cut . In the previous algorithm, we would only continue on , delaying continuing on until reaching the early termination condition or certifying that some subset of is a near-expander in . Our main observation is that we can continue the cut-matching game on both and simultaneously without a loss in the runtime. This amounts to “warm-starting” on . Slightly more formally, we maintain a partition of into sets at each iteration . At the beginning of the algorithm, we set and at each iteration , we run the cut-matching game on each simultaneously. When we find some cut , we add (if nonempty) and to . After rounds, we will certify that each component in is a near-expander. We remark that warm-starting crucially uses the fact that we are ultimately constructing a weak expander decomposition, not a strong one. Indeed, the matching embeddings from steps prior to restricting to a subgraph (from finding a cut) are not guaranteed to embed into our current subgraph. This is fine for certifying near-expansion but too weak a guarantee for strong expansion.
Importantly for our application to approximate max flow, this algorithm still reveals sufficient structure when implementing the matching steps with an approximate max flow oracle. To this end, we give our algorithm in two steps. The first step is to compute a weak expander decomposition where there can be a small “deleted,” non-expanding portion of the input vertex weighting (Section 5.1). The non-deleted portion is certified to mix simultaneously (i.e., each component expands with respect to the non-deleted portion of the vertex weighting) and there are guaranteed to be few intercluster edges, as usual. Then, in the second step (Section 5.2), we attempt to graft the demand deleted in each cluster back into the cluster, as in [11]. After this step, every expanding cluster will not have any deleted demand, and nearly all demand will belong to an expanding cluster. We state an informal version of our result in Theorem 2.
Theorem 2 (Informal version of Theorem 15).
Suppose we have with integer edge capacities at most . In addition, suppose we have vertex weighting , expansion parameter , and a suitable approximate max flow oracle running in time . Then, there is an algorithm computing a partition of with the following properties:
-
1.
The algorithm runs in time .
-
2.
-
3.
The total capacity of edges cut by is at most .
-
4.
Each is a -near-expander in .
Importantly for our applications, we actually obtain a stronger simultaneous mixing expansion property instead of (4), but we omit that here for simplicity (see Theorem 15). Also note that, unlike standard weak expander decompositions, our result does not exactly decompose all vertices into near-expanders (i.e., usual decompositions would get or the guarantee of (2) to be ). However, this relaxation is critical for obtaining such a result and still suffices for some important applications of weak expander decompositions. Indeed, the relaxation of (2) suffices for our application to constructing congestion-approximators and approximate max flow, as we discuss next.
Faster congestion-approximators
Recall that a laminar family of subsets of forms an -congestion-approximator if for every vertex demand, the minimum ratio over cuts between the capacity of the cut and the demand crossing the cut is an -approximation to the optimal congestion of any flow routing the demand. Our goal is to construct -congestion-approximators faster and with smaller . To discuss our improvement over previous work, we restate the informal Theorem 2.1 from [23], which gave a novel approach for constructing congestion-approximators.
Theorem 3 (Theorem 2.1 of [23]).
Consider a capacitated graph , and let and be parameters. Suppose there exist partitions of such that
-
1.
is the partition of singleton clusters, and is the partition with a single cluster.
-
2.
For each , for each , the intercluster edges of internal to along with the boundary edges of mix in the graph . Moreover, the mixings over all the clusters have congestion simultaneously.
-
3.
For each , there is a flow in with congestion such that each intercluster edge of sends its capacity in flow, and each intercluster edge of receives half its capacity in flow.
For each , let partition be the common refinement of partitions , i.e.,
Then, their union is a congestion-approximator with quality .
The partitions described in the theorem essentially form a weak expander hierarchy, where each level is essentially a (boundary-linked) weak expander decomposition. Using the existence of routings guaranteed by (2) and (3), [23] show that a demand respecting the congestion-approximator can be iteratively routed. They then show that this weak expander hierarchy can be constructed using existing tools for constructing expander decompositions [31, 22]. By doing this, they construct a sequence of partition satisfying properties (1), (2), and (3) with parameters and .
Our main observation is that we do not need the full power of a weak expander decomposition at each level in order to show the existence of this routing. If a small constant fraction of the vertices (measured in terms of volume in the subgraph) do not have the expander mixing property, this is still sufficient to show that the congestion-approximator routing exists. Specifically, we relax conditions (2) and (3) on the partitions to allow for a small constant fraction of edges to not participate in the routings at level and be instead be handled at level . More formally, we let be partitions of subsets . We only require the mixing properties (2) and (3) on for each , so we should think of as a weak expander decomposition of . To extend the partitions of to a partition of , we define to be the induced partition from the previous level on . That is, we define
Then we can define . Intuitively, when we only have a partition on , we are giving up on routing the demand from the intercluster edges from in and dealing with it at a higher level. In order to move it to the higher level, we include it in through the definition of .
We now state a morally true version of our relaxed conditions for constructing congestion-approximators.
Theorem 4 (Informal version of Theorem 16).
Consider a capacitated graph , and let and be parameters. Let be partitions of , respectively and extend these to partitions as described above. Suppose the partitions satisfy:
-
1.
is the partition of singleton clusters and is the partition with a single cluster.
-
2.
For each , for each , the intercluster edges of internal to along with the boundary edges of mix in the graph . Moreover, the mixings over all the clusters have congestion simultaneously.
-
3.
For each , there is a flow in with congestion such that each intercluster edge of sends its capacity in flow, and each intercluster edge of receives at most a quarter its capacity in flow.
For each , let partition be the common refinement of partitions , i.e.,
Then, their union is a congestion-approximator with quality .
The first advantage of this relaxation is that our algorithm for constructing the partitions is faster. In particular, we can use approximate max flow algorithms to implement the cut-matching game. This may cause some nodes to be “deleted,” as described in the previous subsection, but this is okay for us since we only need expander mixing guarantees on a (large) constant fraction of the vertices for property (2). In contrast, [23] used a fair-cuts algorithm [22] to implement the same step in their paper, which incurred several additional log factors in their runtime.
The second advantage is for obtaining smaller . In [23], they prove that the flow from to exists using the boundary-linkedness property of the expander decompositions. This approach naturally suffers from because the flows guaranteed by the expander decomposition have congestion . Instead, our approach is to directly attempt to send flow from to at each level. Using a max-flow/min-cut algorithm, we will find a (possibly empty) cut and a flow which saturates the cut. If we simply remove the vertices which are cut out, we have that in the remainder of the graph, there is a flow from to (since the flow saturates the cut). This gives us the desired , and also crucially uses our relaxation of properties (2) and (3).
Finally, we note that we obtain a smaller in our construction. This is because we construct a weak expander decomposition on each level, which we observed is sufficient for the simultaneous mixing guarantees required by property (2). This enables us to avoid the costly trimming step used in [23], and also enables our speedup using warm-starting, which no longer helps for strong expander decompositions.
The approximate max flow algorithm
We apply Sherman’s framework [33] to convert a congestion-approximator into an approximate max flow algorithm. Our approach for constructing a congestion-approximator is to construct a weak expander hierarchy using the cut-matching game. In implementing the cut-matching game, we need to solve flow problems (approximately), and we do this using the previous layers of the hierarchy as a “pseudo”-congestion-approximator. Our (pseudo)-congestion-approximators have quality , giving us an time algorithm for solving the flow problems in the cut-matching game. Our improved weak expander decomposition algorithm takes rounds to obtain a full weak expander decomposition. Finally, there are layers of the hierarchy, totalling runtime.
3 Organization of the Paper
In Section 5 we give a faster algorithm for weak expander decompositions. This algorithm supports implementing its flow subroutines with weaker than usual properties, which are described in Oracle 1 and Oracle 2. In Section 6 and Section 7 we give a faster algorithm for computing a congestion-approximator from the bottom up, using the faster weak expander decomposition as a critical subroutine. To do this, we show how to efficiently implement Oracle 1 and Oracle 2. As a direct consequence of our new algorithm for constructing a congestion-approximator, we obtain the fastest known approximate max flow algorithm. We defer all proofs to the full online version of the paper.
4 Preliminaries
Functions
For two functions let denote that, for all , . We write to denote the subset of on which takes nonzero values. For and finite, we also write as shorthand for . We use to mean the restriction of to . When clear from context, we sometimes abuse notation and use to denote the function on the same domain but set equal to outside of . We also use all of the above notation for vectors, interpreting those vectors as functions. We often bold vectors to distinguish them from scalars (e.g., write ).
Graphs
We consider capacitated (weighted) graphs where . Unless otherwise specified, we use to denote the order of and to denote its size. Sometimes we write (or ), (or ), and to clarify that they are the parameters of the graph . For , denote the induced subgraph of as . In other words, is the subgraph of formed by retaining exactly vertices in and edges between vertices in .
Given a partition of , we write to denote the set of intercluster edges in . When is just a single cut , we sometimes write instead. We often consider as an edge subgraph of . We also use the notation and (or and ) as shorthand denoting the total capacity of intercluster or cut edges. For , we denote the (weighted) degree of in as . We will often also consider which treats as an edge subgraph of . Finally, throughout we consider vertex weights , with the most common weight function being or for a subgraph of .
Flow
A demand is a vector whose entries sum to . We say a flow routes a demand if for each the net flow at in is . We say that has congestion if the flow through any edge in is at most times its capacity. Given a flow , a path decomposition of is a collection of weighted paths in such that, for each , the flow from to in is the sum of weights of paths containing the edge from to in the path decomposition.
Expansion
Let be a capacitated graph, and let be a vertex weighting. Let . Then, the conductance of in with respect to is
We say that a cut is -sparse (in with respect to ) if . We say that is a -expander if, for all , we have . For , we say that is -nearly -expanding in (or is a -near-expander in ) if, for all , we have
Note that if is -nearly -expanding in , then the same holds for all , since the denominators of the relevant expressions only decrease. When or is clear from context we say is a -expander (respectively, near-expander).
We can also define expansion with respect to flows. We say that a vertex weighting mixes in with congestion if, for all demands with , we have that is routable in with congestion at most . In fact, mixes in with congestion if and only if is a -expander. Note that while mixing in with congestion implies that is a -near-expander in , the converse does not hold in general. Flow-based expansion is stronger than cut-based expansion for near-expanders.
Sometimes we require an even stronger notion of expansion with respect to multi-commodity flows. We say that a collection of vertex weights mixes simultaneously in with congestion if, for all tuples of demands with each satisfying , there exists a multicommodity flow with one commodity per demand which routes all and has total congestion .
Congestion-approximators
Given a graph , a congestion-approximator of quality is a family of subsets of such that, for any demand satisfying for all , there is a flow routing demand with congestion .
5 Faster Algorithm for Weak Expander Decomposition
Our input is an undirected, capacitated graph of order , size , and with ; an expansion parameter ; and a vertex weighting . For intuition, it may be helpful to think of as . Our goal is to compute a decomposition of , , and some such that:
-
1.
Decomposition into expanders: mix simultaneously in with congestion .
-
2.
Few cut edges: The total capacity of edges cut by is .
-
3.
Limited deleted demand: , for some small constant .
In the case of implementing the matching steps of cut-matching with an exact max flow oracle or a fair cuts-based approximate max flow oracle, we can set . For our application to approximate max flow, our max flow oracles are too weak to achieve such a guarantee , but the guarantee of (3) still suffices. We defer stating the main result of this section, Theorem 15, so it can be stated in the context of the flow oracles it assumes.
5.1 Weak Expander Decomposition with Deleted Demand
We begin by stating some basic definitions. For and a vertex weighting , define an -commodity flow as a multicommodity flow where each is a source of of its unique flow commodity.
For the purposes of our analysis, we will implicitly maintain a flow matrix throughout. We say a flow matrix is routable with congestion if there exists a -commodity flow such that for each , simultaneously routes of ’s commodity to with no edge having more than flow passing through it.
We initialize our flow matrix as , where we view as a vector in . We also initialize our set of “deleted vertices” as the empty set; . At each step , is equal to , except set equal to on . The algorithm then proceeds in rounds.
Some components of become inactive over the course of the algorithm. The components that are active are those for which we have not marked all nodes as deleted and for which we have not certified that the component is an expander. We decompose into the active and inactive portions, respectively. In each step, we will make progress towards certifying expansion on some . For each active component , we maintain a counter recording how many times we have made progress on this set. When the counter is high enough, we have certified expansion on with high probability and we can set the component to be inactive. We state the algorithm more formally in Algorithm 1.
Cut Player
We implement our cut step as follows.
-
Sample , a random unit vector.
-
For each :
-
–
For each , compute
-
–
Compute a partition such that:
-
1.
.
-
2.
or .
-
1.
-
–
In particular, we compute a partition of such that is guaranteed to contain a set of vertices certifying progress towards expansion. We show the existence of such a set certifying progress via a technical lemma. This is a variant of Lemma 5.15 of [11] adapted to the undirected setting.
Lemma 5.
Let be a finite multi-subset of with . There exists inducing a partition with or , , and with the following additional guarantees. Define . There exists such that
-
1.
For each , we have .
-
2.
.
The proof is similar to the proof of Lemma 5.15 in [11]. To construct our partition , we apply Lemma 5 to the multiset of , where each value is repeated times. Elements whose duplicates appear in both and have and will not be relevant for our potential reduction analysis.
Lemma 6.
For each , we can compute the cut step partitions for all in total time .
Matching Player
In the th matching step, we consider the following flow problem. Let be the graph with all edges between different components in deleted and all remaining edges with capacity scaled by . For for some , we set its source to be . For , we set its sink to be .
We assume access to an approximate max flow oracle with the following guarantees.
Oracle 1 (Matching Player Flow Oracle).
On such a flow instance, we find with
such that, for each :
-
1.
We find a (possibly empty) cut with . In addition, we have that the total capacity of computed cuts is at most
-
2.
We find a flow routing at least source of within , for .
Remark 7.
Note that, if given access to a -approximate max flow oracle, we could apply the oracle on each and get the desired properties with .
Updating the flow matrix
Each application of the flow oracle induces a weighted matching in each component between the source and the sink. We update the implicit flow matrix accordingly. In particular, let be the symmetric matrix where, for a source vertex, is the amount of flow sent from vertex to vertex in the flow (after computing some path decomposition using link-cut trees). Importantly, since is formed by a path decomposition, we can guarantee that has at most nonzero entries. For convenience, for , define . Also define . We can then define recursively from and as follows. For ,
| (1) |
For , is not involved in the matching step, so .
Claim 8.
For all and for all with ,
Claim 9.
For all , is routable with congestion .
Convergence Analysis
To prove that we achieve the desired decomposition after total steps, we consider the following potential function. For each , first define the average flow vector
As before, . Then,
Small potential implies simultaneous mixing, as stated in the following lemma.
Lemma 10.
Suppose that for all with . Then,
mix simultaneously in with congestion .
Remark 11.
Given demands respecting for each , we can compute the mixing routing in time by rescaling the paths in the path decompositions computed in the prior rounds’ matching steps. Like the original path decomposition computation, we can implement this using link-cut trees [34].
With some work, we can show a decrease in potential in each step. Combined with standard concentration bounds, we can deduce the following.
Corollary 12.
Let such that , and recall the variable from Algorithm 1. If , then with high probability in .
To complete the proof of the main result of this section, we also need to show that . Indeed, we have the following.
Lemma 13.
For all , we have
Putting all of this together yields our first main result.
Theorem 14 (Weak Expander Decomposition with Partial Deletions).
Given , and access to an approximate max flow oracle as in Oracle 1 with parameter , running in time per query, there is an algorithm running rounds of cut-matching which computes a partition of and with the following properties:
-
1.
For each with , . Moreover, with high probability mix simultaneously in with congestion .
-
2.
The total capacity of edges cut by is at most .
-
3.
.
-
4.
The algorithm runs in time .
5.2 Grafting in Deleted Demand
One potential weakness of the partition from Theorem 14 is property (1), its mixing guarantee. It is not quite the case that every is either certified as a (simultaneously mixing) -near-expander or entirely deleted. Instead, the expanding components might have some deleted nodes inside them still (i.e., ). Moreover, it might be the case that we want some stronger notion of expansion, e.g., boundary-linked expansion [14].
Fortunately, we can strengthen the decomposition with one additional grafting step, similarly to [11]. Let be the additional vertex weighting on corresponding to the boundary of . Let be a parameter. Think of as in the case of expander decompositions; for our application, we will set . Consider the flow instance on a subgraph of , generated as follows.
-
Let .
-
For each :
-
–
For each , add source.
-
–
For each with , add sink .
-
–
-
Remove all edges cut by from , and scale the capacity of remaining edges by .
The intuition for this flow instance is the following. If it is feasible, then we can route all the deleted and boundary demand to non-deleted demand that is certified to mix. (We set the sinks as rather than purely to streamline our specific application.) As such, at the cost of a slight increment in the congestion, we certify that all the expanding components mix simultaneously with respect to demands , not just . If the flow is not feasible, because we scaled the edges and since the source is small relative to the sink, we will find sparse cuts in most components. We want the additional guarantee that any remaining source is almost entirely routed and the new boundary can be routed as well. This condition is achievable with fair cut-based max flow algorithms (e.g., [22, 21]), and we require something analogous in the definition of our flow oracle.
Oracle 2 (Grafting Flow Oracle).
On such a flow instance, for some parameter , we find a flow with the following properties:
-
1.
For each , if , we find a pair such that:
-
(a)
For each with , we route at least source from to .
-
(b)
The flow saturates at least a fraction of the capacity of each edge from to .
-
(c)
We have
-
(a)
-
2.
We have
We can now state the main result of this section, a strengthening of Theorem 14 using a grafting post-processing step.
Theorem 15 (Weak Expander Decomposition with Deletions).
Suppose we have , , , , and access to Oracle 1 with parameter and Oracle 2 with parameter , running in time and per query, respectively. Let . Then, there is an algorithm computing a partition of with the following properties:
-
1.
The algorithm runs in time .
-
2.
-
3.
The total capacity of edges cut by is at most .
-
4.
mix simultaneously in with congestion .
-
5.
There exists a flow of congestion such that each sends flow and each receives at most flow.
6 Sufficient Conditions for Constructing a Congestion-Approximator
In this section, we show that the following properties suffice to obtain a congestion-approximator.
Theorem 16.
Consider a capacitated graph , and let and be parameters. Consider a sequence of partitions of . For ease of notation, let denote the singleton partition. For each , define to be the induced partition of on i.e.,
and let for each . Suppose the partitions satisfy:
-
1.
is a partition of singleton clusters, and is a partition with a single cluster.
-
2.
For each , the collection of vertex weightings mixes simultaneously in with congestion .
-
3.
For each , there is a flow in with congestion such that each sends flow and receives at most flow.
For each , let partition be the common refinement of partitions , i.e.,
Then, their union is a congestion-approximator with quality .
Note that in most natural algorithms, we have in the top layer. The rest of the section proves the theorem. As in [23], we will actually need a pseudo-congestion-approximator analogue of Theorem 16, where is not necessarily the partition . The precise guarantees are given below. In particular, note that assumptions (2) and (3) remain unchanged.
Lemma 17.
Consider a capacitated graph with , and let and be parameters. Consider a sequence of partitions of . For ease of notation, let denote the singleton partition. For each , define to be the induced partition of on i.e.,
and let for each . Suppose the partitions satisfy:
-
1.
is the partition of singleton clusters.
-
2.
For each , the collection of vertex weightings mixes simultaneously in with congestion .
-
3.
For each , there is a flow in with congestion such that each sends flow and each receives at most flow.
For each , let partition be the common refinement of partitions , i.e.,
Consider their union . For any demand satisfying for all , there exists a demand satisfying and a flow routing with congestion .
Instead of proving Theorem 16 directly, we prove Lemma 17, which is needed for the algorithm. The proof of Lemma 17 is technical and deferred to the full version of the paper. Note that Lemma 17 implies Theorem 16.
7 Building Our Congestion-Approximator
The partitioning algorithm starts with the partition of singleton clusters. The algorithm then iteratively constructs partition given the current partitions . The lemma below establishes this iterative algorithm, where we substitute for .
Theorem 18.
Consider a capacitated graph . Suppose there exists partitions that satisfy the following properties:
-
1.
is the partition of singleton clusters.
-
2.
For each , the collection of vertex weightings mixes simultaneously in with congestion .
-
3.
For each , there is a flow in with congestion such that each sends flow and each receives at most flow.
-
4.
For each , the size of the boundaries are decreasing: .
Then, there is an algorithm running in time that constructs a partition such that properties (2), (3), and (4) hold for as well.
Note that the first three properties of Theorem 18 are the same as those in Lemma 17. As suggested in Lemma 17, the new partitions will be constructed by finding a partition of a subset and combining it with the induced partition from on the remaining vertices . This will be done via our faster algorithm for weak expander decompositions from Section 5. Before describing our algorithm further, we first note that iterations suffice to obtain a congestion-approximator.
Corollary 19.
Let be a capacitated graph with . There is an
time algorithm to construct a congestion-approximator of with quality . This implies an time algorithm for -approximate max flow.
In the remainder of the section, we prove Theorem 18. To do so, we apply our weak expander decomposition algorithm from Section 5, which requires us to implement Oracles 1 and 2 of Theorem 15. An approximate max flow oracle suffices to implement both of these oracles, but that is exactly the problem we are trying to solve. To resolve this, [23] observed that the pseudo-congestion-approximator is a real congestion-approximator on some modified graph. They then use the real congestion-approximator on the modified graph to obtain the required flow oracles via additional post-processing, at the loss of additional log factors. Instead, we directly show that the pseudo-congestion-approximator made up of the partitions suffices for solving the approximate max flow instances required by the cut-matching game, with no log factor loss. This suffices for achieving properties (2) and (3) of Theorem 18 for the next iteration of our partitioning algorithm, as stated in Section 5.
7.1 Cut-Matching via a Pseudo-Congestion-Approximator
We apply our weak expander decomposition algorithm from Section 5. The main difficulty here is developing an efficient algorithm for the matching player (i.e., implementing Oracle 1), which requires solving a max flow problem (approximately). Previous work [33] shows how to convert a congestion-approximator into an approximate max flow algorithm. In this section, we build on [33] to show that our pseudo-congestion-approximator is sufficient to approximately solve our specific max flow instance arising in the cut-matching game.
We first recall the flow instance which we need to solve for the matching player. We start with a demand and the starting partition . At each iteration of the cut-matching game, we will maintain a collection of disjoint subsets of . From the cut player, we obtain sets for each . We wish to solve the following flow problem guaranteeing the properties of Oracle 1. Let be the graph of with all edges between components in removed and all edge capacities scaled up by a factor of . Add a source vertex and a sink vertex . For , we do the following: for each , we add an edge with capacity , and, for each , we add an edge with capacity .
To solve this flow problem, We use the following instantiation of Sherman’s algorithm [33] as stated in [21], but with the running time speedup from [17] (see Section 5 of their arXiv version), which partially routes the demand, leaving a small amount of residual demand.
Lemma 20 (Almost-Route).
Consider a graph , two vertices , parameters , and a laminar family of vertex subsets . There is an time algorithm that computes either
-
1.
An -cut in of value less than , or
-
2.
A flow in routing a demand such that the residual demand satisfies
for all .
In the setting where is a congestion-approximator, the residual demand can be routed via the congestion-approximator so that the flow satisfies the input demand. We show that, in our case, a pseudo-congestion-approximator also suffices to route the residual demand.
Lemma 21.
With this, we have an implementation of Oracle 1 in time, which we can already use to apply Theorem 14. Next, we will also implement Oracle 2, so we can apply Theorem 15.
7.2 Grafting Deleted Nodes
In this section, we will use the pseudo-congestion-approximator to solve another approximate max flow problem needed to construct the weak expander decomposition, Oracle 2 from Section 5. We are using Oracle 2 to guarantee boundary-linkedness in our weak expander decomposition and obtain the full guarantees given in Theorem 15.
Now, we restate the flow problem which we want to solve. Recall that in our setting, is either or for all , and .
-
Let and .
-
For each :
-
–
For each , add source.
-
–
For each with , add sink .
-
–
-
Remove all edges cut by from , and scale the capacity of remaining edges by .
Note that this flow problem on is the combination of independent flow problems in each component of . We wish to find a fair flow-cut pair for this flow problem. In order to solve this, we first state our subroutine for one-sided fair cuts, which we prove in the full version of the paper.
Theorem 22.
Consider a graph with , a vertex subset , and a vertex . Let be a laminar family of vertex subsets of of total size , such that any demand vector satisfying can be routed in with congestion in time . There is an algorithm in time that computes a set containing and a flow such that
-
1.
.
-
2.
Each edge with sends at least fraction capacity of flow into .
-
3.
Each vertex carries a net flow of zero.
In order to simulate the independent flow problems on each component of , we need to define a slightly augmented graph starting from , on which we will define our flow problems. Start with the graph . For each and each edge on the boundary , we add a new “split node” , remove the edge , and add two edges, and , each with capacity . We also add a new node , and, for each , add an edge connecting every node satisfying to . This node will represent the sink in the flow problem, and we specify the rest of the capacities next.
We set the capacities of edges to be , simulating the sink in the original flow problem. Then for each vertex with , add a “leaf node” from denoted and an edge with capacity . We ensure that and , which intuitively simulates a source of at each such . In particular, note that if, for example, , then flow is sent along from (2) of Theorem 22. Furthermore, for each edge for , we ensure that and ; since the capacity of and are both and these are the only edges incident to split node , this intuitively simulates having source of on and , with the additional property that no flow can be sent between components.
For technical reasons, we also connect each leaf node to with an edge of capacity . For similar technical reasons, we also add an edge connecting each vertex to with an edge of capacity of . All flow using these edges will be removed, so our solution is a valid flow for Oracle 2, but we need these edges for routing some residual demands.
Finally, to apply Theorem 22, we define (not including the additional leaf nodes or split nodes). Importantly, the total capacity of the boundary is still not too much larger than the total source.
Claim 23.
We have .
Let be defined as in Lemma 17, so that is a pseudo-congestion-approximator. We augment to a congestion-approximator in as follows. For each , define as the set with the copy added (if it exists) for each , and split node added if both endpoints are in . Now define
We show that has the required properties to apply Theorem 22.
Lemma 24.
is a laminar family of vertex subsets excluding of total size such that any demand vector on satisfying for each can be routed with congestion in time .
Lemma 25.
Assuming the conditions of Theorem 18, there is an algorithm implementing the guarantees of Oracle 2 in time .
7.3 Proof of Theorem 18
In this previous two subsections, we have shown how to implement Oracles 1 and 2, so we can apply Theorem 15. We restate it here for convenience:
Theorem 15 (Weak Expander Decomposition with Deletions). [Restated, see original statement.]
Suppose we have , , , , and access to Oracle 1 with parameter and Oracle 2 with parameter , running in time and per query, respectively. Let . Then, there is an algorithm computing a partition of with the following properties:
-
1.
The algorithm runs in time .
-
2.
-
3.
The total capacity of edges cut by is at most .
-
4.
mix simultaneously in with congestion .
-
5.
There exists a flow of congestion such that each sends flow and each receives at most flow.
Now, we prove Theorem 18. Choose , , , , and define . Assuming the conditions given in Theorem 18, we have given an algorithm implementing Oracle 1 in time and Oracle 2 in time (see Lemmas 21 and 25). Hence, we can apply Theorem 15, to obtain a partition of with properties (1)–(5) in time .
We define , , and extend from a partition of to a partition of by defining and . We now verify properties (2), (3), and (4) in Theorem 18. Property (2) follows by property (4) from Theorem 15. Property (3) follows from property (5) from Theorem 15. Finally, consider property (4). The capacity of edges cut by is upper bounded by the capacity of edges cut by and the capacity of edges cut by and not already cut by is upper bounded by . By properties (2) and (3) from Theorem 15, the claimed bound follows.
References
- [1] Arpit Agarwal, Sanjeev Khanna, Huan Li, Prathamesh Patil, Chen Wang, Nathan White, and Peilin Zhong. Parallel approximate maximum flows in near-linear work and polylogarithmic depth. In Proceedings of the 2024 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3997–4061. SIAM, 2024. doi:10.1137/1.9781611977912.140.
- [2] Daniel Agassy, Dani Dorfman, and Haim Kaplan. Expander decomposition with fewer inter-cluster edges using a spectral cut player. In 50th International Colloquium on Automata, Languages, and Programming (ICALP 2023), pages 9:1–9:20. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPIcs.ICALP.2023.9.
- [3] Aaron Bernstein, Joakim Blikstad, Jason Li, Thatchaphol Saranurak, and Ta-Wei Tu. Combinatorial maximum flow via weighted push-relabel on shortcut graphs. In 2025 IEEE 66th Annual Symposium on Foundations of Computer Science (FOCS), pages 464–485, 2025. doi:10.1109/FOCS63196.2025.00026.
- [4] Aaron Bernstein, Joakim Blikstad, Thatchaphol Saranurak, and Ta-Wei Tu. Maximum flow by augmenting paths in time. In 2024 IEEE 65th Annual Symposium on Foundations of Computer Science (FOCS), pages 2056–2077. IEEE, 2024. doi:10.1109/FOCS61266.2024.00123.
- [5] Marcin Bienkowski, Miroslaw Korzeniowski, and Harald Räcke. A practical algorithm for constructing oblivious routing schemes. In Proceedings of the Fifteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2023), pages 24–33, 2003. doi:10.1145/777412.777418.
- [6] Li Chen, Rasmus Kyng, Yang Liu, Richard Peng, Maximilian Probst Gutenberg, and Sushant Sachdeva. Maximum flow and minimum-cost flow in almost-linear time. Journal of the ACM, 72(3):1–103, 2025. doi:10.1145/3728631.
- [7] Julia Chuzhoy and Sanjeev Khanna. A faster combinatorial algorithm for maximum bipartite matching. In Proceedings of the 2024 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2185–2235. SIAM, 2024. doi:10.1137/1.9781611977912.79.
- [8] Julia Chuzhoy and Sanjeev Khanna. Maximum bipartite matching in time via a combinatorial algorithm. In Proceedings of the 56th Annual ACM Symposium on Theory of Computing (STOC), pages 83–94, 2024. doi:10.1145/3618260.3649725.
- [9] Samuel I Daitch and Daniel A Spielman. Faster approximate lossy generalized flow via interior point algorithms. In Proceedings of the fortieth annual ACM symposium on Theory of computing, pages 451–460, 2008. doi:10.1145/1374376.1374441.
- [10] George B Dantzig. Application of the simplex method to a transportation problem. Activity analysis and production and allocation, 1951.
- [11] Henry Fleischmann, George Z Li, and Jason Li. Improved directed expander decompositions. arXiv preprint arXiv:2507.09729, 2025. doi:10.48550/arXiv.2507.09729.
- [12] Yu Gao, Yang Liu, and Richard Peng. Fully dynamic electrical flows: Sparse maxflow faster than Goldberg–Rao. SIAM Journal on Computing, pages FOCS21–85–FOCS21–156, 2021. doi:10.1137/22M1476666.
- [13] 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.
- [14] Gramoz Goranci, Harald Räcke, Thatchaphol Saranurak, and Zihan Tan. The expander hierarchy and its applications to dynamic graph algorithms. In Proceedings of the 2021 ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2212–2228. SIAM, 2021. doi:10.1137/1.9781611976465.132.
- [15] Chris Harrelson, Kirsten Hildrum, and Satish Rao. A polynomial-time tree decomposition to minimize congestion. In Proceedings of the Fifteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA 2023), pages 34–43, 2003. doi:10.1145/777412.777419.
- [16] Monika Henzinger, Robin Münk, and Harald Räcke. An improved quality hierarchical congestion approximator in near-linear time. arXiv preprint arXiv:2511.03716, 2025. doi:10.48550/arXiv.2511.03716.
- [17] Arun Jambulapati and Kevin Tian. Revisiting area convexity: Faster box-simplex games and spectrahedral generalizations. NeurIPS, 36:57583–57596, 2023.
- [18] 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 Proceedings of the twenty-fifth annual ACM-SIAM symposium on Discrete algorithms, pages 217–226. SIAM, 2014. doi:10.1137/1.9781611973402.16.
- [19] Rohit Khandekar, Satish Rao, and Umesh V. Vazirani. Graph partitioning using single commodity flows. J. ACM, 56(4):19:1–19:15, 2009. doi:10.1145/1538902.1538903.
- [20] Yin Tat Lee, Satish Rao, and Nikhil Srivastava. A new approach to computing maximum flows using electrical flows. In Proceedings of the 45th annual ACM Symposium on Theory of Computing (STOC 2013), pages 755–764, 2013. doi:10.1145/2488608.2488704.
- [21] Jason Li and Owen Li. A simple and fast algorithm for fair cuts. In Integer Programming and Combinatorial Optimization - 26th International Conference Proceedings (IPCO 2025), volume 15620 of Lecture Notes in Computer Science, pages 400–411, 2025. doi:10.1007/978-3-031-93112-3_29.
- [22] Jason Li, Danupon Nanongkai, Debmalya Panigrahi, and Thatchaphol Saranurak. Near-linear time approximations for cut problems via fair cuts. In Proceedings of the 2023 ACM-SIAM Symposium on Discrete Algorithms, (SODA), pages 240–275, 2023. doi:10.1137/1.9781611977554.CH10.
- [23] Jason Li, Satish Rao, and Di Wang. Congestion-approximators from the bottom up. In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2111–2131, 2025. doi:10.1137/1.9781611978322.68.
- [24] Aleksander Madry. Computing maximum flow with augmenting electrical flows. In 2016 IEEE 57th Annual Symposium on Foundations of Computer Science (FOCS), pages 593–602. IEEE, 2016. doi:10.1109/FOCS.2016.70.
- [25] Lorenzo Orecchia, Leonard J Schulman, Umesh V Vazirani, and Nisheeth K Vishnoi. On partitioning graphs via single commodity flows. In Proceedings of the 40th annual ACM Symposium on Theory of Computing (STOC 2008), pages 461–470, 2008. doi:10.1145/1374376.1374442.
- [26] Richard Peng. A note on cut-approximators and approximating undirected max flows. CoRR, 2014. arXiv:1411.7631.
- [27] Richard Peng. Approximate undirected maximum flows in time. In Proceedings of the 27th annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2016), pages 1862–1867. SIAM, 2016. doi:10.1137/1.9781611974331.CH130.
- [28] Harald Räcke. Minimizing congestion in general networks. In 43rd Symposium on Foundations of Computer Science, FOCS 2002, Vancouver, BC, Canada, November 16-19, 2002, Proceedings, pages 43–52. IEEE Computer Society, 2002. doi:10.1109/SFCS.2002.1181881.
- [29] Harald Räcke. Optimal hierarchical decompositions for congestion minimization in networks. In Cynthia Dwork, editor, Proceedings of the 40th Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 17-20, 2008, pages 255–264, 2008. doi:10.1145/1374376.1374415.
- [30] Harald Räcke, Chintan Shah, and Hanjo Täubig. Computing cut-based hierarchical decompositions in almost linear time. In Proceedings of the 25th annual ACM-SIAM Symposium on Discrete algorithms (SODA 2014), pages 227–238. SIAM, 2014. doi:10.1137/1.9781611973402.17.
- [31] Thatchaphol Saranurak and Di Wang. Expander decomposition and pruning: Faster, stronger, and simpler. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 2616–2635. SIAM, 2019. doi:10.1137/1.9781611975482.162.
- [32] Jonah Sherman. Nearly maximum flows in nearly linear time. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pages 263–269. IEEE, 2013. doi:10.1109/FOCS.2013.36.
- [33] Jonah Sherman. Area-convexity, regularization, and undirected multicommodity flow. In Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing, pages 452–460, 2017.
- [34] Daniel Dominic Sleator and Robert Endre Tarjan. A data structure for dynamic trees. J. Comput. Syst. Sci., 26(3):362–391, 1983. doi:10.1016/0022-0000(83)90006-5.
- [35] Daniel A Spielman and Shang-Hua Teng. Nearly linear time algorithms for preconditioning and solving symmetric, diagonally dominant linear systems. SIAM Journal on Matrix Analysis and Applications, 35(3):835–885, 2014. doi:10.1137/090771430.
