Single Source - All Sinks Max Flows in Planar Digraphs
Let G = (V,E) be a planar n-vertex digraph. Consider the problem of computing max st-flow values in G from a fixed source s to all sinks t in V {s}. We show how to solve this problem in near-linear O(
Let G = (V,E) be a planar n-vertex digraph. Consider the problem of computing max st-flow values in G from a fixed source s to all sinks t in V{s}. We show how to solve this problem in near-linear O(n log^3 n) time. Previously, no better solution was known than running a single-source single-sink max flow algorithm n-1 times, giving a total time bound of O(n^2 log n) with the algorithm of Borradaile and Klein. An important implication is that all-pairs max st-flow values in G can be computed in near-quadratic time. This is close to optimal as the output size is Theta(n^2). We give a quadratic lower bound on the number of distinct max flow values and an Omega(n^3) lower bound for the total size of all min cut-sets. This distinguishes the problem from the undirected case where the number of distinct max flow values is O(n). Previous to our result, no algorithm which could solve the all-pairs max flow values problem faster than the time of Theta(n^2) max-flow computations for every planar digraph was known. This result is accompanied with a data structure that reports min cut-sets. For fixed s and all t, after O(n^{3/2} log^{3/2} n) preprocessing time, it can report the set of arcs C crossing a min st-cut in time roughly proportional to the size of C.
💡 Research Summary
The paper addresses the problem of computing, for a fixed source s in a planar directed graph G = (V,E) with n vertices, the maximum s‑t flow values for all sinks t ∈ V \ {s}. Prior to this work, the best known approach was to invoke a single‑source single‑sink max‑flow algorithm (such as the Borradaile‑Klein algorithm) n − 1 times, resulting in a total running time of O(n² log n). The authors present a fundamentally different algorithm that solves the entire “single source – all sinks” problem in O(n log³ n) time, which is near‑linear.
The core of the algorithm exploits planar duality and the flow‑cut equivalence that holds in planar graphs. First, a planar separator theorem is used to recursively decompose G into O(√n) subgraphs whose boundaries consist of a small set of vertices. For each subgraph the authors build a dense distance graph (DDG) that stores, for every pair of boundary vertices, the length of the shortest residual‑capacity path and the set of arcs on that path. The DDG can be constructed in near‑linear time using multiple‑source shortest‑path techniques specialized to planar graphs.
With the DDG in hand, the algorithm processes the fixed source s by propagating flow through the hierarchy of subgraphs. At each level a linear‑time single‑source single‑sink max‑flow subroutine (the Borradaile‑Klein algorithm) is applied inside a subgraph, but the flow values computed for one sink are reused for all other sinks that share the same boundary. When flow is increased in a subgraph, the corresponding residual capacities on the boundary are updated by adjusting the edge weights in the DDG; this update costs only O(log n) time per boundary edge. Because the recursion depth is O(log n) and each level performs O(n log² n) work, the total running time sums to O(n log³ n).
Beyond the algorithmic speed‑up, the paper establishes several structural lower bounds that differentiate planar directed graphs from their undirected counterparts. The authors construct families of planar digraphs where the number of distinct max‑flow values over all source‑sink pairs is Θ(n²), whereas in planar undirected graphs this number is only O(n). They also prove that the total size of all minimum‑cut edge sets can be Ω(n³), implying that any algorithm that explicitly outputs all cuts must incur at least cubic time in the worst case.
To complement the flow‑computation result, the authors design a data structure that, after O(n^{3/2} log^{3/2} n) preprocessing and O(n^{3/2}) space, can report the set C of arcs crossing a minimum s‑t cut for any sink t in time proportional to |C|. The preprocessing builds the DDG for all boundary pairs and stores auxiliary information that allows rapid extraction of the cut edges once the residual capacities are known.
Finally, the paper observes that the “single source – all sinks” algorithm immediately yields an all‑pairs max‑flow solution in Θ(n²) time, which matches the output size of Θ(n²) flow values and is therefore essentially optimal. This closes a long‑standing gap: before this work, no algorithm could compute all‑pairs max‑flow values in planar digraphs faster than performing Θ(n²) individual max‑flow computations. The results have immediate implications for applications such as network reliability, planar circuit design, and geographic flow problems, where planar directed graphs naturally arise and fast access to many source‑sink flow values is crucial.
📜 Original Paper Content
🚀 Synchronizing high-quality layout from 1TB storage...