Algorithms for network flows

Flow problems in planar networks are investigated. (i) Two algorithms for finding maximum flows in directed planar networks (hence in any planar network) are presented. The first is an O(n('3/2)log n) divide-and-conquer algorithm, and the second is an O(p n log n) algorithm, where p is the fewest number of faces to be crossed while going from the source to the sink in the embedding. (ii) A reduction from the planar circulation problem to the shortest-path problem is exhibited, which yields an O(n('3/2)) algorithm for finding a circulation in a planar network. This reduction also yields an O(n('3/2)) algorithm for constructing a flow (if feasible) of a given value in a planar network, even if non-zero lower bounds on the edges are allowed. (iii) On-line algorithms are given for updating flows and circulations, and reoptimizing maximum flows in planar networks, under certain changes in capacities and lower bounds. (iv) O(log('2)n) parallel algorithms are presented for finding min-cuts and maximum flows in undirected planar networks, constructing planar separators, and finding feasible circulations and flows in planar networks. (v) Some properties proven in the thesis also apply to general networks. For instance, a reduction is exhibited, which shows that the maximum-flow problem in general networks is equal in complexity to a seemingly different problem. (vi) Interesting properties of planar graphs are proven. For instance, a new linear-time characterization of the planar separator theorem is shown, in terms of mutually non-containing and non-intersecting closed Jordan Curves.