An O(n \(\log ^ 2n)\) algorithm for maximum flow in undirected planar networks.

*(English)*Zbl 0565.90018A new algorithm is given to find a maximum flow in an undirected planar flow network in O(n \(\log^ 2n)\) time, which is faster than the best method previously known by a factor of \(\sqrt{n}/\log n\). The algorithm constructs a transformation of the dual of the given flow network in which differences between shortest distances are equal, under suitable edge correspondences, to edge flows in the given network. The transformation depends on the value of a maximum flow. The algorithm then solves the shortest distances problem efficiently by exploiting certain structural properties of the transformed dual, as well as using a set of cuts constructible in O(n \(\log^ 2n)\) time by a known method which is also used to find the requisite flow value. The main result can be further improved by a factor of log n/log\({}^*n\) if a recently developed shortest path algorithm for planar networks is used in place of Dijkstra’s algorithm in each step where shortest paths are computed.