Nearly Maximum Flows in Nearly Linear Time
Abstract
We introduce a new approach to the maximum flow problem in undirected, capacitated graphs using α-congestion-approximators: easy-to-compute functions that approximate the congestion required to route single-commodity demands in a graph to within a factor of α. Our algorithm maintains an arbitrary flow that may have some residual excess and deficits, while taking steps to minimize a potential function measuring the congestion of the current flow plus an over-estimate of the congestion required to route the residual demand. Since the residual term over-estimates, the descent process gradually moves the contribution to our potential function from the residual term to the congestion term, eventually achieving a flow routing the desired demands with nearly minimal congestion after O(α-22 n) iterations. Our approach is similar in spirit to that used by Spielman and Teng (STOC 2004) for solving Laplacian systems, and we summarize our approach as trying to do for ∞-flows what they do for 2-flows. Together with a nearly linear time construction of a no(1)-congestion-approximator, we obtain 1+-optimal single-commodity flows undirected graphs in time m1+o(1)-2, yielding the fastest known algorithm for that problem. Our requirements of a congestion-approximator are quite low, suggesting even faster and simpler algorithms for certain classes of graphs. For example, an α-competitive oblivious routing tree meets our definition, even without knowing how to route the tree back in the graph. For graphs of conductance φ, a trivial φ-1-congestion-approximator gives an extremely simple algorithm for finding 1+-optimal-flows in time O(mφ-1).
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.