Computing Optimal Graphs on SurfacesComputing Optimal Graphs on Surfaces
Jeff Erickson
University of Illinois at Urbana-Champaign
Jeff Erickson
University of Illinois at Urbana-Champaign
2
Optimal subgraphsOptimal subgraphs
Given a weighted undirected graph, find an optimal (weighted) subgraph with some desired combinatorial structure.
Minimum spanning treeShortest pathsShortest cycle (girth)Perfect matchingMaximum flowMinimum cutHamiltonian path/cycleSteiner tree
Given a weighted undirected graph, find an optimal (weighted) subgraph with some desired combinatorial structure.
Minimum spanning treeShortest pathsShortest cycle (girth)Perfect matchingMaximum flowMinimum cutHamiltonian path/cycleSteiner tree
3
Optimal geometric graphsOptimal geometric graphsGiven a set of points in the plane, find an
optimal geometric graph with some desired combinatorial or geometric structure
closest pair / diameterconvex hullDelaunay triangulation/Voronoi diagram
Gabriel graph, EMST, β-skeleta, α-shapes, crust, ...
minimum weight triangulationEuclidean minimum matching, TSP, Steiner tree, ...Fermat-Weber problem
Given a set of points in the plane, find an optimal geometric graph with some desired combinatorial or geometric structure
closest pair / diameterconvex hullDelaunay triangulation/Voronoi diagram
Gabriel graph, EMST, β-skeleta, α-shapes, crust, ...
minimum weight triangulationEuclidean minimum matching, TSP, Steiner tree, ...Fermat-Weber problem
4
Why do we care?Why do we care?
The problems are easy to state.
Some are easy; some are hard; some are impossible; some are open.
The easy problems are incredibly useful for deriving more complex algorithms.
The hard problems are equally useful for proving lower bounds.
The problems are easy to state.
Some are easy; some are hard; some are impossible; some are open.
The easy problems are incredibly useful for deriving more complex algorithms.
The hard problems are equally useful for proving lower bounds.
5
Optimal surface graphsOptimal surface graphs
Given a surface, find an optimal embedded graph with some desired combinatorial, geometric, or topological structure.
Given a surface, find an optimal embedded graph with some desired combinatorial, geometric, or topological structure.
6
What’s a surface?What’s a surface?
7
What’s a surface?What’s a surface?
8
No really, what’s a surface?No really, what’s a surface?
A 2-manifold is a topological space in which every point lies in an open neighborhood homeomorphic to the plane.
Equivalently, a 2-manifold is a collection of triangles whose edges are glued together in pairs.
[Dehn, Heegaard ‘07; Radó ‘37]
A 2-manifold is a topological space in which every point lies in an open neighborhood homeomorphic to the plane.
Equivalently, a 2-manifold is a collection of triangles whose edges are glued together in pairs.
[Dehn, Heegaard ‘07; Radó ‘37]
9
Combinatorial surfaceCombinatorial surface
An abstract 2-manifold M and a weighted graph G embedded on M so that every face is a disk.
Consider only curves that are walks in G.
The length of a curve is the sum of the weights of its edges.
An abstract 2-manifold M and a weighted graph G embedded on M so that every face is a disk.
Consider only curves that are walks in G.
The length of a curve is the sum of the weights of its edges.
10
ExampleExample
11
Shortest pathsShortest paths
Shortest paths are defined in the standard graph-theoretic sense.
O(n log n) time [Dijkstra 53]
O(n) if genus is o(n1-ε) [Henzinger et al. 97]
Shortest paths are defined in the standard graph-theoretic sense.
O(n log n) time [Dijkstra 53]
O(n) if genus is o(n1-ε) [Henzinger et al. 97]
12
Single cyclesSingle cycles
13
CyclesCycles
A cycle is non-contractible if it cannot be continuously deformed to a point.
A simple cycle is non-contractible if it does not bound a disk.
A simple cycle γ is non-separating if M\γ is connected
A cycle is non-contractible if it cannot be continuously deformed to a point.
A simple cycle is non-contractible if it does not bound a disk.
A simple cycle γ is non-separating if M\γ is connected
14
CyclesCycles
non-separatingnon-separating contractiblecontractiblenon-contractibleseparating
non-contractibleseparating
15
The 3-path propertyThe 3-path propertyFor any three paths with the same
endpoints, if two of the cycles they form are separating then the third cycle is also separating.
For any three paths with the same endpoints, if two of the cycles they form are separating then the third cycle is also separating.
16
The shortest non-separating cycle consists of two shortest paths between any pair of antipodal points.
The shortest non-separating cycle consists of two shortest paths between any pair of antipodal points.
The 3-path propertyThe 3-path property
Otherwise, the actual shortest path would create a shorter non-separating cycle.
Otherwise, the actual shortest path would create a shorter non-separating cycle.
17
Shortest nontrivial cyclesShortest nontrivial cycles
3-path property ⇒ O(n3) [Mohar Thomassen 98]
Dijkstra ⇒ O(n2 log n) [E Har-Peled 02]
O(n3/2 log n) for constant genus [Cabello Mohar 05]
Problem 1: O(n log n) for constant genus?
Problem 2: o(n2) in general?
3-path property ⇒ O(n3) [Mohar Thomassen 98]
Dijkstra ⇒ O(n2 log n) [E Har-Peled 02]
O(n3/2 log n) for constant genus [Cabello Mohar 05]
Problem 1: O(n log n) for constant genus?
Problem 2: o(n2) in general?
18
Shortest separating cycle?Shortest separating cycle?
Problem 3: Is it NP-hard to find the shortest non-contractible separating cycle?
The 3-path property no longer holds.
The cycle is not necessarily simple.
Finding a simple cycle that splits the genus exactly in half is NP-hard. [Cabello, Colin de Verdière]
Problem 3: Is it NP-hard to find the shortest non-contractible separating cycle?
The 3-path property no longer holds.
The cycle is not necessarily simple.
Finding a simple cycle that splits the genus exactly in half is NP-hard. [Cabello, Colin de Verdière]
19
Cut graphsCut graphs
20
Cut graphsCut graphsA subgraph H of G is a cut graph if M\H is a
topological disk.A subgraph H of G is a cut graph if M\H is a
topological disk.
21
Computing the shortest cut graph is NP-hard, by a reduction from rectilinear Steiner tree.[E Har-Peled 02]
Computing the shortest cut graph is NP-hard, by a reduction from rectilinear Steiner tree.[E Har-Peled 02]
Shortest cut graphShortest cut graph
Hanan gridHanan grid
22
Shortest cut graphShortest cut graph
O(n12g+6b-4) time for surfaces with genus g and b boundaries
O(log2 g)-approximation in O(g2n log n) time.
[E Har-Peled 02]
Problem 4: Tighten the approximation factor
Problem 5: How good an approximation can be computed in O(n log n) time?
O(n12g+6b-4) time for surfaces with genus g and b boundaries
O(log2 g)-approximation in O(g2n log n) time.
[E Har-Peled 02]
Problem 4: Tighten the approximation factor
Problem 5: How good an approximation can be computed in O(n log n) time?
23
Partial cut graphPartial cut graphProblem 5: Is it NP-hard to compute the shortest graph H such that M\H has genus 0 (but possibly several boundaries)?
Problem 5: Is it NP-hard to compute the shortest graph H such that M\H has genus 0 (but possibly several boundaries)?
24
System of loopsSystem of loops
A cut graph with one vertex, or equivalently,a set of 2g loops through a common basepoint
A cut graph with one vertex, or equivalently,a set of 2g loops through a common basepoint
25
Shortest system of loopsShortest system of loops
The shortest system of loops with a given basepoint can be computed by a simple greedy algorithm in O(n log n + k) time, where k=O(gn) is the output size.
The shortest overall system of loops can be computed in O(n2log n) time.
[E Whittlesey 05]
The shortest system of loops with a given basepoint can be computed by a simple greedy algorithm in O(n log n + k) time, where k=O(gn) is the output size.
The shortest overall system of loops can be computed in O(n2log n) time.
[E Whittlesey 05]
26
Canonical system of loopsCanonical system of loopsA system of loops with a fixed incidence
pattern (depending only on the genus)A system of loops with a fixed incidence
pattern (depending only on the genus)
1 2 1 2 3 4 3 41 2 1 2 3 4 3 4
1122
3344
33
44
2211
27
Canonical system of loopsCanonical system of loops
The shortest system of loops is not necessarily canonical!
The shortest system of loops is not necessarily canonical!
1 2 3 1 2 4 3 41 2 3 1 2 4 3 4
1122
33
44
3344
2211
28
Canonical system of loopsCanonical system of loops
Problem 6: How quickly can we construct the shortest canonical system of loops?
A canonical system of loops can be computed in O(gn) time.[Dey, Schipper 95; Lazarus et al. 01]
Problem 6: How quickly can we construct the shortest canonical system of loops?
A canonical system of loops can be computed in O(gn) time.[Dey, Schipper 95; Lazarus et al. 01]
29
Tightening a system of loops
Tightening a system of loops
Given a system of loops of complexity k, the shortest system in the same homotopy class can be computed in O(g4nk4) time.[Colin de Verdiére, Lazarus 02; Colin de Verdiére, E 05]
Unfortunately, this does not give us the shortest canonical system!
Given a system of loops of complexity k, the shortest system in the same homotopy class can be computed in O(g4nk4) time.[Colin de Verdiére, Lazarus 02; Colin de Verdiére, E 05]
Unfortunately, this does not give us the shortest canonical system!
30
HomotopyHomotopy
31
Two paths are homotopic if one can be continuously deformed into the other, keeping the endpoints fixed at all times.
Two paths are homotopic if one can be continuously deformed into the other, keeping the endpoints fixed at all times.
HomotopyHomotopy
32
Shortest homotopic pathShortest homotopic path
Given a path π of complexity k, the shortest path homotopic to π can be computed in time O(gn(log n + k)).[Colin de Verdiére, E 05]
Cut the surface into identical polygons with a collection of tight cycles: O(gn log n)
Glue polygons crossed by the path into a relevant region of the universal cover: O(gnk)
Find shortest path in the relevant region: O(gnk)
Given a path π of complexity k, the shortest path homotopic to π can be computed in time O(gn(log n + k)).[Colin de Verdiére, E 05]
Cut the surface into identical polygons with a collection of tight cycles: O(gn log n)
Glue polygons crossed by the path into a relevant region of the universal cover: O(gnk)
Find shortest path in the relevant region: O(gnk)
33
Hexagonal decompositionHexagonal decomposition
Universal coverUniversal cover
35M. C. Escher, Circle Limit IV: Heaven and Hell (1960)M. C. Escher, Circle Limit IV: Heaven and Hell (1960)
The relevant regionThe relevant region
37
Shortest homotopic cycleShortest homotopic cycle
Two cycles are homotopic if one can be continuously deformed into the other.
The shortest cycle homotopic to a given cycle can be computed in time O(gnk log nk).[Colin de Verdiére, E 05]
Like shortest homotopic path, but the relevant region is now an annulus.
Two cycles are homotopic if one can be continuously deformed into the other.
The shortest cycle homotopic to a given cycle can be computed in time O(gnk log nk).[Colin de Verdiére, E 05]
Like shortest homotopic path, but the relevant region is now an annulus.
38
Pants decompositionsPants decompositions
39
Pants decompositionPants decompositionMaximal collection of simple, pairwise non-
homotopic cycles
Euler’s formula ⇒ 3g-3 cycles, decomposing the surface into 2g-2 pairs of pants
Maximal collection of simple, pairwise non-homotopic cycles
Euler’s formula ⇒ 3g-3 cycles, decomposing the surface into 2g-2 pairs of pants
40
Shortest pants decompositionShortest pants decomposition
Problem 8: How quickly can we construct the shortest pants decomposition? Is it NP-hard?
The shortest pants decomposition homotopic to a given pants decomposition can be computed in time O(g2nk log nk) by tightening each cycle separately.[Colin de Verdiére, E 05]
Problem 8: How quickly can we construct the shortest pants decomposition? Is it NP-hard?
The shortest pants decomposition homotopic to a given pants decomposition can be computed in time O(g2nk log nk) by tightening each cycle separately.[Colin de Verdiére, E 05]
41
Pants clusteringPants clusteringThis problem is open even when the
“surface” is just the plane minus a finite set of points!
This problem is open even when the “surface” is just the plane minus a finite set of points!
Goal: Minimize the total length of the clustering curves
Goal: Minimize the total length of the clustering curves
42
Pants clustering?Pants clustering?
Problem 8.1: How quickly can we construct the minimum-length pants clustering of a point set? Is it NP-hard?
Assume L1 or L∞ metric to avoid nasty numerical problems ⇒ minimum rectilinear pants clustering
Problem 8.1: How quickly can we construct the minimum-length pants clustering of a point set? Is it NP-hard?
Assume L1 or L∞ metric to avoid nasty numerical problems ⇒ minimum rectilinear pants clustering
“Spongebob’s Problem”“Spongebob’s Problem”
43
The greedy algorithm fails even in 1D
If points are collinear, optimal clusters are intervals ⇒ O(n2) time [E, Everett, Lazard, Lazarus]
O(1)-approximation in O(n log n) time via compressed quadtrees [Eppstein]
Optimal curves are not necessarily rectangles
Problem 8.1.1: Are the optimal curves convex?
The greedy algorithm fails even in 1D
If points are collinear, optimal clusters are intervals ⇒ O(n2) time [E, Everett, Lazard, Lazarus]
O(1)-approximation in O(n log n) time via compressed quadtrees [Eppstein]
Optimal curves are not necessarily rectangles
Problem 8.1.1: Are the optimal curves convex?
Partial results:Partial results:
44
Maximal non-separating set of non-homotopic cycles, one for each “hole”
(Also half of a homology basis)
Maximal non-separating set of non-homotopic cycles, one for each “hole”
(Also half of a homology basis)
“Holy basis”“Holy basis”
45
Handle decompositionHandle decompositionMaximal set of non-homotopic non-
contractible separating cycles, separating the “handles”
Maximal set of non-homotopic non-contractible separating cycles, separating the “handles”
46
There are lots of interesting graphs that can be defined on any topological surface.
In most cases, we know almost nothing about finding optimal graphs: neither algorithms nor hardness results. Lots of fun open problems!
Are any of these really useful?Who knows? (But then again, who cares?)
There are lots of interesting graphs that can be defined on any topological surface.
In most cases, we know almost nothing about finding optimal graphs: neither algorithms nor hardness results. Lots of fun open problems!
Are any of these really useful?Who knows? (But then again, who cares?)
SummarySummary
47
Thank you!Thank you!