We describe the first algorithm to compute maximum flows in surface-embedded graphs in near-linear time. Specifically, given a graph embedded on a surface of genus g, with two specified vertices s and t and integer edge capacities that sum to C, our algorithm computes a maximum (s, t)-flow in O(g7 nlog2 nlog2 C) time. We also present a combinatorial algorithm that runs in gO(g) n3/2 arithmetic operations. Except for the special case of planar graphs, for which an O(nlog n)-time algorithm has been known for 20 years, the best previous time bounds for maximum flows in surface-embedded graphs follow from algorithms for general sparse graphs. Our algorithms improve these time bounds by roughly a factor of n. Our key insight is to optimize the relative homology class of the flow, rather than directly optimizing the flow itself. A dual formulation of our algorithm computes the minimum-cost circulation in a given (real or integer) homology class. Errors, like straws, upon the surface flow; H...
Erin W. Chambers, Jeff Erickson, Amir Nayyeri