OptimizingCyclesandBases AMSShortCourseonComputationalTopology - - PowerPoint PPT Presentation
OptimizingCyclesandBases AMSShortCourseonComputationalTopology - - PowerPoint PPT Presentation
OptimizingCyclesandBases AMSShortCourseonComputationalTopology January5,2011 JeffErickson ComputerScienceDepartment UniversityofIllinoisatUrbanaChampaign jeffe@cs.illinois.edu
Optimal bases and cycles
Given a topological space X, find any of the following: Optimal bases:
- Shortest set of loops that generate π1(X)
- Shortest set of cycles that generate H1(X)
- Minimum‐weight set of k‐cycles that generate Hk(X)
Optimal cycles:
- Shortest path/cycle homotopic to a given path/cycle in X
- Shortest 1‐cycle homologous to a given 1‐cycle in X
- Minimum‐weight k‐cycle homologous to a given k‐cycle in X
2
Motivation: localization
3
[Dey, Sun, Cohen‐Steiner 2008]
Motivation: surface parameterization
4
[Tong, Alliez, Cohen‐Steiner, Desbrun 2006]
Any genus‐g graph admits a stochastic embedding into a planar graph with expected
distortion O(log g). ⇒ Lots of good approximation algorithms for genus‐g graphs.
Motivation: planar embedding
5
[Borradaile Indyk Lee Sidiropoulos ’07–‘10]
Motivation: minimal surfaces
6
[Sullivan 1990; Dunfield, Hirani 2010]
The minimum‐area surface bounded by a knot K is the minimum‐cost 2‐ chain homologous to any surface bounded by K
Preliminaries
7
Combinatorial spaces
- Input spaces are finite abstract simplicial, cubical, or other CW
complexes
- Cells have non‐negative weights/lengths — “geometry”
- We only consider paths/cycles in the 1‐skeleton
- Otherwise, we don’t know how to compute shortest paths efficiently!
- We only consider k‐chains in the k‐skeleton (cellular homology)
- Many algorithms in this talk are restricted to 2‐manifolds
- Homotopy problems are undecidable otherwise.
8
Combinatorial surfaces
- A bunch of polygons glued together into a surface
- Graph G embedded on a 2‐manifold Σ so every face is a disk
9
[Riemann 1857; Heawood 1890; Poincaré 1895; Heffter 1898; Dehn Heegaard 1907; Kerékjártó 1923; Radó 1937; Edmonds 1960; Youngs 1963; Gross Tucker 1987 ; Mohar Thomassen 2001]
Combinatorial surfaces
- Edges of G have non‐negative weights
- We consider only walks on (or subgraphs of) the graph G
10
- The internal geometry of faces is irrelevant/undefined
Input parameters
Let n = |V| and assume genus g = O(n1–ε) Euler’s formula |V|–|E|+|F| = 2–2g ⟹ |E| = O(n) and |F| = O(n)
11
[Euler 1726, L'Huilier 1811]
Graph duality
12
Any surface graph G has a natural dual graph G*:
- vertices of G* = faces of G
- edges of G* = edges of G
- faces of G* = vertices of G
u* v*
f* g*
f g
u v
Tree‐cotree decomposition
A partition of the edges of G into three disjoint subsets:
- A spanning tree T
- A spanning cotree C — C* is a spanning tree of G*
- Leftover edges L := E\(C∪T) — Euler’s formula implies |L|=2g
13
[von Staudt 1847; Eppstein 2003]
Tree‐cotree decomposition
A partition of the edges of G into three disjoint subsets:
- A spanning tree T
- A spanning cotree C — C* is a spanning tree of G*
- Leftover edges L := E\(C∪T) — Euler’s formula implies |L|=2g
13
[von Staudt 1847; Eppstein 2003]
Tree‐cotree decomposition
A partition of the edges of G into three disjoint subsets:
- A spanning tree T
- A spanning cotree C — C* is a spanning tree of G*
- Leftover edges L := E\(C∪T) — Euler’s formula implies |L|=2g
13
[von Staudt 1847; Eppstein 2003]
Tree‐cotree decomposition
A partition of the edges of G into three disjoint subsets:
- A spanning tree T
- A spanning cotree C — C* is a spanning tree of G*
- Leftover edges L := E\(C∪T) — Euler’s formula implies |L|=2g
13
[von Staudt 1847; Eppstein 2003]
Optimal homotopy bases
14
- Given a combinatorial surface Σ and a basepoint x∈Σ, find 2g loops
- f minimum total length that generate π1(Σ, x).
Optimal homotopy basis
15
An easy homotopy basis
- Let (T, L, C) be any tree‐cotree decomposition of G
- Computed in O(n) time via depth‐ or breadth‐first search
- For any edge uv∈L, let ℓ(uv) := T[x,u]⋅uv⋅T[v,x]
- T[s,t] = unique path in T from s to t
- Computed in O(1) time per edge
- ℓ(L) := {ℓ(e) | e∈L} is a basis for π1(Σ, x)
- Total construction time: O(n + k) = O(ng)
16
[Eppstein 2003]
A greedy homotopy basis
- Let (T, L, C) be the greedy tree‐cotree decomposition of G
- T := shortest path tree rooted at x
- C* := maximum spanning tree of G* where w(e*) := |ℓ(e)|
- ℓ(L) := {ℓ(e) | e∈L} is the shortest basis for π1(Σ, x)
[Erickson, Whittlesey 2005; Colin de Verdière 2010]
- Textbook algorithms compute T and C* in O(n log n) time
[Dijkstra 1959; Borůvka 1926; Jarník 1930 = Prim 1957; Kruskal 1956]
- If g = O(n1–ε), both T and C* can be computed in O(n) time
[Henzinger, Klein, Rao, Subramanian 1997; Borůvka 1926; Mareš 2004]
17
[Erickson, Whittlesey 2005]
Summary
- Shortest basis of π1(Σ, x) can be computed in O(n + k) = O(gn) time.
- If no basepoint specified, try every basepoint: O(n2) time.
18
Canonical homotopy basis
- A homotopy basis with any fixed incidence pattern (depending
- nly on the genus)
- The shortest homotopy basis is not necessarily canonical!
19
1 2 1 2 3 4 3 4
Canonical homotopy basis
- A canonical homotopy basis with any given basepoint can be
computed in O(gn) time.
[Dey, Schipper 1995; Lazarus, Pocchiola, Vegter, Verroust 2001]
- Given a homotopy basis with complexity k, the shortest homotopic
basis can be computed in O(g4nk4) time.
[Colin de Verdière, Lazarus 2005; Colin de Verdière, Lazarus 2006]
Open: Can the shortest canonical homotopy basis be computed in polynomial time, or is that problem NP‐hard?
20
Optimal homology bases
21
Optimal homology basis
- Given a combinatorial surface Σ, find 2g cycles of minimum total
length that generate H1(Σ).
22
An easy homology basis
- Let (T, L, C) be any tree‐cotree decomposition of G
- Computed in O(n) time via depth‐ or breadth‐first search
- For any edge e∈L, let γ(uv) be the unique cycle in T∪e
- Computed in O(1) time per edge
- {γ(e) | e∈L} is a basis for Η1(Σ)
- Total construction time: O(n + k) = O(ng)
- The shortest homology basis may not have this form.
23
[Eppstein 2003]
Shortest homology basis
- Fix an arbitrary coefficient field R.
- Each cycle in the shortest homology basis over R is also a loop in
the greedy homotopy basis at some basepoint. [Dey, Sun, Wang 2010]
- All O(gn) candidate cycles, along with vectors encoding their
homology classes, can be computed in O(gn2) time.
24
[Erickson, Whittlesey 2005]
- Because H1(Σ; R) is a vector space, finding the shortest basis among
the candidate cycles is a matroid optimization problem.
- Solved by standard greedy algorithm [Kruskal 1956]
- Greedy algorithm runs in O(gn log n + g3 n) time
- Sort homology vectors; use Gaussian elimination to test independence
Shortest homology basis
25
B ← Ø for each candidate cycle γ in increasing length order if γ is linearly independent from B add γ to B
[Erickson, Whittlesey 2005]
- Because H1(Σ; R) is a vector space, finding the shortest basis among
the candidate cycles is a matroid optimization problem.
- Solved by standard greedy algorithm [Kruskal 1956]
- Greedy algorithm runs in O(gn log n + g3 n) time
- Sort homology vectors; use Gaussian elimination to test independence
Shortest homology basis
25
B ← Ø for each candidate cycle γ in increasing length order if γ is linearly independent from B add γ to B
[Erickson, Whittlesey 2005]
- Because H1(Σ; R) is a vector space, finding the shortest basis among
the candidate cycles is a matroid optimization problem.
- Solved by standard greedy algorithm [Kruskal 1956]
- Greedy algorithm runs in O(gn log n + g3 n) time
- Sort homology vectors; use Gaussian elimination to test independence
Shortest homology basis
25
B ← Ø for each candidate cycle γ in increasing length order if γ is linearly independent from B add γ to B
[Erickson, Whittlesey 2005]
Shortest homology basis
- For any combinatorial surface Σ and any field R, the shortest basis
for H1(Σ; R) can be computed in O(gn log n + g3 n) time.
26
[Chen, Friedman 2010; Dey, Sun, Wang 2010]
Shortest homology basis
- For any combinatorial surface Σ and any field R, the shortest basis
for H1(Σ; R) can be computed in O(gn log n + g3 n) time.
- For any simplicial complex Σ and any field R, the shortest basis for
H1(Σ; R) can be computed in O(n4) time.
- Use persistent homology instead of tree/cotree decompositions and explicit
elimination.
26
[Chen, Friedman 2010; Dey, Sun, Wang 2010]
Higher‐dimensional homology
- For any fixed p≥2, for arbitrary complexes Σ, computing the
minimum‐volume basis for Hp(Σ; Z Z2) is NP‐hard.
- volume of p‐cycle = total weight of all p‐cells
27
[Chen, Friedman 2007; Chen, Friedman 2010]
Higher‐dimensional homology
- For any fixed p≥2, for arbitrary complexes Σ, computing the
minimum‐volume basis for Hp(Σ; Z Z2) is NP‐hard.
- volume of p‐cycle = total weight of all p‐cells
- For any p≥2, for arbitrary complexes Σ, the minimum‐radius basis
for Hp(Σ; R) can be computed in polynomial time for any field R.
- radius of p‐cycle = radius of smallest ball containing the cycle
- uses exactly the same greedy approach
27
[Chen, Friedman 2007; Chen, Friedman 2010]
What about Z Z?
Open problem: Can the optimal basis for H1(Σ, Z Z) be computed in polynomial time, or is it NP‐hard?
- The characterization of cycles requires the coefficient ring to be a field!
- The greedy algorithm requires the coefficient ring to be a field!
- H1(Σ, Z
Z) is not a vector space, so a maximal set of linearly independent vectors is not necessarily a basis, even for surfaces.
28
[Erickson, Whittlesey 2005]
Shortest homotopic paths/cycles
29
Shortest homotopic paths
30
- Compute the shortest path π' homotopic to a given path π in a
combinatorial surface Σ.
- The path π' is the projection of the shortest path in the universal
cover Σ~ between the endpoints of any lift π̃ of π.
- This characterization does not immediately give us an algorithm;
the universal cover Σ~ is infinite!
- Instead we need to construct some finite relevant subset of Σ~.
Polygons with holes
(1) Triangulate the polygon, and label each diagonal
31
[Hershberger Snoeyink 1994]
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4
Polygons with holes
(2) Compute the crossing sequence of π
32
[Hershberger Snoeyink 1994] UTSRR21Z4334YXWVTSRQPJIHHHGFCBBAABDEKLMNOPPJ
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4
Polygons with holes
(3) Reduce the crossing sequence of π
33
[Hershberger Snoeyink 1994] UTSRR21Z4334YXWVTSRQPJIHHHGFCBBAABDEKLMNOPPJ UTS21Z44YXWVTSRQPJIHGFCBDEKLMNOJ UTS21ZYXWVTSRQPJIHGFCBDEKLMNOJ
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4
Polygons with holes
(4) Compute the sleeve of the reduced crossing sequence
34
[Hershberger Snoeyink 1994]
The sleeve is the relevant subset of the universal cover!
Polygons with holes
(5) Compute the shortest path in the sleeve between endpoints of π
35
[Hershberger Snoeyink 1994]
Use standard “funnel” algorithm
[Chazelle 1982; Lee, Preparata 1984]
Polygons with holes
- Given a polygonal path π with k segments in a polygon P with
holes, the shortest path in P homotopic to π can be computed in O(n log n + kn) time.
- Building the initial triangulation takes O(n log n) time.
- Everything else takes O(kn) time.
- A similar algorithm finds the shortest cycle freely homotopic to a
given cycle, in the same time bound.
36
[Hershberger Snoeyink 1994]
Combinatorial surfaces
Given a path π with k edges in a combinatorial surface Σ, the shortest path homotopic to π can be found in O(gn(log n + k)) time. (1) Build a tight hexagonal decomposition of Σ — O(gn log n) time (2)Reduce the path π — O(gnk) time (3)Build relevant region of Σ~ — O(gnk) time (4)Find the shortest path in the relevant region — O(gnk) time
37
[Colin de Verdière, Erickson 2006]
Tight hexagonal decomposition
4g cycles, each as short as possible in its free homotopy class, that decompose Σ into “right‐angled hexagons”
38
[Colin de Verdière, Erickson 2006]
Universal cover
39
[Colin de Verdière, Erickson 2006]
40
M. C. Escher, Circle Limit IV: Heaven and Hell (1960)
Universal cover
40
M. C. Escher, Circle Limit IV: Heaven and Hell (1960)
Universal cover
Relevant region
41
[Colin de Verdière, Erickson 2006]
Relevant region
41
[Colin de Verdière, Erickson 2006]
Relevant region
42
[Colin de Verdière, Erickson 2006]
Relevant region
42
[Colin de Verdière, Erickson 2006]
Relevant region
42
[Colin de Verdière, Erickson 2006]
Summary
- Given a path π with k edges in a combinatorial surface Σ, the
shortest path homotopic to π can be found in O(gn(log n + k)) time.
- A similar algorithm computes the shortest cycle freely homotopic
to a given cycle in O(gnk log nk) time.
43
[Colin de Verdière, Erickson 2006]
Shortest homologous cycles
44
What coefficients?
45
What coefficients?
45
Optimal homology bases:
- Polynomial time for H1 with field coefficients (like Z
Z2 or IR)
- NP‐hard for higher‐dimensional homology with Z
Z2 coefficients
- Open for H1 with Z
Z coefficients, even for surfaces
What coefficients?
45
Optimal homology bases:
- Polynomial time for H1 with field coefficients (like Z
Z2 or IR)
- NP‐hard for higher‐dimensional homology with Z
Z2 coefficients
- Open for H1 with Z
Z coefficients, even for surfaces
Optimal homologous cycles:
- NP‐hard for H1 with Z
Z2 coefficients, even for surfaces
- NP‐hard for H1 with Z
Z coefficients
- Polynomial time for any dimension with IR coefficients
- Polynomial time for manifolds of any dimension with Z
Z coefficients
Shortest Z Z2‐homologous cycles
46
Z Z2‐Homology
47
- 1‐chain = subgraph of 1‐skeleton
- 1‐cycle = even subgraph of 1‐skeleton
- 1‐boundary = boundary of the union of 2‐cells
- Two even subgraphs are homologous iff their symmetric difference
is a boundary subgraph
Shortest Z Z2‐homologous “cycles”
48
- Given a {cycle, closed walk, even subgraph} γ in a combinatorial
surface, find the {cycle, closed walk, even subgraph} of minimum length in the Z Z2‐homology class of γ.
- Unfortunately, every variant is NP‐hard!
[Chambers, Colin de Verdière, Erickson, Lazarus, Whittlesey 2006; Chambers, Erickson, Nayyeri 2009]
- But solvable in 2O(g)n log n time. [Erickson, Nayerri 2011]
NP‐hard
49
Hamiltonian cycle in grid graphs
[Chambers, Colin de Verdière, Erickson, Lazarus, Whittlesey 2006]
Z Z2‐homology cover ΣQ
The unique connected covering space of Σ whose group of deck transformations is Η1(Σ; Z Z2).
- Cut Σ along any system of loops ℓ1, ℓ2, ..., ℓ2g into a disk D.
- Make 22g copies (D,h) of D, one for each homology class h ∈ Η1(Σ; Z
Z2) = (Z Z2)2g.
- For each class h and index i, glue (D, h) to (D, h⊕2i) along ℓi.
- Σ• has n̄ = 22gn vertices (v, h) and genus ḡ = 22g(g–1)+1.
50
[Erickson, Nayerri 2011]
Z Z2‐homology cover ΣQ
51
00 10 01 11
1 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
00 11 01 10
1 1 1 1 2 2 2 2
[Erickson, Nayerri 2011]
The unique connected covering space of Σ whose group of deck transformations is Η1(Σ; Z Z2).
Shortest Z Z2‐homologous closed walks
- Every closed walk ω in Σ through a vertex v is the projection of a
walk ω̄ from (v,0) to (v,[ω]) in Σ•.
- The shortest closed walk in Σ in class h is the projection of the
shortest path in Σ• from any node (v,o) to corresponding node (v,h)
- n independent shortest path computations: O(n n̄) = O(22g n2) time.
[Henzinger, Klein, Rao, Subramanian 1997]
- parametric shortest path data structures: O(g ḡ n̄ log n̄) = 2O(g) n log n time.
[Cabello, Chambers, Erickson 2011]
52
[Erickson, Nayerri 2011]
More general spaces
- In more general simplicial complexes, shortest homologous even
subgraphs are NP‐hard to approximate to any constant factor, even when β1 = 1.
[Chen Freedman 2010]
53
Shortest IR‐ and Z Z‐homologous “cycles”
54
IR‐chains
55
- Fix a finite cell complex X of any dimension and a non‐negative
integer p≥1.
- Let m = #p‐cells and n = #(p+1)‐cells.
- Real p‐chains can be identified by real vectors c = (c1, c2, ..., cm) ∈ IRm
- The weight of a p‐chain is ||c||1 = Σi |ci|
Minimum‐weight IR‐homologous chains
56
- Problem: Given a real p‐chain c in some cell complex X, compute
the minimum‐weight p‐chain x that is IR‐homologous to c.
- This problem can be solved in polynomial time by expressing it as a
linear programming problem.
[Sullivan 1990; Dey, Hirani, Krishnamoorthy 2010]
IR‐homology linear program
57
- c ∈ IRm — input p‐chain
- x = x+ – x– ∈ IRm — output p‐chain
- y ∈ IRn — (p+1)‐chain
- [∂] ∈ IRm×n — boundary matrix
minimize Σi (xi+ + xi–) subject to x+ – x– = c + [∂]y x+, x– ≥ 0
[Sullivan 1990; Dey, Hirani, Krishnamoorthy 2010]
Minimum‐weight Z Z‐homologous chains
58
- Switching from IR‐homology to Z
Z‐homology makes the problem NP‐hard. [Hirani, Dunfield 2010]
- It can be formulated as an integer programming problem:
minimize Σi (xi+ + xi–) subject to x+ – x– = c + [∂]y x+, x– ≥ 0 x+, x– ∈ Z Zm y ∈ Z Zm
[Sullivan 1990; Dey, Hirani, Krishnamoorthy 2010]
Total unimodularity
- A matrix is totally unimodular if every square minor has
determinant –1, 0, or 1.
- If A is totally unimodular, then for any integer vector b, every
vertex of the polyhedron {x | Ax ≤ b} has integer coordinates.
- If the constraint matrix for a linear program is totally unimodular,
its solution is an integer vector.
59
[Veinott, Dantzig 1968]
Total unimodularity
- The boundary matrix [∂p+1] of a cell complex X is totally unimodular
if and only if Hp(Y, Z) is torsion‐free for all pure subcomplexes Z⊂Y⊆X with dim Y = p+1 and dim Z = p.
- This condition can be checked in polynomial time. [Seymour 1980]
- Satisfied by any orientable (p+1)‐manifold with boundary.
- If X meets this condition, then optimal Z
Z‐homologous chains in X can be found in polynomial time by linear programming.
60
[Dey, Hirani, Krishnamoorthy 2010]
IReal 1‐cycles
- Real 1‐chain = function φ:E→IR
- Assigns a direction and non‐negative value to each edge
- Boundary ∂φ(v) := Σu∈V φ(u→v) – Σw∈V φ(v→w)
- Real 1‐cycle = function φ:E→IR such that ∂φ=0
- Graph theory/algorithms/optimization people call this a circulation.
61
Minimum‐cost circulations
- Directed graph G = (V, E) where every edge e∈E has a non‐negative
capacity c(e) and a cost $(e)
- A feasible circulation in G is a function φ:E→IR satisfying...
- capacity constraint: 0 ≤ φ(e) < c(e) for every edge e∈E
- conservation constraint: Σu∈V φ(u→v) = Σw∈V φ(v→w) for every vertex v∈V
- The cost of a circulation φ is $(φ) = Σe∈E $(e)⋅φ(e)
- The feasible circulation of minimum cost can be computed in
polynomial time [Tardos 1985; Goldberg, Tarjan 1989]
62
Orientable manifolds
- If X is an orientable (p+1)‐manifold, the dual of the IR‐homology
linear program describes a minimum‐cost circulation problem.
- G = dual 1‐skeleton of X
- n vertices dual to (p+1)‐cells
- m directed edges dual to oriented p‐cells
- every edge has capacity 1
- cost of each edge is the coefficient of c for corresponding p‐cell
- So optimal Z
Z‐homologous chains in orientable manifolds can be computed in polynomial time via circulation algorithms.
- Much faster than generic LP algorithms, both in theory and in practice.
63
[Sullivan 1990]
Maximum flows in surface graphs
64
Maximum flows
65
- Directed graph G = (V, E), capacity function c:E→IR+, two vertices s,t
- A feasible (s,t)‐flow in G is a function φ:E→IR satisfying...
- capacity constraint: 0 ≤ φ(e) < c(e) for every edge e∈E
- conservation constraint: Σu∈V φ(u→v) = Σw∈V φ(v→w) for every vertex v∈V\{s,t}
- Flow φ has value |φ| = Σw∈V φ(s→w) – Σu∈V φ(u→s)
- A circulation is just a flow with value 0
- A flow is just a relative 1‐cycle
- We want a feasible (s,t)‐flow with maximum value.
[Ford Fulkerson 1955]
Maximum flows
66
[Harris Ross ’55, Ford Fulkerson ‘56]
/54
Maximum flows
67
How much water can we inject at s and extract at t? s t
[“Blush” prototype radiator design by Thorunn Arnadottir]
Maximum flow algorithms
- In graphs with n vertices and O(n) edges:
- O(n2 log n) time [Sleator, Tarjan 1983; Goldberg Tarjan 1988; Goldberg, Grigoriadis,
Tarjan 1991; Hochbaum 2008]
- O(n3/2 log n log U) time for integer capacities less than U
[Goldberg, Rao 1998]
- In planar graphs:
- Undirected: O(n log log n) time [Wulff‐Nilsen 2010; Italiano, Sankowski 2010]
- Only recently improved from O(n log n) time [Reif 1983; Hassin Johnson 1985; Frederickson 1987]
- Directed: O(n log n) time [Borradaile, Klein 2009; Erickson 2010]
68
Cocycles
- Suppose G is embedded on an orientable surface Σ
- A cocycle is a subgraph λ of G dual to a directed cycle λ* in G*
- Define φ(λ) = Σe∈γ φ(e) and c(λ) = Σe∈γ c(e)
69
[Chambers, Erickson, Nayyeri 2009]
Homologous flows
- An (s,t)‐flow φ is just a real 1‐chain with boundary |φ|(t–s)
- Easy lemma: Flows φ and ψ are homologous iff φ(λ) = ψ(λ) for
every cocycle λ.
- Set of homology classes of flows is the relative homology group
H1(Σ, {s,t}) = IR2g+1
70
[Chambers, Erickson, Nayyeri 2009]
Feasible homology class
- A homology class of flows is feasible if it contains a feasible flow
- Lemma: The homology class [φ] is feasible if and only if φ(λ) ≤ c(λ)
for every cocycle λ.
- Feasibility of [φ] can be tested in O(g2 n log2 n) time
- Shortest path algorithm in the dual residual network G*
φ
- Finds either a feasible flow homologous to φ or a cocycle that φ overflows.
71
[Venkatesan ’83 (planar); Klein, Mozes, Weimann 2009 (planar); Chambers, Erickson, Nayyeri 2009]
Linear programming, again
- Represent flow homology classes [φ] as vectors in IR2g+1
- φ(λ) ≤ c(λ) is a linear constraint on the homology vector [φ]
- Flow value |φ| is a linear function of the homology vector [φ]
- So finding the feasible flow homology class of maximum value is a
linear programming problem
72
[Chambers, Erickson, Nayyeri 2009]
Linear programming, again
Finding the feasible homology class of maximum value is a linear programming problem
- Good news: Only 2g+1 variables!
- The feasible homology polytope is just the projection of the feasible flow
polytope into IR2g+1
- Bad news: nO(g) non‐redundant constraints — too big to solve
explicitly!
73
[Chambers, Erickson, Nayyeri 2009]
Linear programming, again
We have a membership/separation oracle that runs in O(g2 n log2 n) time, so we can solve the flow homology LP implicitly:
- O(g8 n log4 n log2 C) time for integer capacities that sum to C,
via central‐cut ellipsoid method
[Shor Nemirovsky Yudin ‘72; Khachiyan ‘79; Grötschel Lovász Schrijver ‘81, ‘93]
- gO(g) n3/2 time via multidimensional parametric search
[Cohen ‘91; Cohen Megiddo ‘93; Norton Plotkin Tardos ‘92; Agarwal Sharir Toledo ‘93]
74
[Chambers, Erickson, Nayyeri 2009]
Flows in surface graphs
- Maximum flows in surface‐embedded graphs can be computed in
O(g8 n log4 n log2 C) time for integer capacities, or in gO(g) n3/2 time for arbitrary capacities.
- Faster than sparse‐graph algorithms by O(n1/2) when g = O(1).
- Similar algorithms compute minimum‐cost circulations in the same
time bounds.
- Dual algorithms compute minimum‐weight IR‐ or Z
Z‐homologous circulations in combinatorial surfaces in the same time bounds.
75
Thank you!
76