fast algorithms for surface embedded graphs via homology
play

FAST ALGORITHMS FOR SURFACE EMBEDDED GRAPHS VIA HOMOLOGY The Final - PowerPoint PPT Presentation

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


  1. 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

  2. Graph Algorithms • Major target for algorithms research • Provide natural abstractions for practical problems 2

  3. Not Efficient • Many problems are NP-hard • Many polynomial time algorithms are quadratic or worse 3

  4. Planarity • A natural assumption for many problem domains • Speeds up computation • Polynomial time → near-linear • NP-hard → polynomial time 4

  5. 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

  6. Surface Graphs • Drawn on 2-manifolds with boundary • Vertices map to points, edges to internally disjoint curves 6

  7. 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

  8. 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

  9. 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

  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 ] 10

  11. 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

  12. 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

  13. Dual Graph • vertices ⇄ faces • edges ⇄ edges • faces ⇄ vertices v v* f g f* g* u* u 13

  14. 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

  15. 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

  16. 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

  17. Non-trivial Running Times When Directed? Running Time Citation g O( g ) n log log n Before Undirected [Italiano et al. ’11] 17

  18. 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

  19. 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

  20. 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

  21. Covering Spaces • Spaces that map down to the input • Non-trivial cycles gain structure in the right cover … … 18

  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 ] 19

  23. 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

  24. Counting Cuts Example t s 21

  25. Counting Cuts Example t t s s 21

  26. Counting Cuts Example t t t s s s 21

  27. Counting Cuts Example t t t t s s s s 21

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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