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 $st$-maximum flows can use up to $Ω(n^2)$ 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 $W$, we provide a $\tilde O(n^{1.5}\log (W/ε))$-space $\tilde O(\sqrt{n} \log(W/ε))$-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 $Ω(n^2)$ space lower bounds. In the 2-party communication model, our algorithm implies $\tilde O(n^{1.5}\log^2 W)$ bits of communication.
翻译:空间复杂度是多种计算模型中的关键因素,包括流式、并行/分布式计算和通信复杂度。我们研究最小费用流问题(st-最大流问题的推广)的空间复杂度,重点关注在次二次空间中计算流的问题。在一般情形下,对于任意容量,最小费用流和$st$-最大流可能包含多达$Ω(n^2)$条边,因此在次二次空间中似乎不可能计算每条边上的流(而非仅计算大小/费用)。事实上存在下界证明存储所有边上的流需要二次空间,这一结果已被用于证明流式算法的下界。然而,我们证明这些下界可以被规避,从而为流式算法和通信复杂度的改进开辟新途径。对于容量和费用均以$W$为界的整数有向图,我们提出一种使用$\tilde O(n^{1.5}\log (W/ε))$空间、$\tilde O(\sqrt{n} \log(W/ε))$趟的流式算法,该算法在最后一趟中返回每条边上带误差$ε$的加性逼近流值。关键之处在于,算法并非在最后一趟结束时返回全部流值,而是在流中读取每条边时实时返回该边的流。这使我们能够绕过现有的$Ω(n^2)$空间下界。在双方通信模型中,我们的算法意味着$\tilde O(n^{1.5}\log^2 W)$比特的通信量。