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

fast algorithms for surface embedded graphs via homology
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Graph Algorithms

  • Major target for algorithms research
  • Provide natural abstractions for practical problems

2

slide-3
SLIDE 3

Not Efficient

  • Many problems are NP-hard
  • Many polynomial time algorithms are quadratic or

worse

3

slide-4
SLIDE 4

Planarity

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

4

slide-5
SLIDE 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

slide-6
SLIDE 6

Surface Graphs

  • Drawn on 2-manifolds with boundary
  • Vertices map to points, edges to internally disjoint

curves

6

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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
  • rientable surfaces of genus g = O(n)
  • All algorithms use results in homology theory

9

slide-10
SLIDE 10

Results

  • 1. A gO(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 2O(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

slide-11
SLIDE 11

Results

  • 1. A gO(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 2O(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

slide-12
SLIDE 12

Global Minimum Cut

  • Remove smallest weight set of edges to separate

graph into non-empty components

12

  • gO(g)n log log n time algorithm matches best result

for planar graphs when g = O(1) [Łącki and Sankowski ’11]

slide-13
SLIDE 13

Dual Graph

u* v*

f* g*

f g

u v

  • vertices ⇄ faces
  • edges ⇄ edges
  • faces ⇄ vertices

13

slide-14
SLIDE 14

Separating Subgraphs

  • Find a minimum weight set of cycles in the dual

graph that separate the faces

14

  • Reduce problem to two cases
  • 1. some minimum weight subgraph bounds a disk
  • 2. all minimum weight subgraphs decomposable

into topologically non-trivial cycles

slide-15
SLIDE 15

Results

  • 1. A gO(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 2O(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

slide-16
SLIDE 16

Non-trivial Cycles

  • Want short cycles that are topologically non-trivial
  • Particularly non-contractible or non-separating

16

Contractible & Separating Non-contractible & Separating Non-contractible & Non-separating

slide-17
SLIDE 17

Non-trivial Running Times

When Directed? Running Time Citation Before Undirected gO(g)n log log n

[Italiano et al. ’11]

17

slide-18
SLIDE 18

Non-trivial Running Times

When Directed? Running Time Citation Before Undirected gO(g)n log log n

[Italiano et al. ’11]

Now Undirected 2O(g)n log log n

[F ’13]

17

slide-19
SLIDE 19

Non-trivial Running Times

When Directed? Running Time Citation Before Undirected gO(g)n log log n

[Italiano et al. ’11]

Now Undirected 2O(g)n log log n

[F ’13]

Before Directed Non-separating: O(g² n log n) Non-contractible: O(gO(g) n log n) [Erickson ’11]

17

slide-20
SLIDE 20

Non-trivial Running Times

When Directed? Running Time Citation Before Undirected gO(g)n log log n

[Italiano et al. ’11]

Now Undirected 2O(g)n log log n

[F ’13]

Before Directed Non-separating: O(g² n log n) Non-contractible: O(gO(g) n log n) [Erickson ’11] Now Directed Non-contractible: O(g³ n log n) [F ’13]

17

slide-21
SLIDE 21

Covering Spaces

  • Spaces that map down to the input
  • Non-trivial cycles gain structure in the right cover

18

… …

slide-22
SLIDE 22

Results

  • 1. A gO(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 2O(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

slide-23
SLIDE 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

slide-24
SLIDE 24

Counting Cuts Example

s t

21

slide-25
SLIDE 25

Counting Cuts Example

s t s t

21

slide-26
SLIDE 26

Counting Cuts Example

s t s t s t

21

slide-27
SLIDE 27

Counting Cuts Example

s t s t s t s t

21

slide-28
SLIDE 28

Counting Cuts Results

  • 2O(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

slide-29
SLIDE 29

Results

  • 1. A gO(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 2O(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

slide-30
SLIDE 30

Maximum Flow

  • Classic non-trivial polynomial time algorithm
  • Planar case considered since the seminal maximum

flow/minimum cut paper [Ford and Fulkerson ’56]

24

[Harris and Ross ’55]

slide-31
SLIDE 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

slide-32
SLIDE 32

Flow in Surfaces

  • For integer capacities summing to C:


O(g8n log²n log²C) [Chambers, Erickson, and Nayyeri ’09]

  • For arbitrary real capacities:


gO(g)n3/2 [Chambers, Erickson, and Nayyeri ’09]

  • Both algorithms are very complicated and probably
  • utperformed by more general quadratic time

algorithms

  • Is there a clean O(gO(1) n log n) time algorithm?

26

slide-33
SLIDE 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(gO(1) n log n) time

27

slide-34
SLIDE 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,
  • riented 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

slide-35
SLIDE 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 cf, where


cf (u→v) = c(u→v) - f (u→v)

29

slide-36
SLIDE 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

slide-37
SLIDE 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

slide-38
SLIDE 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

  • nly if there are no negative length dual cycles wrt cf.

32

[Erickson ‘10]

s t

C

  • s*

t*

  • Negative length cycles are over-saturated s,t-cuts

[Venkatesan ‘83]

slide-39
SLIDE 39

Parametric Shortest Paths

  • Compute a dual shortest path tree from any dual

vertex o incident to t using c for the dart lengths

  • Continuously increase flow from s to t along any

path, changing residual capacities

33

[Erickson ‘10]

slide-40
SLIDE 40

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-41
SLIDE 41

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-42
SLIDE 42

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-43
SLIDE 43

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-44
SLIDE 44

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-45
SLIDE 45

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

slide-46
SLIDE 46

Parametric Shortest Paths

  • Shortest path tree pivots at critical moments…

34

[Erickson ‘10]

  • …until a directed cycle is formed
slide-47
SLIDE 47

Parametric Shortest Paths

  • The directed cycle is dual to a minimum s,t-cut
  • Each pivot can be performed in O(log n) time
  • O(n) pivots (not obvious), so O(n log n) overall

35

[Erickson ‘10]

slide-48
SLIDE 48

… on Surfaces

  • The flow you send from s to t affects how the

shortest path tree changes

  • A flow f may induce negative cycles in the dual

residual graph even if there are feasible flows of the same value [Chambers, Erickson, and Nayyeri ’09]

  • And it may take Ω(n²) pivots to reach a negative

cycle [Erickson ’10]

36

slide-49
SLIDE 49

Boundary Circulations

  • The boundary of a 2-chain α is the flow ∂α where

∂α(uv) = α(right(uv)) - α(left(uv))

  • Boundary circulations are the boundaries of 2-

chains

37

7 2 5

slide-50
SLIDE 50

Homology

  • Two flows f and f’ are homologous if f - f’ is a

boundary circulation

  • Forms an equivalence relation between flows

38

slide-51
SLIDE 51

Coflows and Capacities

  • Flows, circulations, etc. are called coflows,

cocirculations, etc. in the dual

  • Let Θ be a coflow and c be a capacity function.

Define c’ on the edges so that

  • c’(uv) = c(u→v) if Θ(uv) ≥ 0
  • c’(uv) = -c(v→u) otherwise
  • The capacity of Θ wrt c is the dot product ⟨Θ, c’⟩

39

slide-52
SLIDE 52

Homological
 Max Flow/Min Cut

  • Extends a theorem of Chambers, Erickson, and

Nayyeri [’09]

40

Theorem: Let c be a capacity function and Θ be a

  • coflow. The maximum cost ⟨Φ, Θ⟩ of any feasible

circulation Φ is equal to the minimum capacity of any coflow cohomologous to Θ.

slide-53
SLIDE 53

Min Capacity Coflows

  • Fix a circulation Φ and capacity function c. If coflow

Θ is minimum capacity for its cohomology class wrt c then Θ is minimum capacity wrt cΦ

41

slide-54
SLIDE 54

Back to the Plane

  • Find a minimum cost coflow
  • Continuously increase flow from s to t along any

path, changing residual capacities

42

1 1 1 1 1 1 2 2 3 3 4 5 7

slide-55
SLIDE 55

Back to the Plane

  • Minimum cost cocirculation pivots at critical

moments…

43

1 1 1 1 1 1 2 2 3 3 4 5 7 1 1 1 1 2 3 2 1 4 5 6 6 1

  • …by pushing coflow around s,t-cuts
slide-56
SLIDE 56

Optimal Circulations and Coflows

  • Fix a coflow Θ and capacity function c. Circulation

Φ maximizes ⟨Φ, Θ⟩ and Θ is minimum capacity for its cohomology class wrt c if and only if
 Φ(u→v) = c(u→v) for every dart u→v such that Θ(u→v) > 0

  • Φ saturates the darts carrying coflow

44

slide-57
SLIDE 57

Generalizations

  • Extend parametric minimum capacity coflows to

arbitrary surfaces and cohomology classes

  • Minimum cost coflow is resilient to circulations; can

push flow from s to t along any path

  • Maintain feasible flow saturating darts with positive

coflow

45

1 2 s t coflow

slide-58
SLIDE 58

Augmentations

  • D: edges carrying non-zero coflow
  • Cannot send primal flow through edges in D if we

want to keep darts saturated

  • Push flow through G \ D until there is an s,t-cut S

with saturated outgoing darts C in G \ D

46

1 2 s t 1 2 s t

  • utgoing darts C in G \ D

coflow edges D

slide-59
SLIDE 59

Pivots

  • Some edges from C + D bound s,t-cut S in G
  • Push coflow around coboundary of S until an edge

goes empty

47

1 2 s t 1 3 s t coboundary of s,t-cut S in G

slide-60
SLIDE 60

Pivots

  • Pushed coflow around a coboundary so the new

coflow is in the same cohomology class

  • Every dart carrying positive coflow is saturated, so

coflow is still minimum cost

48

1 2 s t 1 3 s t

slide-61
SLIDE 61

Termination

49

  • Process ends when no edge can go empty
  • We’ve saturated a minimum s,t-cut in G and

computed a maximum s,t-flow

3 s t 1 3 s t 1 saturated s,t-cut

slide-62
SLIDE 62

Efficient Pivots

  • Initial coflow runs along a shortest path tree from o
  • o is the only “source” so edges with dual coflow

stay connected

  • Both D and G \ D have a simple structure, so


O(g log n + g²) time per pivot

50

s t 1 1 1 1 3 3 7

slide-63
SLIDE 63

Time Analysis

Theorem: Let N be the number of pivots. Our algorithm computes a maximum s,t-flow in
 O(n log n + gN(g + log n)) time.

51

  • Ideally, N = O(gO(1)n), even for arbitrary

cohomology classes

  • Right now, can prove N = O(n²)
slide-64
SLIDE 64

Winding Numbers

  • For s,t-path π, let f π be the flow that sends 1 unit on

each dart of π

  • The winding number of coflow Θ wrt π is ⟨f π, Θ⟩

52

1 2 s t winding number = 2

slide-65
SLIDE 65

More Winding

53

1 2 s t 1 3 s t

  • The winding number of a fixed path π wrt each

minimum cost coflow Θ increases by at least 1 with each pivot

winding number = 2 winding number = 3

slide-66
SLIDE 66

Means Less Winding

54

1 2 s t

  • Each iteration’s augmenting paths avoid edges

used for the minimum cost coflow

  • The winding number of each augmenting path π

wrt the original minimum cost coflow Θ₀ decreases by at least 1 with each pivot

winding number = 0 winding number = -1 1 2 s t

slide-67
SLIDE 67

Bounding Pivots

55

s t 1 1 1 1 3 3 7

  • In the shortest path coflow Θ₀, Θ₀(u→v) ≤ O(n)
  • So lowest winding number possible for any

augmenting path is -O(n²)

  • First augmenting paths have winding number 0 wrt

Θ₀

slide-68
SLIDE 68

Bounding Pivots

56

  • So after O(n²) pivots, there can never be another

augmenting path avoiding edges with coflow Theorem: Our algorithm computes a maximum s,t- flow in O(gn²(g + log n)) time.

slide-69
SLIDE 69

Next Steps in Flows

  • Prove O(gO(1)n) bound on number of pivots
  • If it applies to arbitrary coflows, there are likely

applications to minimum cost flow, multiple-source multiple-sink maximum flow, …

57

slide-70
SLIDE 70

Results

  • 1. A gO(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 2O(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]

58

slide-71
SLIDE 71

What Comes Next?

  • Postdoc at ICERM at Brown University participating

in the Spring 2014 program Network Science and Graph Algorithms

59

slide-72
SLIDE 72

Thank you!