A new approach to computing maximum flows using electrical flows

  • Authors:
  • Yin Tat Lee;Satish Rao;Nikhil Srivastava

  • Affiliations:
  • MIT, Cambridge, MA, USA;UC Berkeley, Berkeley, CA, USA;Microsoft Research, Bangalore, India

  • Venue:
  • Proceedings of the forty-fifth annual ACM symposium on Theory of computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We give an algorithm which computes a (1-ε)-approximately maximum st-flow in an undirected uncapacitated graph in time O(1/ε√m/F⋅ m log2 n) where F is the flow value. By trading this off against the Karger-Levine algorithm for undirected graphs which takes ~O(m+nF) time, we obtain a running time of ~O(m n1/3/ε2/3) for uncapacitated graphs, improving the previous best dependence on ε by a factor of O(1/ε3). Like the algorithm of Christiano, Kelner, Madry, Spielman and Teng, our algorithm reduces the problem to electrical flow computations which are carried out in linear time using fast Laplacian solvers. However, in contrast to previous work, our algorithm does not reweight the edges of the graph in any way, and instead uses local (i.e., non s-t) electrical flows to reroute the flow on congested edges. The algorithm is simple and may be viewed as trying to find a point at the intersection of two convex sets (the affine subspace of st-flows of value F and the l∞ ball) by an accelerated version of the method of alternating projections due to Nesterov. By combining this with Ford and Fulkerson's augmenting paths algorithm, we obtain an exact algorithm with running time ~O(m5/4 F1/4) for uncapacitated undirected graphs, improving the previous best running time of ~O(m+ min(nF,m3/2)). We give a related algorithm with the same running time for approximate minimum cut, based on minimizing a smoothed version of the l1 norm inside the cut space of the input graph. We show that the minimizer of this norm is related to an approximate blocking flow and use this to give an algorithm for computing a length k approximately blocking flow in time ~O(m √k).