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
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
The Final Exam of
Doctoral committee: Jeff Erickson, Chair Chandra Chekuri Derek Hoiem David Eppstein, University of California, Irvine
2
worse
3
4
balanced separators
5
curves
6
generalize easily
2009 [Chambers, Erickson, and Nayyeri STOC/SoCG ’09]
require very complicated subroutines
7
be improved by using homology
flow/cut papers
difference bounds a weighted sum of faces
features of the surface
8
related to maximum flows and minimum cuts
9
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
10
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
11
graph into non-empty components
12
for planar graphs when g = O(1) [Łącki and Sankowski ’11]
u* v*
f* g*
f g
u v
13
graph that separate the faces
14
into topologically non-trivial cycles
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
15
16
Contractible & Separating Non-contractible & Separating Non-contractible & Non-separating
When Directed? Running Time Citation Before Undirected gO(g)n log log n
[Italiano et al. ’11]
17
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
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
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
18
… …
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
19
not t
edges leaving cut
20
s t
21
s t s t
21
s t s t s t
21
s t s t s t s t
21
matches the best results for planar graphs when g = O(1) [Bezáková and Friedlander ’12]
cycles in a particular cohomology class
per sample
22
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
23
flow/minimum cut paper [Ford and Fulkerson ’56]
24
[Harris and Ross ’55]
[Orlin ’13]
[Italiano et al. ’11]
[Borradaile and Klein ’09]
25
O(g8n log²n log²C) [Chambers, Erickson, and Nayyeri ’09]
gO(g)n3/2 [Chambers, Erickson, and Nayyeri ’09]
algorithms
26
algorithm
in the primal and dual graphs
27
v→u
∑uv f (uv) - ∑vu f (vw) = 0
28
f (u→v) = f (uv) and f (v→u) = -f (uv)
darts
f (u→v) ≤ c(u→v)
cf (u→v) = c(u→v) - f (u→v)
29
vertex v except s and t
s,t-flow of maximum value
any s,t-cut [Ford and Fulkerson ’56]
30
clockwise cycles, and then sends flow along leftmost residual s,t-paths
genus?
31
(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
32
[Erickson ‘10]
s t
C
t*
[Venkatesan ‘83]
vertex o incident to t using c for the dart lengths
path, changing residual capacities
33
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
34
[Erickson ‘10]
35
[Erickson ‘10]
shortest path tree changes
residual graph even if there are feasible flows of the same value [Chambers, Erickson, and Nayyeri ’09]
cycle [Erickson ’10]
36
∂α(uv) = α(right(uv)) - α(left(uv))
chains
37
7 2 5
boundary circulation
38
cocirculations, etc. in the dual
Define c’ on the edges so that
39
Nayyeri [’09]
40
Theorem: Let c be a capacity function and Θ be a
circulation Φ is equal to the minimum capacity of any coflow cohomologous to Θ.
Θ is minimum capacity for its cohomology class wrt c then Θ is minimum capacity wrt cΦ
41
path, changing residual capacities
42
1 1 1 1 1 1 2 2 3 3 4 5 7
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
Φ 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
44
arbitrary surfaces and cohomology classes
push flow from s to t along any path
coflow
45
1 2 s t coflow
want to keep darts saturated
with saturated outgoing darts C in G \ D
46
1 2 s t 1 2 s t
coflow edges D
goes empty
47
1 2 s t 1 3 s t coboundary of s,t-cut S in G
coflow is in the same cohomology class
coflow is still minimum cost
48
1 2 s t 1 3 s t
49
computed a maximum s,t-flow
3 s t 1 3 s t 1 saturated s,t-cut
stay connected
O(g log n + g²) time per pivot
50
s t 1 1 1 1 3 3 7
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
cohomology classes
each dart of π
52
1 2 s t winding number = 2
53
1 2 s t 1 3 s t
minimum cost coflow Θ increases by at least 1 with each pivot
winding number = 2 winding number = 3
54
1 2 s t
used for the minimum cost coflow
wrt the original minimum cost coflow Θ₀ decreases by at least 1 with each pivot
winding number = 0 winding number = -1 1 2 s t
55
s t 1 1 1 1 3 3 7
augmenting path is -O(n²)
Θ₀
56
augmenting path avoiding edges with coflow Theorem: Our algorithm computes a maximum s,t- flow in O(gn²(g + log n)) time.
applications to minimum cost flow, multiple-source multiple-sink maximum flow, …
57
minimum cut [Erickson, F, and Nayyeri SODA ’12]
for undirected and directed graphs [F SODA ’13]
s,t-cuts [Chambers, F, and Nayyeri SoCG ’13]
[Erickson and F ‘13]
58
in the Spring 2014 program Network Science and Graph Algorithms
59