Computing Flows in Subquadratic Space
Abstract
Space complexity is a critical factor in various computational models, including streaming, parallel/distributed computing, and communication complexity. We study the space complexity of the minimum-cost flow problem, a generalization of the st-max flow problem, focusing on computing flows in subquadratic space. In the general case with arbitrary capacities, minimum cost and -maximum flows can use up to edges, so computing the flow on each edge (rather than just the size/cost) seems impossible in subquadratic space. Indeed, there are lower bounds proving quadratic space is needed to store the flow on every edge, which has been used to prove lower bounds on streaming algorithms. However, we show that these lower bounds can be circumvented, opening up improvements for streaming and communication complexity.
For a directed graph with integer capacities and costs bounded by , we provide a -space -pass streaming algorithm, which during the last pass returns the flow on each edge up to an additive error of . Crucially, the algorithm does not return the flow at the end of the last pass but returns the flow on an edge, as the edge is read in the stream. This allows us to circumvent existing space lower bounds. In the 2-party communication model, our algorithm implies bits of communication.
Keywords and phrases:
Combinatorial Optimization, Continuous Optimization, Graph Algorithms, Streaming and SketchingCategory:
Track A: Algorithms, Complexity and GamesFunding:
Jan van den Brand: NSF Award CCF-2338816 and CCF-2504994.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Design and analysis of algorithmsEditors:
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
Space complexity is a important factor in streaming, parallel/distributed computing, communication complexity, and data structures, requiring computation and representation of objects using limited space. In this work, we study the space complexity of the minimum-cost flow problem, a generalization of the -max flow problem. We focus on computing such flows in subquadratic space in the multi-pass streaming model, contrasting quadratic space lower bounds from [22, 6, 8]. In particular, our goal is to compute the actual flow on each edge, rather than just the cost of the min-cost flow or the size of the maximum flow.
In the minimum-cost flow problem, we are given a directed -node graph , a vertex-demand vector , edge capacities and edge costs . The minimum-cost flow is a flow that satisfies the vertex-demands and edge capacities, while minimizing the cost . While the min-cut (and thus size of a max flow) can be stored in space, observe that flows in general can use edges. Thus it is not clear if one can compute the flow (i.e., the amount of flow on each edge) in subquadratic space.
Streaming Algorithms.
In the streaming model, the input (i.e., edge set) is given to the algorithm one-by-one as a stream of data. The algorithm is only allowed a small amount of space and thus cannot store the entire input. In a multi-pass algorithm, one may take multiple passes over the input stream. This computational model is motivated by large amounts of data being faster to read sequentially than via random access, e.g., when the data is too large for working memory and is read directly from hard-drive. Bipartite matching (a simpler special case of max flow) is one of the most successfully studied problems in streaming literature, both in the approximate (see, e.g.,[32, 2, 31, 38, 48, 43, 3, 15, 9, 12, 5] and references therein) and exact setting [51, 9]. However, for flows much less is known. For undirected maximum flows, one can -approximate the size of the max flow in space via duality by constructing a cut sparsifier (see, e.g., [1, 4, 49, 20, 22]). [58] show one can compute the exact -min cut (i.e., size of max flow) on unweighted undirected graphs in space. Computing the exact flow size/cost on weighted graphs in subquadratic space remains open.
When it comes to computing not just the size/cost of the flow but the flow itself, existing upper bounds are substantially weaker. While sparsification approaches allow a -approximation of the size, only crude approximations are known for computing flow in subquadratic space [22]. Indeed, this gap between size and flow can be explained and [22] provide respective lower bounds.
For intuition, why representing (i.e., not just computing) flows in subquadratic space is impossible, consider a complete bipartite graph with edges oriented left to right, an extra vertex connected to the left vertices, and an extra vertex reachable from all right vertices. The edges from and edges to have very high capacity, so the max flow has for each edge of the bipartite graph. Thus storing/representing all (or even most, in case of approximation) in subquadratic space means we can store all (or most) capacities in subquadratic space, but that is information ( could be any -sized binary bit string). This lower bound argument was formalized by [22]111[22] stated this as -regression, but the statement is equivalent to max-flow. Details in the full version. , who proved that for every encoding algorithm (computing a max-flow on and then encoding it in bit) and decoding algorithm (where returns a -approximation of the max-flow) needs . Thus it’s impossible to encode max/min-cost flows in subquadratic space. Importantly, the lower bound by [22] applies not just to streaming but to any encoding scheme. Thus the argument can also be used to argue about the communication complexity for communicating .
Communication Complexity.
In the 2-party (or multi-party) communication model, the edges of the input graph are distributed among multiple parties. The task is to solve some graph problem while using as little communication as possible. This area, too, had a lot of success for various graph problems [41, 17, 34, 29, 57, 14, 40, 30, 54], but flows remain elusive. For related problems like bipartite matching or transshipment, an upper bound is known [16, 41], crucially relying on the fact that the optimal solution consists of at most edges. For unweighted undirected -min cut, a communication protocol is known [58], later improved to [42]. We remark that on unweighted graphs the max-flow can use at most edges222See full version for details. , so the problem is substantially easier in the unweighted setting. A subquadratic communication algorithm for weighted flows (but also the simpler weighted -min-cut problem where solutions have size ) was stated as open problem in [16].
When it comes to flow , rather than its cost/size, note that not just the computation is difficult, but just communication of the solution is already a challenge. Namely, assume one party already knows all the edges and the flow. How would that party communicate the flow to the other party? This is clearly a simpler problem than jointly computing the flow since the 1st party could just throw away the extra information. However, how would one communicate the flow if no low space representation of the flow is possible? In particular, the communicated messages would be an encoding of the flow.
Computing Flow In Subquadratic Space.
We show that computation of the min-cost/max flows in subquadratic space is possible. In addition to the exact flow cost/size, our algorithm also returns the flow on each edge . This is unexpected, as it appears to contradict the lower bound of [22]. We can circumvent the lower bound, because it assumes a decoding algorithm of form for encoding of the flow, i.e., decoding must be performed without access to the graph. The lower bound does not rule out a decoding algorithm of form that receives edge as part of the input in addition to some subquadratic space encoding of the flow. The assumption that we have access to the edge during decoding is naturally satisfied in many low space models. In the communication model, each party knows their own (possibly sized) set of edges. For multi-pass streaming algorithms, the edges are available via another pass over the input. In particular, during the last pass over the edges, the algorithm returns the flow on each edge when it is read in the stream. This approach allows us to compute flows in subquadratic space, even though the flow uses up to many edges.
Our main technical contribution is such an encoding/decoding scheme adapted to the framework of “robust interior point methods” for linear programming. In the context of streaming algorithms, the mere existence of such encoding does not suffice, but we show that the computation of this encoding can be done in low space, too. Using the encoding with the robust interior point method of [19] (which solves linear programs/min-cost flow in iterations), we present a -pass, -space streaming algorithm, which can be implemented with communication in the 2-party model.
1.1 Our Results
We present the following result for computing min-cost flows in the multi-pass streaming model.
Theorem 1 (Min-cost Flow, Streaming).
There is a randomized multi-pass streaming algorithm that, given an input graph with integer capacities and costs , vertex demand vector and accuracy parameter , computes w.h.p. a min-cost flow in space and passes over the input. The total time is .
The algorithm returns a randomized -space data structure that supports edge-queries: For any given edge , the query returns in time an estimate of the flow on that edge, with and with high probability.
Alternatively, we can also assume that during the last pass, the algorithm returns for each given edge the flow on that edge.
While the streaming area often focuses on small number of passes (e.g., constant or polylog), it was proven that polynomial number of passes may be necessary for flows in the weighted case. In the presence of capacities as large as sub-exponential in , [6] showed that a streaming algorithm for computing the size of the max-flow in passes needs space. This lower bound was later improved to space [8]. For smaller polynomially-sized capacities, Theorem 1 is the first upper bound for computing the exact size of the max-flow in the weighted case (when interested in the size, we can simply round the result to nearest integer). It is also the first result to return the flow with high accuracy rather than the cut or cost/size of the flow.
Previous work was either highly inaccurate with polynomial error when returning the flow [22], or when exact, previous work was only for the unweighted undirected case [58] and returned only the cut but not the flow. Observe that for unweighted graphs, any max flow uses at most edges (see full version for details), but for weighted graphs the number of used edges can be as large as . So minimizing space complexity is generally harder for the weighted case.
Regarding Accuracy.
If we care only about the cost of the flow (or size of max-flow), then the algorithm’s output is exact by choosing and then rounding the computed cost to the nearest integer.
If the minimum-cost flow is unique, then rounding each to the nearest integer also results in the exact flow on each edge. If the flow is not unique, then the algorithm might compute a fractional flow and thus rounding is not guaranteed to provide an exact solution for the edges. However, given the logarithmic complexity dependence on , we can reduce the error to an arbitrary small on each edge. Thus we get an almost exact fractional min-cost flow .
Usually, uniqueness can be guaranteed via Isolation Lemma [24, 28], which adds small random perturbation to the problem instance, but this requires large additional space to store random bits. It is open whether random bits suffice to isolate maximum/min-cost flows, and in our streaming algorithm we cannot afford to store these. This issue does not occur in the setting of communication complexity, as each player can independently store their own perturbed edge weights.
Communication Complexity.
There is a general reduction from 2-party communication to streaming, resulting in amount of communication, by simulating the streaming algorithm and sending the entire memory in each pass. While our streaming algorithm needs total space, it generates only new information in each of the passes. Thus it suffices to send only the additional information in each pass, leading to communication.
Theorem 2 (Min-cost Flow, Communication).
There is a randomized communication protocol that, given an input graph with integer capacities and costs , vertex demand vector , where the edges are split among two parties, computes w.h.p. an exact min-cost flow in communication. At the end, each party knows the amount of flow on each of their own edges.
Unlike Theorem 1, there is no dependence in Theorem 2, because we can make the flow unique via Isolation-Lemma. A subquadratic communication algorithm for weighted flows (but also the simpler weighted -min-cut problem where solutions have size ) was stated as open problem in [16].
The same -communication bound is also obtained in concurrent work [37]. We remark that 2-party communication is an easier model than multi-pass streaming, because each party can use unlimited amount of space. In particular, [37] does not give a streaming algorithm because each party explicitly stores on their own edges , thus using space.
Space and Bit-Complexity.
In above theorems, space is measured in words where each word can store a real number. The algorithms also work over Word-RAM and finite bit numbers, where each number is stored as fixed-point number using -bit. Thus if we want to measure space complexity of Theorems 1 and 2 in bits, all space, communication and time complexities increase by a logarithmic factor.
1.2 Techniques
Our algorithm is based on solving the linear program representation of min-cost flow. The linear program representation of related problems such as bipartite matching or transshipment to obtain streaming algorithms has been used before, e.g., in [9, 51, 2]. A natural approach for matching is to maintain the smaller -dimensional dual iterate (i.e., fractional vertex cover). However, this does not extend to min-cost/maximum flows, because the capacity constraints increase the dimension of the dual solution from to .
Our algorithm works by implementing the interior point method/central path method by [19], while maintaining the primal solution (i.e., flow) in low space, rather than the dual. One can show that for flows on the central path, an space representation is possible333Technical details: Centered flows are minimizers of some potential function subject to for edge-vertex incidence matrix and demand . Minimizers satisfy for some , thus by storing we can reconstruct .. Unfortunately, this observation does not directly imply a streaming algorithm because in each iteration, the central path method constructs intermediate flows that are not sufficiently centered to be stored in space. This issue is exacerbated when using the fast iteration central path of the Lee-Sidford-barrier [50] as used in [19]. Their definition of centrality uses Lewis-weights whose efficient computation uses sketching. Due to the resulting approximation error, one cannot compute sufficiently centered flows to store them in space. Thus we develop a method that can store non-centered flows in small space.
We do this by storing the steps of each iteration rather than the flow .
In the context of flows, each step of the central path method is equivalent to augmenting the current flow by an electric circulation.
Rather than storing flow directly, we store the sequence of augmenting electric flows.
Each circulation is an -dimensional vector (i.e., every edge carries some flow), but we show that each circulation can be stored in only space. Thus we obtain a space representation of the min-cost flow.
The main technical ideas/ingredients for storing electric circulations are as follows.
-
(i)
The iterations framework [50, 19] requires computation of Lewis-weights, a generalization of leverage scores and effective resistances. Via sketching, we can store the Lewis-weights in only space. Given any of the edges, we can then query/compute the (approximate) Lewis-weight from only the space representation.
-
(ii)
While electric flows can be stored via vertex potentials (i.e., in space), electric circulations generally need space. That is because electric circulations are a combination/difference of an arbitrary flow and an electric flow , where and satisfy the same vertex demands. To store the electric circulation in low space, we must store in low space. Via the robust interior point framework [19], one can reduce the dimension of from to , and can thus be stored in small space. The main barrier is showing that this projection can be computed from the stored information.
-
(iii)
Electric flows can only be stored via vertex potentials if we know the edges’ resistances. Retrieving the flow on edge from vertex potentials (i.e., ) requires knowing the edge’s resistance . In [50, 19], the resistance is defined w.r.t. the edge’s Lewis-weights, and the current congestion of that edge. This allows for an inductive argument: Given an edge and its capacity , assuming we know the amount of flow on edge after electric circulations, then we can compute the resistance of that edge from the current congestion and the stored Lewis-weight. From the resistance, we can then obtain how much flow the next electric circulation will route through . This then yields the flow on edge after electric circulations. After iterations of this argument, we know the final amount of flow on that edge, i.e., how much flow is routed on by the min-cost flow.
Remark on General Linear Programs.
Given that our work is based on interior point methods for general -dimensional () linear programs, it is a natural question whether our algorithm extends to other applications such as - or -regression, MDPs, etc. Internally, our algorithm stores many -dimensional vectors, and constraints of the linear program. So for a general linear program with non-zeros per columns ( in case of flow), it would store numbers. However, this assumes Real-RAM model, i.e., when ignoring the bit-complexity. When considering the actual number of bits (e.g., Word-RAM), the linear systems to be solved in each iteration pose additional technical challenges that do not occur when restricting to max/min-cost flow where the linear systems are simple Laplacians. Hence, this work focuses on the flow applications, where the (sparse) linear systems can be solved in low space in Word-RAM via Laplacian solvers.
1.3 Other Related Work
Before the semi-streaming lower bounds of [6] and [8] for passes, there have been space lower bounds [21, 39]. For small number passes, there is an space lower bound for -reachability, which extends to directed flows [25].
While our focus is on -flows and thus -min cuts, there has been work on global min cuts in the streaming model. There are pass space algorithms for global min cuts [56, 7, 58]. These also transfer to the 2-party communication setting, where upper and lower bound are known for minimum vertex cut [17].
Our algorithm is based on solving linear programs in the streaming model. Other work using this approach (though not for flows, but instead for other linear programs such as bipartite matching) include [51, 2, 10, 23]. From the communication perspective, linear programs have been studied in [59, 36]. The crucial aspect is that previous work studies linear programs of form subject to for tall matrices , but max-flow requires additional capacity constraints . Encoding those within the matrix turns the matrix from tall into an almost square matrix, thus losing any space/communication gains from the small width of .
2 Preliminaries
We write “with high probability” (w.h.p.) if the failure probability is at most . We use to denote the -th standard unit vector. For an integer , we use to denote the set . We use to hide factors. In addition to notation, for two functions , we use the shorthand (resp. ) to indicate that (resp. ) for an absolute constant . For a vector , we use to denote its norm, i.e., . We use to denote its norm, i.e., . For a positive semi-definite matrix we write . For vectors we write for the diagonal matrices with on the diagonals for . Similarly, for function , we write for the diagonal matrix with on the diagonals for . Given vectors , we use to denote entry-wise products, i.e., . We define . We define . Note that and .
The leverage scores of a matrix () are defined as for .
For and we write when . We extend the notation to vectors when the approximation holds entry-wise. For PSD matrices we write when for all vectors , i.e., are spectral approximations of each other.
We say a vector is given in implicit representation with space and query time , if we have a data structure that uses space and supports queries that receive as input edge, edge-cost, and edge-capacity and then return in time.
The line of work [1, 47, 4, 49, 44, 45, 46, 20, 51] developed streaming algorithms for spectral sparsifiers.
Lemma 3 ([49, Theorem 1.1]).
Let be an incidence matrix, be some weights where any can be queried in time , and let . Then within a single pass over the rows of (i.e., edges), we can compute an -sized spectral sparsifier . This takes total time.
This lemma was proven for weighted incidence matrices in [49] where is given together with edge in the stream. It directly implies the above, by instead querying when edge is read from the stream.
3 Technique Overview
Our algorithm and data structure are based on interior point methods for linear programs. In particular, we show that the algorithm of [19] can be implemented in space. The main barrier for this is storing the -dimensional flow vector in subquadratic space. Given that a lot of work on streaming and communication complexity for flows and matching is combinatorial in nature [6, 7, 58, 17, 41, 11, 27, 55, 33], we start with a more graph-oriented perspective for readers with that background. Section 3.1 sketches how we store our flow in space, without going too far into the details about the interior point method.
The next subsections 3.2 and 3.3 then give more details of our algorithms using the optimization perspective of interior point methods and central paths. In order to outline time and space complexity guarantees of our streaming result Theorem 1, we need more details about these optimization methods. After outlining these methods in Section 3.2, we explain in Section 3.3 how to implement this interior point methods in the streaming model, resulting in Theorem 1.
3.1 High-Level Idea: Storing Flows in Space
Here we outline how to store a flow in low-space, such that when given any edge , its cost , and capacity , then we can query/compute .
Consider the linear programming definition of minimum cost flow. For an incidence matrix , edge-cost vector , demand vector , and edge capacities , the following linear program models minimum-cost flows.
A common idea for computing minimum cost flows is to start with some initial flow, then repeatedly augment the flow via negative cost cycles or circulations. When solving minimum cost flows via interior point methods such as [52, 50, 53, 13], these circulations are so called “electric circulations.” That is, for some feasible flow , we augment it by a circulation where
Here is some flow and is an diagonal matrix with being resistance of edge . (Both and will be defined later to depend on ). Flow is a circulation, because it satisfies 0-demand . It is an electric circulation because
| (1) |
is an electric flow for demand and resistances (i.e., among all demand flows, minimizes the energy ).
The idea of our low space representation is that we only store some initial flow , and then store all the augmenting circulations . We will argue that each can be stored in only space. It was proven in [50] that it takes iterations/augmentations to find a min-cost flow whose cost is at most an additive off from optimal. Thus total space suffices444For the rest of the overview, we will hide the term in -notation.. We can then query the amount of flow on any edge by computing .
Crucial for our low space representation is that the -th augmenting circulation depends on the -th flow . The fact that we can store circulation in only space relies heavily on the following property: when querying/computing for some edge , we already know the flow on that edge. This assumption is given by induction: if we know , then we can compute , thus we know , and so forth. This way we iteratively reconstruct and from all the way to the final/optimal flow on that edge .
To outline these low-space representations, let us start with the initial flow .
Storing the initial flow .
We would like to start with an initial flow that is feasible and can be stored in low space. Fortunately, standard constructions for the initial flow in non-streaming settings [19, 50, 35, 18] can also be stored in low space and thus directly apply. Consider the following construction.
We pick , i.e., each edge carries half its capacity as flow. This flow does not yet satisfy the demand vector , but we can fix this as follows: add an extra star to the graph (i.e., one vertex that is connected to every other vertex) and route the missing/additional flow along the star edges. The star edges are assigned very large cost so the optimal min-cost flow will not use them, i.e., addition of these edges to the graph does not change optimal solution.
We can store this additional star and the amount of flow on the star-edges in space since there are only additional edges. For all edges of the original graph, we can return since the capacity of the edge is given during the query.
Storing the Electric Flow .
To argue why we can store each electric circulation in space, we argue the storage of and the electric flow separately.
An electric flow (see (1)) is given by vertex potentials which can easily be stored in space. Then for any edge , we can compute the electric flow on that edge via
However, this also needs access to . To guarantee iterations suffice, these resistances must be
Here term are so called Lewis-weights, which can be interpreted as a measure of importance for each edge , and they are a generalization of effective resistance. Without this , the number of iterations would increase from to , and we could no longer guarantee subquadratic space.
The term is motivated by the resistance going towards when or are close to zero. When the resistance is high, then the electric flow will not route a lot of flow through that edge, which is needed to guarantee the capacity constraints .
Observe that, given edge and its capacity , we can compute , so we can also compute . If we can also compute and , then we get , and our iterative argument for computing for all goes through.
The difficulty is that for any edge , both and depend not just on , but are a global property depending on the entire flow . So we need to store additional information.
Storing Weights .
For some , the (regularized) -Lewis-weights from [50] are defined as the scaling that satisfy the recurrence relation
for , . [19] proved that the algorithm still works when the equality is only satisfied as some -approximation.
Cohen and Peng [26] proved that, if we start with some bad approximation of the Lewis-weights, then the following routine improves the approximation quality by a factor
| (2) |
Since , we can start with , and use some iterations of (2) to get an accurate enough estimate of the Lewis-weight. If we let be the sequence of values computed this way, then the final will be a good approximation of the Lewis-weights. We store these values in low space via the recurrence
which allows us to query recursively for , and thus store in low space, if we can store in low-space for .
This entire approach still yields an accurate estimate if we only approximately compute . This is done via the -characterization of : for any matrix we have
where is a standard unit-vector. The -norm can be -approximated via an Johnson-Lindenstrauss sketching matrix , i.e., we store for
where for matrix is dimensional so takes only space. We can query for edge the value
| (3) |
Note that in addition to the space for , here we need to compute . We have access to that value since and we already established that we can query when edge and its capacity are given to us. While computation of requires and computing requires , there is actually no circular dependency here. That’s because, if , are the values computed during iteration number (i.e., where uses ), then querying requires , but querying needs . So after this loop terminates. This does mean though, that we need to keep track/store all previous values of .
In summary, we need space per iteration to store while supporting queries to , for a total of space over iterations.
Storing the flow .
We here give only a very high-level description because details on how is defined require further details about the interior point method. The exact choice of is crucial for the iteration count, and storing this flow in low space relies on recent developments in IPM-theory: for the classic Lee-Sidford IPM [50], it is unclear how to store in such low space, and our low space representation relies on the recently developed variants [19] that are robust against additional approximation errors.
In somewhat simplified terms, is defined w.r.t. , and reduced costs . (Note that for any edge , we can also compute since we already store the vertex potentials and cost is given at query time.) Flow also has the property that if for two edges we have , then are the same. Further, because of recent insights in robust interior point methods, we know the algorithm still works when is defined w.r.t. approximations that differ from the exact values by some approximation for . Thus we can round each to multiples of , then contains only distinct values. We store these distinct values in space.
Then during a query, when receiving edge , we (i) compute , (ii) round them to the nearest multiple of , (iii) access the corresponding .
This is somewhat simplified, since the construction of from is nontrivial. However, those details require further discussion of how the IPM works, which are given in next subsection. With these details, we can then also explain how to implement the construction of these representations in the semi-streaming model. So far, we only discussed how to represent/store these values, but not how to compute them efficiently. This is outlined in Section 3.3, after giving details about the IPM in Section 3.2.
Remarks on 2-Party Communication.
The blackbox reduction from 2-party communication to streaming simulates the streaming algorithm. To simulate one pass over the input, party A passes over their own edge set, then sends their entire memory to party B who continues the current pass over their half of the edges. This reduction would lead to only a trivial communication bound as we have iterations with space. However, observe that the space usage of our algorithm comes from storing each of in space. There is no need to send the entire memory to simulate the streaming algorithm in the 2-party model, because both parties already have the representation of when computing the representation of the new together when simulating the streaming algorithm. We will see in Section 3.3 that the streaming algorithm needs only additional space and passes to compute . This implies communication for each , i.e., communication overall.
3.2 Review of LS Central Path/Interior Point Method
As context and motivation for our method, we start by discussing the method of [50]. Readers familiar with the iteration interior point methods from [50, 19] can skip to Section 3.3.
For matrices , vectors , , and upper bounds , this IPM solves linear programs of the form
| (4) |
The central path method of [50] repeatedly solves the following minimization problem. In each iteration, parameter is decreased, and then the new minimizer is found by performing one Newton-step from the old minimizer .
| (5) |
where and is defined as . (For simplicity, we also write for the vector with entries for .) Note that as approaches 0 or capacity , the term goes to , which keeps the minimizer within the feasible region. As , the term starts to dominate; thus converges towards the optimal solution of the linear program for . Here is a weight measuring the importance of each row of . [50] chooses to be the regularized Lewis-weight for . This is defined to be the solution to
| (6) |
where is a diagonal matrix with the 2nd derivatives on the diagonal for .
The curve for is referred to as the central path. It turns out that it is easy to find a point close to on this path for large (see full version for details). Starting from this point, we iteratively take steps to decrease and move closer to the new minimizer .
To do this, we must define a measure for how far is from . To satisfy (Equation 5), optimality conditions tell us that we need and the gradient must be orthogonal to the feasible hyperplane ; i.e., for some . We can rewrite this as , where . Now, to define what it means to follow the central path, we say that a triple is central if
| (7) |
As we cannot expect to be exactly centered, we measure centrality via the following potential function:
| (8) |
where . Note that the numerator is 0 (which is equivalent to minimizing (8)) if and only if (7) is satisfied.
Our goal is now to take steps where we alternate between decreasing (which increases (8)) and updating such that (8) decreases again. This way we approximately trace the curve .
In the central path method by [19], the improvements in each iterations are of the following form. Given at iteration number , the next values for iteration are given by
To compute the movements we first calculate the weights of our current point , and set the vector to be the gradient of (8), which intuitively moves as close as possible to on the central path. [19] have shown that instead of exact calculation of , it suffices to compute weight that satisfy recurrence (6) only with some -approximation. Then, the movements are given by
| (9) | ||||
where is a spectral approximation, allowing us to solve the linear system approximately (i.e., we can use fast Laplacian system solvers). Because of this approximation, we can no longer guarantee , but inclusion of vector guarantees stays close to . Here is essentially the gradient of our potential function (since we want to reduce that potential in each iteration), but we are taking a step that is bounded in a certain -norm555 where and is some large constant. (see full version for details). Calculation of this in low space will later be one of the main issues discussed in Section 3.3.
In [50] it was shown that iterations of the central path method (9) suffice, i.e. one must compute (9) for . The naive implementation of (9) takes space which is in worst-case, since the vectors are -dimensional. However, space for min-cost flow is trivial, because then we could solve the problem in a single pass by storing the entire input graph. Therefore, our goal is to implement (9) using less than space.
3.3 Streaming Implementation
Our goal is to calculate (9) a total of times in a semi-streaming setting with passes over the input per iteration, and using only total space.
We already outlined in Section 3.1 that we can store the values of the -th iteration in total space by storing each iteration in space. The precise values being stored are:
-
for This uses space.
This implicitly represents because for any edge and its cost , we can compute . -
We store for implicitly in space via a certain recursive JL-sketch.
-
We store for implicitly in space. (Details to be discussed further below).
This implicitly represents because for any edge and its cost/capacity , we can recursively compute
The main remaining question is how to compute the above representation for the next iteration in the streaming model with only passes over the input.
Lewis weights .
In Section 3.1 we established that in each iteration of the interior point method, the Lewis-weights are computed via repetitions of
| (10) |
where . We start with -vector, and assign for some . For each , all are stored, so that we can compute recursively from whenever an edge is received.
Here the main issue is calculating the space representation of . We discussed in Section 3.1 that this value can be represented via a Johnson-Lindenstrauss matrix and by computing
| (11) |
Since an approximation suffices, we can replace by a spectral approximation, computed in one pass via Lemma 3 (for any given edge , we have access to the corresponding row of because we have access to .)
Once we have the spectral sparsifier, we can compute (11) from left to right via one additional pass over the input.
This is explained in more detail in
the full version.
Constructing .
These vectors are -dimensional and can thus be computed/stored explicitly. We have by (9) that
| (12) | ||||
Note that when receiving edge on the stream, we can query (and thus ) and via previous paragraph. Thus can be constructed in one pass over the input, by constructing spectral sparsifier via Lemma 3. This takes space. We can then compute from right to left in one additional pass over the input.
Constructing gradient .
We are left with discussing how to construct vector from (9), which can be seen as some gradient. We uses a potential function of the form for some fixed and vector where
for each . Here the gradient is . Observe that to obtain for any , we only need to compute . Further, [19] proves that one does not need to compute the exact gradient . Instead, it suffices to compute where is the appropriate vector in terms of , which are each element-wise multiplicative approximations of respectively for some .
To obtain from , [19] defines
| (13) |
The maximization problem in (13) can be efficiently solved when rounding each entry of and to a multiple of some small . The additional approximation error from this rounding process can be charged to the approximation , . Since the gradient is bounded, this discretization essentially reduces the optimization problem onto some smaller polylog-dimensional space, because we obtain at most some polylog distinct multiples of some .
Observe that within a single pass over the input, we can count how many entries of are rounded to the same value. That is, within a single pass we compute two -dimensional vectors: containing the rounded values, and where counts how many entries have been rounded to . We can now solve (13) locally in space, because (i) we know the output vector also has only distinct values, (ii) we can compute the norm of the -dimensional vector in (13) by using the counting vector (i.e., we know how often each entry will be duplicated).
Summary, space efficient implementation.
In each iteration of the central path method, we must compute (9). We have implicit access to which allows us to compute implicit access to and . We can then construct the spectral sparsifier . With these, we can then within a constant number of passes through the stream compute . We thus have all information that is required for the implicit representation of so we can proceed with the next iteration. After iterations, our algorithm terminates. Since each iteration takes passes, we take passes in total. The space requirement is since we store for .
References
- [1] Kook Jin Ahn and Sudipto Guha. Graph sparsification in the semi-streaming model. In International Colloquium on Automata, Languages, and Programming, pages 328–338. Springer, 2009. doi:10.1007/978-3-642-02930-1_27.
- [2] Kook Jin Ahn and Sudipto Guha. Linear programming in the semi-streaming model with application to the maximum matching problem. In Luca Aceto, Monika Henzinger, and Jir\́mathbf{i} Sgall, editors, Automata, Languages and Programming - 38th International Colloquium, ICALP 2011, Zurich, Switzerland, July 4-8, 2011, Proceedings, Part II, volume 6756 of Lecture Notes in Computer Science, pages 526–538. Springer, 2011. doi:10.1007/978-3-642-22012-8_42.
- [3] Kook Jin Ahn and Sudipto Guha. Access to data and number of iterations: Dual primal algorithms for maximum matching under resource constraints. ACM Trans. Parallel Comput., 4(4):17:1–17:40, 2018. doi:10.1145/3154855.
- [4] Kook Jin Ahn, Sudipto Guha, and Andrew McGregor. Graph sketches: sparsification, spanners, and subgraphs. In PODS, pages 5–14. ACM, 2012. doi:10.1145/2213556.2213560.
- [5] Sepehr Assadi. A simple (1 - )-approximation semi-streaming algorithm for maximum (weighted) matching. In Merav Parter and Seth Pettie, editors, 2024 Symposium on Simplicity in Algorithms, SOSA 2024, Alexandria, VA, USA, January 8-10, 2024, pages 337–354. SIAM, 2024. doi:10.1137/1.9781611977936.31.
- [6] Sepehr Assadi, Yu Chen, and Sanjeev Khanna. Polynomial pass lower bounds for graph streaming algorithms. In Moses Charikar and Edith Cohen, editors, Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, STOC 2019, Phoenix, AZ, USA, June 23-26, 2019, pages 265–276. ACM, 2019. doi:10.1145/3313276.3316361.
- [7] Sepehr Assadi and Aditi Dudeja. A simple semi-streaming algorithm for global minimum cuts. In Hung Viet Le and Valerie King, editors, 4th Symposium on Simplicity in Algorithms, SOSA 2021, Virtual Conference, January 11-12, 2021, pages 172–180. SIAM, 2021. doi:10.1137/1.9781611976496.19.
- [8] Sepehr Assadi, Prantar Ghosh, Bruno Loff, Parth Mittal, and Sagnik Mukhopadhyay. Polynomial pass semi-streaming lower bounds for k-cores and degeneracy. In CCC, volume 300 of LIPIcs, pages 7:1–7:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.CCC.2024.7.
- [9] Sepehr Assadi, Arun Jambulapati, Yujia Jin, Aaron Sidford, and Kevin Tian. Semi-streaming bipartite matching in fewer passes and optimal space. In Joseph (Seffi) Naor and Niv Buchbinder, editors, Proceedings of the 2022 ACM-SIAM Symposium on Discrete Algorithms, SODA 2022, Virtual Conference / Alexandria, VA, USA, January 9 - 12, 2022, pages 627–669. SIAM, 2022. doi:10.1137/1.9781611977073.29.
- [10] Sepehr Assadi, Nikolai Karpov, and Qin Zhang. Distributed and streaming linear programming in low dimensions. In Dan Suciu, Sebastian Skritek, and Christoph Koch, editors, Proceedings of the 38th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, PODS 2019, Amsterdam, The Netherlands, June 30 - July 5, 2019, pages 236–253. ACM, 2019. doi:10.1145/3294052.3319697.
- [11] Sepehr Assadi, Sanjeev Khanna, and Yang Li. On estimating maximum matching size in graph streams. In Philip N. Klein, editor, Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pages 1723–1742. SIAM, 2017. doi:10.1137/1.9781611974782.113.
- [12] Sepehr Assadi and Janani Sundaresan. Hidden permutations to the rescue: Multi-pass streaming lower bounds for approximate matchings. In 64th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2023, Santa Cruz, CA, USA, November 6-9, 2023, pages 909–932. IEEE, 2023. doi:10.1109/FOCS57990.2023.00058.
- [13] Kyriakos Axiotis, Aleksander Madry, and Adrian Vladu. Circulation control for faster minimum cost flow in unit-capacity graphs. In FOCS. https://arxiv.org/pdf/2003.04863, 2020.
- [14] László Babai, Peter Frankl, and Janos Simon. Complexity classes in communication complexity theory (preliminary version). In 27th Annual Symposium on Foundations of Computer Science, Toronto, Canada, 27-29 October 1986, pages 337–347. IEEE Computer Society, 1986. doi:10.1109/SFCS.1986.15.
- [15] Ruben Becker, Sebastian Forster, Andreas Karrenbauer, and Christoph Lenzen. Near-optimal approximate shortest paths and transshipment in distributed and streaming models. SIAM J. Comput., 50(3):815–856, 2021. doi:10.1137/19M1286955.
- [16] Joakim Blikstad, Jan van den Brand, Yuval Efron, Sagnik Mukhopadhyay, and Danupon Nanongkai. Nearly optimal communication and query complexity of bipartite matching. In 63rd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2022, Denver, CO, USA, October 31 - November 3, 2022, pages 1174–1185. IEEE, 2022. doi:10.1109/FOCS54457.2022.00113.
- [17] Joakim Blikstad, Yonggang Jiang, Sagnik Mukhopadhyay, and Sorrachai Yingchareonthawornchai. Global vs. s-t vertex connectivity beyond sequential: Almost-perfect reductions and near-optimal separations. In Michal Koucký and Nikhil Bansal, editors, Proceedings of the 57th Annual ACM Symposium on Theory of Computing, STOC 2025, Prague, Czechia, June 23-27, 2025, pages 2305–2316. ACM, 2025. doi:10.1145/3717823.3718316.
- [18] Jan van den Brand, Yu Gao, Arun Jambulapati, Yin Tat Lee, Yang P. Liu, Richard Peng, and Aaron Sidford. Faster maxflow via improved dynamic spectral vertex sparsifiers. In Stefano Leonardi and Anupam Gupta, editors, STOC ’22: 54th Annual ACM SIGACT Symposium on Theory of Computing, Rome, Italy, June 20 - 24, 2022, pages 543–556. ACM, 2022. doi:10.1145/3519935.3520068.
- [19] Jan van den Brand, Yin Tat Lee, Yang P Liu, Thatchaphol Saranurak, Aaron Sidford, Zhao Song, and Di Wang. Minimum cost flows, mdps, and l1-regression in nearly linear time for dense instances. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing (STOC), pages 859–869, 2021. doi:10.1145/3406325.3451108.
- [20] Charles Carlson, Alexandra Kolla, Nikhil Srivastava, and Luca Trevisan. Optimal lower bounds for sketching graph cuts. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2565–2569. SIAM, 2019. doi:10.1137/1.9781611975482.158.
- [21] Amit Chakrabarti, Prantar Ghosh, Andrew McGregor, and Sofya Vorotnikova. Vertex ordering problems in directed graph streams. In Shuchi Chawla, editor, Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pages 1786–1802. SIAM, 2020. doi:10.1137/1.9781611975994.109.
- [22] Amit Chakrabarti, Jeffrey Jiang, David Woodruff, and Taisuke Yasuda. Streaming algorithms for flows and regression. In ICLR. OpenReview.net, 2025.
- [23] Timothy M. Chan and Eric Y. Chen. Multi-pass geometric algorithms. In Joseph S. B. Mitchell and Günter Rote, editors, Proceedings of the 21st ACM Symposium on Computational Geometry, Pisa, Italy, June 6-8, 2005, pages 180–189. ACM, 2005. doi:10.1145/1064092.1064121.
- [24] Suresh Chari, Pankaj Rohatgi, and Aravind Srinivasan. Randomness-optimal unique element isolation with applications to perfect matching and related problems. SIAM J. Comput., 24(5):1036–1050, 1995. doi:10.1137/S0097539793250330.
- [25] Lijie Chen, Gillat Kol, Dmitry Paramonov, Raghuvansh R. Saxena, Zhao Song, and Huacheng Yu. Almost optimal super-constant-pass streaming lower bounds for reachability. In Samir Khuller and Virginia Vassilevska Williams, editors, STOC ’21: 53rd Annual ACM SIGACT Symposium on Theory of Computing, Virtual Event, Italy, June 21-25, 2021, pages 570–583. ACM, 2021. doi:10.1145/3406325.3451038.
- [26] Michael B. Cohen and Richard Peng. L row sampling by lewis weights. In Rocco A. Servedio and Ronitt Rubinfeld, editors, Proceedings of the Forty-Seventh Annual ACM on Symposium on Theory of Computing, STOC 2015, Portland, OR, USA, June 14-17, 2015, pages 183–192. ACM, 2015. doi:10.1145/2746539.2746567.
- [27] Michael S. Crouch and Daniel M. Stubbs. Improved streaming algorithms for weighted matching, via unweighted matching. In Klaus Jansen, José D. P. Rolim, Nikhil R. Devanur, and Cristopher Moore, editors, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2014, September 4-6, 2014, Barcelona, Spain, volume 28 of LIPIcs, pages 96–104. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2014. doi:10.4230/LIPIcs.APPROX-RANDOM.2014.96.
- [28] Samuel I. Daitch and Daniel A. Spielman. Faster approximate lossy generalized flow via interior point algorithms. In Cynthia Dwork, editor, Proceedings of the 40th Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, May 17-20, 2008, pages 451–460. ACM, 2008. doi:10.1145/1374376.1374441.
- [29] Shahar Dobzinski, Noam Nisan, and Sigal Oren. Economic efficiency requires interaction. In David B. Shmoys, editor, Symposium on Theory of Computing, STOC 2014, New York, NY, USA, May 31 - June 03, 2014, pages 233–242. ACM, 2014. doi:10.1145/2591796.2591815.
- [30] Pavol Duris and Pavel Pudlák. On the communication complexity of planarity. In János Csirik, János Demetrovics, and Ferenc Gécseg, editors, Fundamentals of Computation Theory, International Conference FCT’89, Szeged, Hungary, August 21-25, 1989, Proceedings, volume 380 of Lecture Notes in Computer Science, pages 145–147. Springer, 1989. doi:10.1007/3-540-51498-8_14.
- [31] Sebastian Eggert, Lasse Kliemann, Peter Munstermann, and Anand Srivastav. Bipartite matching in the semi-streaming model. Algorithmica, 63(1-2):490–508, 2012. doi:10.1007/S00453-011-9556-8.
- [32] Sebastian Eggert, Lasse Kliemann, and Anand Srivastav. Bipartite graph matchings in the semi-streaming model. In Amos Fiat and Peter Sanders, editors, Algorithms - ESA 2009, 17th Annual European Symposium, Copenhagen, Denmark, September 7-9, 2009. Proceedings, volume 5757 of Lecture Notes in Computer Science, pages 492–503. Springer, 2009. doi:10.1007/978-3-642-04128-0_44.
- [33] Joan Feigenbaum, Sampath Kannan, Andrew McGregor, Siddharth Suri, and Jian Zhang. On graph problems in a semi-streaming model. Theor. Comput. Sci., 348(2-3):207–216, 2005. doi:10.1016/J.TCS.2005.09.013.
- [34] Maxime Flin and Parth Mittal. (+1) vertex coloring in O(n) communication. In Ran Gelles, Dennis Olivetti, and Petr Kuznetsov, editors, Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing, PODC 2024, Nantes, France, June 17-21, 2024, pages 416–424. ACM, 2024. doi:10.1145/3662158.3662796.
- [35] Yu Gao, Yang P. Liu, and Richard Peng. Fully dynamic electrical flows: Sparse maxflow faster than goldberg-rao. In 62nd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2021, Denver, CO, USA, February 7-10, 2022, pages 516–527. IEEE, 2021. doi:10.1109/FOCS52979.2021.00058.
- [36] Mehrdad Ghadiri, Yin Tat Lee, Swati Padmanabhan, William Swartworth, David P. Woodruff, and Guanghao Ye. Improving the bit complexity of communication for distributed convex optimization. In Bojan Mohar, Igor Shinkar, and Ryan O’Donnell, editors, Proceedings of the 56th Annual ACM Symposium on Theory of Computing, STOC 2024, Vancouver, BC, Canada, June 24-28, 2024, pages 1130–1140. ACM, 2024. doi:10.1145/3618260.3649787.
- [37] Hossein Gholizadeh and Yonggang Jiang. A subquadratic two-party communication protocol for minimum cost flow. CoRR, abs/2510.03427, 2025. doi:10.48550/arXiv.2510.03427.
- [38] Ashish Goel, Michael Kapralov, and Sanjeev Khanna. On the communication and streaming complexity of maximum bipartite matching. In Yuval Rabani, editor, Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17-19, 2012, pages 468–485. SIAM, 2012. doi:10.1137/1.9781611973099.41.
- [39] Venkatesan Guruswami and Krzysztof Onak. Superlinear lower bounds for multipass graph processing. Algorithmica, 76(3):654–683, 2016. doi:10.1007/S00453-016-0138-7.
- [40] András Hajnal, Wolfgang Maass, and György Turán. On the communication complexity of graph properties. In Janos Simon, editor, Proceedings of the 20th Annual ACM Symposium on Theory of Computing, May 2-4, 1988, Chicago, Illinois, USA, pages 186–191. ACM, 1988. doi:10.1145/62212.62228.
- [41] Gábor Ivanyos, Hartmut Klauck, Troy Lee, Miklos Santha, and Ronald de Wolf. New bounds on the classical and quantum communication complexity of some graph properties. In Deepak D’Souza, Telikepalli Kavitha, and Jaikumar Radhakrishnan, editors, IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS 2012, December 15-17, 2012, Hyderabad, India, volume 18 of LIPIcs, pages 148–159. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2012. doi:10.4230/LIPIcs.FSTTCS.2012.148.
- [42] Yonggang Jiang, Danupon Nanongkai, and Pachara Sawettamalya. Minimum s t cuts with fewer cut queries. In Kasper Green Larsen and Barna Saha, editors, Proceedings of the 2026 Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2026, Vancouver, BC, Canada, January 11-14, 2026, pages 258–296. SIAM, 2026. doi:10.1137/1.9781611978971.12.
- [43] Michael Kapralov. Better bounds for matchings in the streaming model. In Sanjeev Khanna, editor, Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2013, New Orleans, Louisiana, USA, January 6-8, 2013, pages 1679–1697. SIAM, 2013. doi:10.1137/1.9781611973105.121.
- [44] Michael Kapralov, Yin Tat Lee, Cameron Musco, Christopher Musco, and Aaron Sidford. Single pass spectral sparsification in dynamic streams. SIAM J. Comput., 46(1):456–477, 2017. doi:10.1137/141002281.
- [45] Michael Kapralov, Aida Mousavifar, Cameron Musco, Christopher Musco, Navid Nouri, Aaron Sidford, and Jakab Tardos. Fast and space efficient spectral sparsification in dynamic streams. In Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1814–1833. SIAM, 2020. doi:10.1137/1.9781611975994.111.
- [46] Michael Kapralov, Navid Nouri, Aaron Sidford, and Jakab Tardos. Dynamic streaming spectral sparsification in nearly linear time and space. In arXiv preprint, 2019.
- [47] Jonathan A Kelner and Alex Levin. Spectral sparsification in the semi-streaming setting. In STACS, 2011.
- [48] Christian Konrad, Frédéric Magniez, and Claire Mathieu. Maximum matching in semi-streaming with few passes. In Anupam Gupta, Klaus Jansen, José D. P. Rolim, and Rocco A. Servedio, editors, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques - 15th International Workshop, APPROX 2012, and 16th International Workshop, RANDOM 2012, Cambridge, MA, USA, August 15-17, 2012. Proceedings, volume 7408 of Lecture Notes in Computer Science, pages 231–242. Springer, 2012. doi:10.1007/978-3-642-32512-0_20.
- [49] Rasmus Kyng, Jakub Pachocki, Richard Peng, and Sushant Sachdeva. A framework for analyzing resparsification algorithms. In SODA, pages 2032–2043. SIAM, 2017. doi:10.1137/1.9781611974782.132.
- [50] Yin Tat Lee and Aaron Sidford. Path finding methods for linear programming: Solving linear programs in iterations and faster algorithms for maximum flow. In 2014 IEEE 55th Annual Symposium on Foundations of Computer Science, pages 424–433. IEEE, 2014. doi:10.1109/FOCS.2014.52.
- [51] S Cliff Liu, Zhao Song, Hengjie Zhang, Lichen Zhang, and Tianyi Zhou. Space-efficient interior point method, with applications to linear programming and maximum weight bipartite matching. In ICALP, 2023.
- [52] Aleksander Madry. Navigating central path with electrical flows: From flows to matchings, and back. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science (FOCS), pages 253–262. IEEE, 2013. doi:10.1109/FOCS.2013.35.
- [53] 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.
- [54] Nikhil S. Mande, Manaswi Paraashar, Swagato Sanyal, and Nitin Saurabh. On the communication complexity of finding a king in a tournament. In Amit Kumar and Noga Ron-Zewi, editors, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2024, August 28-30, 2024, London School of Economics, London, UK, volume 317 of LIPIcs, pages 64:1–64:23. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2024. doi:10.4230/LIPIcs.APPROX/RANDOM.2024.64.
- [55] Andrew McGregor. Finding graph matchings in data streams. In Chandra Chekuri, Klaus Jansen, José D. P. Rolim, and Luca Trevisan, editors, Approximation, Randomization and Combinatorial Optimization, Algorithms and Techniques, 8th International Workshop on Approximation Algorithms for Combinatorial Optimization Problems, APPROX 2005 and 9th InternationalWorkshop on Randomization and Computation, RANDOM 2005, Berkeley, CA, USA, August 22-24, 2005, Proceedings, volume 3624 of Lecture Notes in Computer Science, pages 170–181. Springer, 2005. doi:10.1007/11538462_15.
- [56] Sagnik Mukhopadhyay and Danupon Nanongkai. Weighted min-cut: sequential, cut-query, and streaming algorithms. In Konstantin Makarychev, Yury Makarychev, Madhur Tulsiani, Gautam Kamath, and Julia Chuzhoy, editors, Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2020, Chicago, IL, USA, June 22-26, 2020, pages 496–509. ACM, 2020. doi:10.1145/3357713.3384334.
- [57] Christos H. Papadimitriou and Michael Sipser. Communication complexity. In Harry R. Lewis, Barbara B. Simons, Walter A. Burkhard, and Lawrence H. Landweber, editors, Proceedings of the 14th Annual ACM Symposium on Theory of Computing, May 5-7, 1982, San Francisco, California, USA, pages 196–200. ACM, 1982. doi:10.1145/800070.802192.
- [58] Aviad Rubinstein, Tselil Schramm, and S. Matthew Weinberg. Computing exact minimum cuts without knowing the graph. In Anna R. Karlin, editor, 9th Innovations in Theoretical Computer Science Conference, ITCS 2018, January 11-14, 2018, Cambridge, MA, USA, volume 94 of LIPIcs, pages 39:1–39:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.ITCS.2018.39.
- [59] Santosh S. Vempala, Ruosong Wang, and David P. Woodruff. The communication complexity of optimization. In Shuchi Chawla, editor, Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pages 1733–1752. SIAM, 2020. doi:10.1137/1.9781611975994.106.
