Proceedings of the 25th Annual Symposium on Computational Geometry, 377–385, 2009.
We describe the first algorithm to compute minimum cuts in surface-embedded graphs in near-linear time. Given an undirected graph embedded on an orientable surface of genus g, with two specified vertices s and t, our algorithm computes a minimum (s,t)-cut in gO(g) n log n time. Except for the special case of planar graphs, for which O(n log n)-time algorithms have been known for more than 20 years, the best previous time bounds for finding minimum cuts in embedded graphs follow from algorithms for general sparse graphs. A slight generalization of our minimum-cut algorithm computes a minimum-cost subgraph in every Z2-homology class. We also prove that finding a minimum-cost subgraph homologous to a single input cycle is NP-hard.
Note: Since this paper appeared, the main result has been improved in two different ways. Amir Nayyeri and I described a simpler algorithm that runs in 2O(g) n log n time [SODA 2011]. Giuseppe F. Italiano, Yahav Nussbaum, Piotr Sankowski, and Christian Wulff-Nilsen improved the running time of the original algorithm to gO(g) n log log n [STOC 2011].