We introduce a new approach to computing an approximately maximum s-t flow in a capacitated, undirected graph. This flow is computed by solving a sequence of electrical flow problems. Each electrical flow is given by the solution of a system of linear equations in a Laplacian matrix, and thus may be approximately computed in nearly-linear time. Using this approach, we develop the fastest known algorithm for computing approximately maximum s-t flows. For a graph having n vertices and m edges, our algorithm computes a (1 − )-approximately maximum s-t flow in time 1 e O(mn 1/3 −11/3 ). A dual version of our approach gives the fastest known algorithm for computing a (1+ )-approximately minimum s-t cut. It takes e O(m + n 4/3 −16/3 ) time. Previously, the best dependence on m and n was achieved by the algorithm of Goldberg and Rao (J. ACM 1998), which can be used to compute approximately maximum s-t flows in time e O(m √ n −1 ), and approximately minimum s-t cuts in time e O(m + n 3/2 −3 ).
In 2010, Christiano et al. REF described a new linear algebraic approach to the problem that found ε-approximately maximum s-t flows in time O(mn 1/3 poly(1/ε)).
Electrical flows, laplacian systems, and faster approximation of maximum flow in undirected graphs
STOC '11
Computer Science Mathematics