FAST ALGORITHMS FOR SURFACE EMBEDDED GRAPHS VIA HOMOLOGY The Final Exam of Kyle J. Fox Doctoral committee: Jeff Erickson, Chair Chandra Chekuri Derek Hoiem David Eppstein, University of California, Irvine
Graph Algorithms • Major target for algorithms research • Provide natural abstractions for practical problems 2
Not Efficient • Many problems are NP-hard • Many polynomial time algorithms are quadratic or worse 3
Planarity • A natural assumption for many problem domains • Speeds up computation • Polynomial time → near-linear • NP-hard → polynomial time 4
Beyond Planarity • Many planar graph algorithms generalize • Bounded genus surface graphs • Minor free graphs • Generalizations are sparse and have small well- balanced separators • But that’s often not enough! 5
Surface Graphs • Drawn on 2-manifolds with boundary • Vertices map to points, edges to internally disjoint curves 6
Flows and Cuts • Network flow algorithms for planar graphs do not generalize easily • First results for max flows/min cuts on surfaces in 2009 [ Chambers, Erickson, and Nayyeri STOC/SoCG ’09 ] • Algorithms either have high dependency on g or require very complicated subroutines 7
Thesis: Homology Helps • Many algorithms for surface embedded graphs can be improved by using homology • Homology was the key tool in the Chambers et al . flow/cut papers • Homology characterizes curves by whether their difference bounds a weighted sum of faces • Intuitively, how certain cycles or flows travel around features of the surface 8
The Dissertation • Algorithms for combinatorial optimization problems related to maximum flows and minimum cuts • Assume graphs with n vertices and O( n ) edges on orientable surfaces of genus g = O( n ) • All algorithms use results in homology theory 9
Results 1. A g O( g ) n log log n time algorithm for global minimum cut [ Erickson, F, and Nayyeri SODA ’12 ] 2. Algorithms for shortest non-trivial cycles tailored for undirected and directed graphs [ F SODA ’13 ] 3. A 2 O( g ) n ² time algorithm for counting minimum s , t -cuts [ Chambers, F, and Nayyeri SoCG ’13 ] 4. Preliminary work on computing maximum s , t -flows [ Erickson and F ‘13 ] 10
Results 1. A g O( g ) n log log n time algorithm for global minimum cut [ Erickson, F, and Nayyeri SODA ’12 ] 2. Algorithms for shortest non-trivial cycles tailored for undirected and directed graphs [ F SODA ’13 ] 3. A 2 O( g ) n ² time algorithm for counting minimum s , t -cuts [ Chambers, F, and Nayyeri SoCG ’13 ] 4. Preliminary work on computing maximum s , t -flows [ Erickson and F ‘13 ] 11
Global Minimum Cut • Remove smallest weight set of edges to separate graph into non-empty components • g O( g ) n log log n time algorithm matches best result for planar graphs when g = O(1) [ Łą cki and Sankowski ’11 ] 12
Dual Graph • vertices ⇄ faces • edges ⇄ edges • faces ⇄ vertices v v* f g f* g* u* u 13
Separating Subgraphs • Find a minimum weight set of cycles in the dual graph that separate the faces • Reduce problem to two cases 1. some minimum weight subgraph bounds a disk 2. all minimum weight subgraphs decomposable into topologically non-trivial cycles 14
Results 1. A g O( g ) n log log n time algorithm for global minimum cut [ Erickson, F, and Nayyeri SODA ’12 ] 2. Algorithms for shortest non-trivial cycles tailored for undirected and directed graphs [ F SODA ’13 ] 3. A 2 O( g ) n ² time algorithm for counting minimum s , t -cuts [ Chambers, F, and Nayyeri SoCG ’13 ] 4. Preliminary work on computing maximum s , t -flows [ Erickson and F ‘13 ] 15
Non-trivial Cycles • Want short cycles that are topologically non-trivial • Particularly non-contractible or non-separating Contractible Non-contractible Non-contractible & & & Separating Separating Non-separating 16
Non-trivial Running Times When Directed? Running Time Citation g O( g ) n log log n Before Undirected [Italiano et al. ’11] 17
Non-trivial Running Times When Directed? Running Time Citation g O( g ) n log log n Before Undirected [Italiano et al. ’11] 2 O( g ) n log log n Now Undirected [F ’13] 17
Non-trivial Running Times When Directed? Running Time Citation g O( g ) n log log n Before Undirected [Italiano et al. ’11] 2 O( g ) n log log n Now Undirected [F ’13] Non-separating: O( g ² n log n ) Before Directed [Erickson ’11] Non-contractible: O( g O( g ) n log n ) 17
Non-trivial Running Times When Directed? Running Time Citation g O( g ) n log log n Before Undirected [Italiano et al. ’11] 2 O( g ) n log log n Now Undirected [F ’13] Non-separating: O( g ² n log n ) Before Directed [Erickson ’11] Non-contractible: O( g O( g ) n log n ) Non-contractible: Now Directed [F ’13] O( g ³ n log n ) 17
Covering Spaces • Spaces that map down to the input • Non-trivial cycles gain structure in the right cover … … 18
Results 1. A g O( g ) n log log n time algorithm for global minimum cut [ Erickson, F, and Nayyeri SODA ’12 ] 2. Algorithms for shortest non-trivial cycles tailored for undirected and directed graphs [ F SODA ’13 ] 3. A 2 O( g ) n ² time algorithm for counting minimum s , t -cuts [ Chambers, F, and Nayyeri SoCG ’13 ] 4. Preliminary work on computing maximum s , t -flows [ Erickson and F ‘13 ] 19
Counting Cuts • Input gives vertices s and t • An s , t -cut is a subset of vertices containing s but not t • Want to count s , t -cuts that minimize weight of edges leaving cut 20
Counting Cuts Example t s 21
Counting Cuts Example t t s s 21
Counting Cuts Example t t t s s s 21
Counting Cuts Example t t t t s s s s 21
Counting Cuts Results • 2 O( g ) n ² time algorithm for counting minimum s , t -cuts matches the best results for planar graphs when g = O(1) [ Bezáková and Friedlander ’12 ] • Count forward t , s- cuts in a directed acyclic graph • Edges leaving forward t , s- cuts are dual to directed cycles in a particular cohomology class • Afterward, sample minimum cuts in O( n log n ) time per sample 22
Results 1. A g O( g ) n log log n time algorithm for global minimum cut [ Erickson, F, and Nayyeri SODA ’12 ] 2. Algorithms for shortest non-trivial cycles tailored for undirected and directed graphs [ F SODA ’13 ] 3. A 2 O( g ) n ² time algorithm for counting minimum s , t -cuts [ Chambers, F, and Nayyeri SoCG ’13 ] 4. Preliminary work on computing maximum s , t -flows [ Erickson and F ‘13 ] 23
Maximum Flow • Classic non-trivial polynomial time algorithm • Planar case considered since the seminal maximum flow/minimum cut paper [ Ford and Fulkerson ’56 ] [ Harris and Ross ’55 ] 24
Flow in the Plane • General sparse graphs: O( n ² / log n ) time [ Orlin ’13 ] • For undirected graphs: O( n log log n ) time [ Italiano et al. ’11 ] • For directed graphs: O( n log n ) time [ Borradaile and Klein ’09 ] 25
Flow in Surfaces • For integer capacities summing to C : O( g 8 n log ² n log ² C ) [ Chambers, Erickson, and Nayyeri ’09 ] • For arbitrary real capacities: g O( g ) n 3/2 [ Chambers, Erickson, and Nayyeri ’09 ] • Both algorithms are very complicated and probably outperformed by more general quadratic time algorithms • Is there a clean O( g O(1) n log n ) time algorithm? 26
A New Algorithm • A true generalization of Borradaile and Klein’s algorithm • Uses duality between minimum cost flow problems in the primal and dual graphs • Provably runs in strongly polynomial time • May actually run in O( g O(1) n log n ) time 27
Chains and Circulations • Each (oriented) edge uv has two darts u → v and v → u • A [0,1,2]-chain assigns real values to the vertices, oriented edges, or faces. • Flow is a synonym for 1-chain • A flow f is a circulation if for each vertex v , ∑ uv f ( uv ) - ∑ vu f ( vw ) = 0 28
Capacities and Feasibility • For flow f and edge uv , we say f ( u → v ) = f ( uv ) and f ( v → u ) = - f ( uv ) • A capacity function c assigns real values to the darts • Flow f is feasible if for each dart u → v , we have f ( u → v ) ≤ c ( u → v ) • f induces residual capacity function c f , where c f ( u → v ) = c ( u → v ) - f ( u → v ) 29
Maximum s , t -flow • An s , t -flow has ∑ uv f ( uv ) - ∑ vu f ( vu ) = 0 for each vertex v except s and t • Value of an s , t -flow is ∑ s → v f ( s → v ) • Given capacity function c , want to find a feasible s , t -flow of maximum value • Value equal to minimum capacity of darts leaving any s , t -cut [ Ford and Fulkerson ’56 ] 30
Borradaile and Klein • Algorithm of Borradaile and Klein removes residual clockwise cycles, and then sends flow along leftmost residual s , t -paths • But what does leftmost mean in surfaces with genus? • Erickson [’10] offers a different interpretation 31
Borradaile and Klein (according to Erickson) A planar graph with capacity function c has a feasible s , t -flow matching the value of s , t -flow f if and only if there are no negative length dual cycles wrt c f . [ Venkatesan ‘83 ] • Negative length cycles are over-saturated s , t -cuts t t* s* s C o [ Erickson ‘10 ] 32
Recommend
More recommend