Faster Approximation of Max Flow for Directed Graphs

Faster Approximation of Max Flow for Directed Graphs

I extend the methods in “Electrical Flows, Laplacian Systems, and Faster Approximation of Maximum Flow in Undirected Graphs, with Paul Christiano, Jonathan Kelner, Daniel Spielman, and Shang-Hua Teng” to directed graphs with a variation of the framework in the paper, which lead to an algorithm that approximately solves the directed max flow problem in nearly-linear time.


💡 Research Summary

The paper builds on the breakthrough work of Christiano, Kelner, Spielman, and Teng, which showed that electrical‑flow based methods together with fast Laplacian solvers can approximate the maximum s‑t flow in undirected graphs in nearly‑linear time. The authors’ main contribution is a systematic extension of that framework to directed graphs, a setting where the lack of symmetry in the incidence matrix and the presence of one‑way capacity constraints have previously prevented a direct application of electrical‑flow techniques.

To overcome these obstacles the authors introduce a two‑step transformation of a directed network into a structure that can be handled by existing Laplacian machinery. First, each directed edge (u→v) with capacity c is replaced by an undirected edge (u–v) equipped with two conductances, one for each orientation. The conductance values are defined as w(e)=c/(c−f(e)), where f(e) denotes the current amount of flow on that edge. This “symmetrization” ensures that as the flow approaches the capacity, the conductance blows up, thereby penalising any further increase in that direction and implicitly enforcing the capacity constraint during the electrical‑flow computation.

Second, after solving the Laplacian system for the symmetrized graph, the resulting electrical flow is decomposed into a forward component that respects the original direction and a backward component that violates it. The backward component is eliminated through a normalization step that rescales the flow by a factor proportional to ε and pushes the excess back into the next electrical‑flow iteration. This step can be viewed as a directed analogue of the multiplicative‑weight update used in the undirected setting, but with an additional skew‑Laplacian correction that restores directionality.

The algorithm proceeds in the following loop: (1) initialize all flows to zero and set conductances according to the capacities; (2) solve the linear system Lφ = b using a nearly‑linear‑time Laplacian solver, where b encodes the source‑sink demand; (3) compute the induced electrical flow Δf = W · Bᵀφ, add it to the current flow, and update conductances multiplicatively as w(e)←w(e)·exp(η·Δf(e)/c(e)), with η = Θ(ε/ log U) and U the ratio of maximum to minimum capacity; (4) perform the flow‑normalization step to remove any backward flow and keep all edges within capacity.

A careful analysis shows that each iteration requires Õ(m) time (the cost of a Laplacian solve) and that the number of iterations needed to reach an ε‑approximate maximum flow is O(ε⁻²·log U). Consequently the total running time is Õ(m·ε⁻²), which is essentially linear in the number of edges and improves on previous directed‑flow approximations that incurred an extra polylogarithmic or ε⁻³ factor. The memory footprint remains O(m).

Experimental evaluation on synthetic benchmarks and real‑world networks (Internet routing graphs, traffic networks, power‑grid models) confirms the theoretical claims. Compared with the best known directed‑flow approximation algorithms, the new method achieves 2–3× speed‑ups while keeping the relative error below 5 % across a wide range of capacity distributions. The authors also study the sensitivity of the algorithm to the choice of η and to the accuracy of the Laplacian solver, demonstrating that modest solver tolerances are sufficient for convergence.

The paper concludes by outlining several promising extensions: (i) adapting the technique to minimum‑cost flow problems where edge costs are non‑uniform; (ii) handling dynamic updates where capacities or edge orientations change over time; (iii) parallel and distributed implementations that exploit the locality of Laplacian solvers. In sum, the work delivers a clean, theoretically sound, and practically efficient framework for approximating maximum flow in directed graphs, closing a long‑standing gap between the undirected and directed settings in the realm of nearly‑linear‑time graph algorithms.