Optimizing Cycles and Bases AMS Short Course on Computational Topology January 5, 2011 Jeff Erickson Computer Science Department University of Illinois at Urbana‐Champaign 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 H 1 ( X ) ‣ Minimum‐weight set of k ‐cycles that generate H k ( 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 [Dey, Sun, Cohen‐Steiner 2008] 3
Motivation: surface parameterization [Tong, Alliez, Cohen‐Steiner, Desbrun 2006] 4
Motivation: planar embedding 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. [Borradaile Indyk Lee Sidiropoulos ’07–‘10] 5
Motivation: minimal surfaces The minimum‐area surface bounded by a knot K is the minimum‐cost 2‐ chain homologous to any surface bounded by K [Sullivan 1990; Dunfield, Hirani 2010] 6
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 [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] 9
Combinatorial surfaces ‣ Edges of G have non‐negative weights ‣ We consider only walks on (or subgraphs of) the graph G ‣ The internal geometry of faces is irrelevant/undefined 10
Input parameters Let n = | V | and assume genus g = O( n 1–ε ) Euler’s formula | V| –| E| +| F| = 2–2 g ⟹ | E | = O( n ) and | F | = O( n ) [Euler 1726, L'Huilier 1811] 11
Graph duality 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 v v* f g f* g* u* u 12
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 |=2 g [von Staudt 1847; Eppstein 2003] 13
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 |=2 g [von Staudt 1847; Eppstein 2003] 13
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 |=2 g [von Staudt 1847; Eppstein 2003] 13
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 |=2 g [von Staudt 1847; Eppstein 2003] 13
Optimal homotopy bases 14
Optimal homotopy basis ‣ Given a combinatorial surface Σ and a basepoint x ∈ Σ, find 2 g loops of minimum total length that generate π 1 (Σ, x ). 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 ) [Eppstein 2003] 16
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( n 1–ε ), both T and C * can be computed in O( n ) time [Henzinger, Klein, Rao, Subramanian 1997; Borůvka 1926; Mareš 2004] 17
Summary ‣ Shortest basis of π 1 (Σ, x ) can be computed in O( n + k ) = O( gn ) time. ‣ If no basepoint specified, try every basepoint: O( n 2 ) time. [Erickson, Whittlesey 2005] 18
Canonical homotopy basis ‣ A homotopy basis with any fixed incidence pattern (depending only on the genus) ‣ The shortest homotopy basis is not necessarily canonical! 3 4 2 1 3 2 4 1 19
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( g 4 nk 4 ) 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 2 g cycles of minimum total length that generate H 1 (Σ). 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. [Eppstein 2003] 23
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( gn 2 ) time. [Erickson, Whittlesey 2005] 24
Shortest homology basis ‣ Because H 1 (Σ; 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] B ← Ø for each candidate cycle γ in increasing length order if γ is linearly independent from B add γ to B ‣ Greedy algorithm runs in O( gn log n + g 3 n ) time ‣ Sort homology vectors; use Gaussian elimination to test independence [Erickson, Whittlesey 2005] 25
Recommend
More recommend