96
Finding Small Holes: A brief foray into computational topology Jeff Erickson University of Illinois, Urbana-Champaign http://www.cs.uiuc.edu/~jeffe/

Finding Small Holes · 2015. 12. 7. · Thanks Collaborators: Bojan Mohar Éric Colin de Verdière Erin Chambers Francis Lazarus Kim Whittlesey Martin Kutz Matt deVos Pratik Worah

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Finding Small Holes:A brief foray into computational topology

    Jeff EricksonUniversity of Illinois, Urbana-Champaign

    http://www.cs.uiuc.edu/~jeffe/

    http://www.cs.uiuc.edu/~jeffe/http://www.cs.uiuc.edu/~jeffe/

  • Finding Small Holes:A brief foray into computational topology

    Jeff EricksonUniversity of Illinois, Urbana-Champaign

    http://www.cs.uiuc.edu/~jeffe/

    very

    ^

    http://www.cs.uiuc.edu/~jeffe/http://www.cs.uiuc.edu/~jeffe/

  • Thanks

    Collaborators:Bojan Mohar

    Éric Colin de VerdièreErin ChambersFrancis LazarusKim WhittleseyMartin KutzMatt deVosPratik WorahRob Ghrist

    Sariel Har-PeledSergio CabelloVin de Silva

    National Science Foundation (CCR-0093348 and DMS-0528086)

    2

  • Topology

    A topologist is a device for turning donuts into theorems.

    3

  • Computational topology

    A computational topologist is a device for turning donuts into algorithms.

    4

  • Contractible cycles

    ‣ A cycle is a closed curve.

    ‣ A cycle in topological space X is contractible if and only if it can be continuously deformed within X to a single point.

    5

  • Contractible cycles

    ‣ A cycle is a closed curve.

    ‣ A cycle in topological space X is contractible if and only if it can be continuously deformed within X to a single point.

    contractible

    5

  • Contractible cycles

    ‣ A cycle is a closed curve.

    ‣ A cycle in topological space X is contractible if and only if it can be continuously deformed within X to a single point.

    non-contractiblenon-contractible

    non-contractible

    contractible

    5

  • ‣ A cycle in topological space X is a continuous function γ :S1→X.

    ‣ Two cycles γ and γ' are homotopic if there is a continuous function h:[0,1]×S1→X such that h(0,θ) = γ(θ) and h(1,θ) = γ'(θ) for all θ.

    ‣ A contractible cycle is homotopic to a constant cycle.

    More formally...

    6

  • Given a topological metric space, find its shortest non-contractible cycle.

    7

  • Surface reconstruction

    8

  • Surface reconstruction

    point cloud

    scanobject

    8

  • Surface reconstruction

    point cloud

    scanobject

    reconstructsurface

    8

  • Topological noise

    An Out-of-core Algorithm for Isosurface Topology

    Simplification

    Zoë Wood

    Caltech

    Hugues Hoppe

    Microsoft Research

    Mathieu Desbrun

    U. of So. Cal.

    Peter Schröder

    Caltech

    Many high-resolution surfaces are created through isosurface extraction from volumetric repre-sentations, obtained by 3D photography, CT, or MRI. Noise inherent in the acquisition processcan lead to geometrical and topological errors. Reducing geometrical errors during reconstructionis well studied. However, isosurfaces often contain many topological errors in the form of tinyhandles. These nearly invisible artifacts hinder subsequent operations like mesh simplification,remeshing, and parametrization. In this paper we present an efficient method for removing han-dles in an isosurface. Our algorithm makes an axis-aligned sweep through the volume to locatehandles, compute their sizes, and selectively remove them. The algorithm is designed for out-of-core execution. It finds the handles by incrementally constructing and analyzing a surface Reebgraph. The size of a handle is measured by a short surface loop that breaks it. Handles areremoved robustly by modifying the volume rather than attempting “mesh surgery.” Finally, thevolumetric modifications are spatially localized to preserve geometrical detail. We demonstratetopology simplification on several complex models, and show its benefit for subsequent surfaceprocessing.

    Categories and Subject Descriptors: I.3.0 [Computer Graphics]:

    General Terms: Algorithms, Performance

    Additional Key Words and Phrases: topological artifacts, genus reduction, surface reconstruction,marching cubes.

    1. INTRODUCTION

    Highly accurate geometric models of physical objects are often acquired through discrete

    scanning techniques. For example, models are commonly obtained using laser range scan-

    ners, computed tomography (CT) or magnetic resonance imaging (MRI). Laser range scan-

    ners achieve full coverage of complex objects by acquiring and merging multiple scans.

    Many surface reconstruction algorithms perform the merging of scanned data using a vol-

    umetric grid representation, in which the model is represented as the zero-contour of its

    sampled distance function, i.e., as an isosurface [Curless and Levoy 1996; Hilton et al.

    1996; Hoppe et al. 1992; Levoy and others 2000]. Similarly, CT or MRI produce data

    volumes from which isosurfaces are extracted [Lorensen and Cline 1987].

    Fig. 1. Sequence of progressively closer views revealing an extraneous handle in the Buddha mesh.

    ACM Transactions on Graphics, Vol. V, No. N, Month 20YY, Pages 1–??.

    [Wood, Hoppe, Desbrun, Schröder ’04]

    Measurement errors in the scanned data introduce extra handles/tunnels to the reconstructed surface.

    9

  • Topological noise

    [Wood, Hoppe, Desbrun, Schröder ’04]

    ‣ These extra tunnels make compression difficult — remove them!

    genus 104 genus 10450K vertices

    genus 650K vertices

    10

  • Other applications

    11

  • Other applications

    ‣ Fixed-parameter algorithms for generalizations of planar graphs‣ representativity [Robertson, Seymour 87]; edge-width [Thomassen 90; Mohar, Thomassen 99]‣ PTAS for TSP in graphs of genus g [Demaine, Hajiaghayi, Mohar ’07]‣ Determine in O(n) time if a graph has crossing number ≤k. [Kawarabayashi, Reed ’07]

    11

  • Other applications

    ‣ Fixed-parameter algorithms for generalizations of planar graphs‣ representativity [Robertson, Seymour 87]; edge-width [Thomassen 90; Mohar, Thomassen 99]‣ PTAS for TSP in graphs of genus g [Demaine, Hajiaghayi, Mohar ’07]‣ Determine in O(n) time if a graph has crossing number ≤k. [Kawarabayashi, Reed ’07]

    ‣ First step of other topological graph algorithms‣ Approximate the minimum-length graph cutting a surface into a disk. [E, Har-Peled ’04]‣ Find the minimum-length homotopy/homology basis for a surface. [E, Whittlesey ’05]‣ Find the shortest cycle in a given homotopy class. [Colin de Verdière, E ’06]

    11

  • Other applications

    ‣ Fixed-parameter algorithms for generalizations of planar graphs‣ representativity [Robertson, Seymour 87]; edge-width [Thomassen 90; Mohar, Thomassen 99]‣ PTAS for TSP in graphs of genus g [Demaine, Hajiaghayi, Mohar ’07]‣ Determine in O(n) time if a graph has crossing number ≤k. [Kawarabayashi, Reed ’07]

    ‣ First step of other topological graph algorithms‣ Approximate the minimum-length graph cutting a surface into a disk. [E, Har-Peled ’04]‣ Find the minimum-length homotopy/homology basis for a surface. [E, Whittlesey ’05]‣ Find the shortest cycle in a given homotopy class. [Colin de Verdière, E ’06]

    ‣ Related to broader problems in topological analysis‣ Coverage analysis of ad-hoc/sensor networks‣ Identify (un)important topological features in high-dimensional data sets

    11

  • Spaces of interest (in this talk)

    ‣ Combinatorial surfaces

    ‣ Piecewise-linear surfaces

    ‣ Arbitrary simplicial complexes

    ‣ Planar Vietoris-Rips complexes

    12

  • Combinatorial surfaces

    13

  • ‣ An edge-weighted graph embedded on a 2-manifold (possibly with boundary) so that every face is a disk.

    ‣ We only care about cycles in the embedded graph.‣ The length of a cycle is the sum of the weights of its edges.

    Combinatorial surfaces

    14[Robertson, Seymour ’88; Thomassen ’90; Mohar, Thomassen ’99; Colin de Verdière et al. ’03+]

  • The 3-path property

    ‣ Any three paths with the same endpoints define three cycles.If any two are contractible, then all three are contractible. [Thomassen ’90]

    15

  • The 3-path property

    ‣ The shortest non-contractible cycle consists of two shortest paths between any pair of antipodal points. [Thomassen ’90]

    ‣ Otherwise, the actual shortest path would create a shorter non-contractible cycle.

    16

  • ‣ For each vertex x:Expand a wavefront from x via Dijkstra’s algorithm

    Algorithm

    17[E Har-Peled 05]

  • ‣ For each vertex x:Expand a wavefront from x via Dijkstra’s algorithm

    Algorithm

    17[E Har-Peled 05]

  • ‣ For each vertex x:Expand a wavefront from x via Dijkstra’s algorithm

    Algorithm

    17[E Har-Peled 05]

  • ‣ For each vertex x:Expand a wavefront from x via Dijkstra’s algorithm

    Algorithm

    17[E Har-Peled 05]

  • Algorithm

    ‣ Whenever the wavefront meets itself, we have a candidate cycle γ

    18[E Har-Peled 05]

  • Algorithm

    ‣ Whenever the wavefront meets itself, we have a candidate cycle γ

    18[E Har-Peled 05]

  • Algorithm

    ‣ Whenever the wavefront meets itself, we have a candidate cycle γ

    18

    ‣ If γ is non-contractible, it is the shortest non-contractible cycle through vertex x.

    [E Har-Peled 05]

  • Algorithm

    ‣ Whenever the wavefront meets itself, we have a candidate cycle γ

    18

    ‣ If γ is non-contractible, it is the shortest non-contractible cycle through vertex x.

    [E Har-Peled 05]

  • ‣ To test if a cycle is contractible, perform simultaneous brepth-first searches on both sides

    Algorithm

    19[E Har-Peled 05]

  • ‣ To test if a cycle is contractible, perform simultaneous brepth-first searches on both sides

    Algorithm

    19[E Har-Peled 05]

  • Algorithm

    ‣ If the two searches meet, the candidate cycle is non-separating and therefore non-contractible.

    20[E Har-Peled 05]

  • Algorithm

    ‣ Otherwise, compute the Euler characteristic χ := F-E+V of either component. The cycle is contractible if and only if χ=1 or χ=2g-3.

    21[E Har-Peled 05]

  • Algorithm

    ‣ Otherwise, compute the Euler characteristic χ := F-E+V of either component. The cycle is contractible if and only if χ=1 or χ=2g-3.

    21[E Har-Peled 05]

  • Algorithm

    ‣ Otherwise, compute the Euler characteristic χ := F-E+V of either component. The cycle is contractible if and only if χ=1 or χ=2g-3.

    21[E Har-Peled 05]

    ‣ If the cycle is contractible, discard the disk and continue Dijkstra.‣ If not, we’ve found the shortest non-contractible cycle through x.

  • ‣ For each vertex: O(n log n) time for Dijkstra’s algorithm, plus O(n) time for all contractibility searches.

    ‣ Total running time: O(n2 log n). [E Har-Peled 05]

    Analysis

    Open Problem: Is there a faster algorithm?

    22

  • Faster small-genus algorithms

    23

    ‣ gO(g) n3/2 [Cabello, Mohar 05]‣ Multiple-pairs shortest paths in planar graphs

  • Faster small-genus algorithms

    ‣ gO(g) n4/3 log n [Cabello 06]‣ Graph separators

    23

    ‣ gO(g) n3/2 [Cabello, Mohar 05]‣ Multiple-pairs shortest paths in planar graphs

  • Faster small-genus algorithms

    ‣ gO(g) n4/3 log n [Cabello 06]‣ Graph separators

    ‣ gO(g) n log n [Kutz 06]‣ Crossing patterns with greedy system of loops [E Whittlesey 06]

    23

    ‣ gO(g) n3/2 [Cabello, Mohar 05]‣ Multiple-pairs shortest paths in planar graphs

  • Faster small-genus algorithms

    ‣ gO(g) n4/3 log n [Cabello 06]‣ Graph separators

    ‣ gO(g) n log n [Kutz 06]‣ Crossing patterns with greedy system of loops [E Whittlesey 06]

    ‣ O(g3 n log n) [Cabello, Chambers 07]‣ One-cross lemma + Kinetic shortest path trees

    23

    ‣ gO(g) n3/2 [Cabello, Mohar 05]‣ Multiple-pairs shortest paths in planar graphs

  • Faster small-genus algorithms

    ‣ gO(g) n4/3 log n [Cabello 06]‣ Graph separators

    ‣ gO(g) n log n [Kutz 06]‣ Crossing patterns with greedy system of loops [E Whittlesey 06]

    ‣ O(g3 n log n) [Cabello, Chambers 07]‣ One-cross lemma + Kinetic shortest path trees

    23

    ‣ gO(g) n3/2 [Cabello, Mohar 05]‣ Multiple-pairs shortest paths in planar graphs

  • One-cross lemma

    ‣ Let γ(x) be the shortest non-contractible cycle through any vertex x, and let γ* = argminx|γ(x)| be the shortest non-contractible cycle.

    ‣ If γ* ≠ γ(x), then γ* and γ(x) cross at most once.

    24[Cabello, Chambers 07]

  • Algorithm

    ‣ Cut the surface along γ(x); find all shortest paths between corresponding vertices on copies of γ(x); recurse in the cut surface.

    25[Cabello, Chambers 07]

    ‣ Each cycle cut reduces the genus by 1 ⇒ exactly g cycle cuts

  • Kinetic shortest paths

    ‣ To find all those shortest paths, maintain a kinetic shortest-path tree as the source point moves continuously around one copy of γ(x).

    26[Cabello, Chambers, E 07]

    ‣O(gn) events, O(g log n) time each ⇒ O(g2 n log n) time per cycle cut

  • Kinetic shortest paths

    ‣ To find all those shortest paths, maintain a kinetic shortest-path tree as the source point moves continuously around one copy of γ(x).

    26[Cabello, Chambers, E 07]

    ‣O(gn) events, O(g log n) time each ⇒ O(g2 n log n) time per cycle cut, E

  • Piecewise-linear surfaces

    27

  • Definition

    ‣ A piecewise-linear surface is a set of Euclidean triangles, with some pairs of equal-length edges identified (glued together).[Dehn, Heegaard 1907; Radó 1937]

    28

  • Definition

    ‣ A piecewise-linear surface is a set of Euclidean triangles, with some pairs of equal-length edges identified (glued together).[Dehn, Heegaard 1907; Radó 1937]

    28

  • ‣ Now we consider cycles anywhere on the surface.

    ‣ The metric is Euclidean everywhere except at the vertices.

    PL metric

    29

  • Everything still works?

    ‣ Contractible cycles still satisfy the 3-path condition.

    ‣ Thus, the shortest non-contractible cycle still contains shortest paths between any pair of antipodal points.

    ‣ Thus, the same expanding-wavefront method will find the shortest non-contractible cycle through any point.

    ‣ The shortest non-contractible cycle still passes through a vertex.

    30

  • Shortest paths in PL surfaces

    We just need an algorithm to compute shortest paths on PL surfaces. (Dijkstra’s algorithm won’t work here.)

    ‣ “Continuous Dijkstra”‣ O(n2 log n) [Mitchell, Mount, Papadimitriou ’87]‣ O(n2) [Chen, Han ’90]

    ‣ Thus, we can find the shortest noncontractible cycle in O(n3) time.

    ‣ Numerous approximation algorithms, faster special cases, practical heuristics, and false starts

    31

    [Surazhsky et al. 05]

  • Unfortunately...

    ‣ Those running times assume that any shortest path crosses any edge of the triangulation at most once—true for polyhedra in any Euclidean space, but not for arbitrary PL surfaces.

    32

  • Unfortunately...

    ‣ Those running times assume that any shortest path crosses any edge of the triangulation at most once—true for polyhedra in any Euclidean space, but not for arbitrary PL surfaces.

    32

  • Unbounded time

    ‣ Let α = maximum aspect ratio of any facet.

    ‣ Any shortest path crosses any edge O(α) times (and this is tight).

    ‣ We can find the shortest noncontractible cycle in O(poly(n, α)) time.

    ‣ If edge lengths or local coordinates are integers, α can be exponential in the input size. In the real RAM model, α is unbounded.

    33

  • ‣ We can implicitly represent a cycle’s crossing sequence by recording the number of times the cycle crosses each edge: O(n log α) bits. [Kneser ’30; Schaefer, Sedgwick, Štefankovic ’03]

    Normal coordinates

    34

    35

    4

  • ‣ We can implicitly represent a cycle’s crossing sequence by recording the number of times the cycle crosses each edge: O(n log α) bits. [Kneser ’30; Schaefer, Sedgwick, Štefankovic ’03]

    Normal coordinates

    34

    35

    4

  • ‣ We can implicitly represent a cycle’s crossing sequence by recording the number of times the cycle crosses each edge: O(n log α) bits. [Kneser ’30; Schaefer, Sedgwick, Štefankovic ’03]

    Normal coordinates

    34

    35

    4

    ‣ Similar implicit representations for paths, trees, shortest path maps, …

  • ‣ We can implicitly represent a cycle’s crossing sequence by recording the number of times the cycle crosses each edge: O(n log α) bits. [Kneser ’30; Schaefer, Sedgwick, Štefankovic ’03]

    Normal coordinates

    34

    35

    4

    ‣ Similar implicit representations for paths, trees, shortest path maps, …‣ Can implicit shortest paths be computed in time O(poly(n, log α))?

  • Simplicial complexes

    35

  • Simplicial complex

    A set X of simplices (segments, triangles, tetrahedra, etc.) such that:(1) If Δ is in X, then every face of Δ is in X.(2) Any two simplices in X intersect in a common face.

    36

  • Simplicial complex

    A set X of simplices (segments, triangles, tetrahedra, etc.) such that:(1) If Δ is in X, then every face of Δ is in X.(2) Any two simplices in X intersect in a common face.

    36

    ‣ k-skeleton: simplices in X with dimension k or less.‣We only consider cycles in the 1-skeleton.‣ Cycle contractibility depends only on the 2-skeleton.

  • Dead end

    Unfortunately, contractibility of arbitrary cycles in arbitrary simplicial complexes is undecidable! [Markov ’64]

    37

  • Vietoris-Rips complexes

    38

  • ‣ Vertices: A set P of points in the plane‣ Simplices: All subsets of P with diameter at most 1.

    Vietoris-Rips complex R(P)

    39

    [Vietoris ’27; Rips ’8x; Gromov ’87]

    1

  • ‣ Vertices: A set P of points in the plane‣ Simplices: All subsets of P with diameter at most 1.

    Vietoris-Rips complex R(P)

    39

    [Vietoris ’27; Rips ’8x; Gromov ’87]

    1

  • ‣ Vertices: A set P of points in the plane‣ Simplices: All subsets of P with diameter at most 1.

    Vietoris-Rips complex R(P)

    39

    [Vietoris ’27; Rips ’8x; Gromov ’87]

    1

  • ‣ The image of the natural projection map ↓:R(P)→R2.‣ A (degenerate) simple polygon with holes.

    Rips shadow S(P)

    40

  • ‣ The image of the natural projection map ↓:R(P)→R2.‣ A (degenerate) simple polygon with holes.

    Rips shadow S(P)

    40

  • The induced map ↓*:π1(R(P))→π1(S(P)) is an isomorphism.

    Shadow Theorem

    41[Chambers, de Silva, E, Ghrist 07]

    Thus, to test contractibility, we only need to consider how the cycle winds around the holes in the shadow.

  • A cycle γ is contractible in R(P) if and only if the projected cycle ↓(γ) is contractible in S(P).

    Shadow Theorem

    41[Chambers, de Silva, E, Ghrist 07]

    Thus, to test contractibility, we only need to consider how the cycle winds around the holes in the shadow.

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    B

    A C

    D E

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    B

    A C

    D E

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    B

    A C

    D EAABCDD

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Testing contractibility

    ‣ Choose a sentinel point in each hole (including the outer face) and build a spanning tree.

    ‣ A cycle is contractible iff its reduced crossing word is empty.

    42

    B

    A C

    D EAABCDD

    [Hershberger, Snoeyink 94; Efrat, Kobourov, Lubiw 06;

    Bespamyatnikh ’04; Cabello, Liu, Mantler, Snoeyink ’04]

  • Technical Lemmas

    43[Chambers, E, Worah 07]

  • Technical Lemmas

    ‣ Lemma: S(P) has complexity O(n).

    43[Chambers, E, Worah 07]

  • Technical Lemmas

    ‣ Lemma: S(P) has complexity O(n).

    ‣ Lemma: S(P) is the union of O(n) Rips triangles.‣ We can compute those Rips triangles in O(n2 log n) time.‣ Computing their union (the shadow) takes O(n2) time.

    43[Chambers, E, Worah 07]

  • Technical Lemmas

    44[Chambers, E, Worah 07]

  • Technical Lemmas

    ‣ Lemma: Any hole in S(P) has diameter at least 0.05.‣ In O(n) time, we can compute a sentinel tree such that any segment of length ≤1 crosses only O(1) edges.

    44[Chambers, E, Worah 07]

  • Technical Lemmas

    ‣ Lemma: Any hole in S(P) has diameter at least 0.05.‣ In O(n) time, we can compute a sentinel tree such that any segment of length ≤1 crosses only O(1) edges.

    ‣ We can now test contractibility in O(1) time per edge.

    44[Chambers, E, Worah 07]

  • Main algorithm

    45[Chambers, E, Worah 07]

  • Main algorithm

    ‣ For each vertex s:‣ Build the shortest-path tree Ts rooted at s.‣ Build the corresponding trie of reduced crossing words, and preprocess it for O(1)-time LCA queries. [Bender, Farach-Colton 00]

    ‣ For any edge uv, we can now check in O(1) time whether the unique cycle in Ts∪ {uv} is contractible.

    45[Chambers, E, Worah 07]

  • Main algorithm

    ‣ For each vertex s:‣ Build the shortest-path tree Ts rooted at s.‣ Build the corresponding trie of reduced crossing words, and preprocess it for O(1)-time LCA queries. [Bender, Farach-Colton 00]

    ‣ For any edge uv, we can now check in O(1) time whether the unique cycle in Ts∪ {uv} is contractible.

    ‣ 3-path condition ⇒ For some vertex s and edge uv, the shortest non-contractible cycle is the unique cycle in Ts∪ {uv}.

    45[Chambers, E, Worah 07]

  • Main algorithm

    ‣ For each vertex s:‣ Build the shortest-path tree Ts rooted at s.‣ Build the corresponding trie of reduced crossing words, and preprocess it for O(1)-time LCA queries. [Bender, Farach-Colton 00]

    ‣ For any edge uv, we can now check in O(1) time whether the unique cycle in Ts∪ {uv} is contractible.

    ‣ 3-path condition ⇒ For some vertex s and edge uv, the shortest non-contractible cycle is the unique cycle in Ts∪ {uv}.

    ‣ Total time: O(n2 log n + mn)

    45[Chambers, E, Worah 07]

  • Summary

    46

  • Summary

    Combinatorial surfaces:‣ O(n2 log n) or O(g2 n log n)‣ Open: Faster? Lower bounds?

    46

  • Summary

    Combinatorial surfaces:‣ O(n2 log n) or O(g2 n log n)‣ Open: Faster? Lower bounds?

    Piecewise-linear surfaces:‣ O(n3) if embedded or every triangle is fat, no time bound otherwise‣ Open: Polynomial time if edge-lengths are integers?

    46

  • Summary

    Combinatorial surfaces:‣ O(n2 log n) or O(g2 n log n)‣ Open: Faster? Lower bounds?

    Piecewise-linear surfaces:‣ O(n3) if embedded or every triangle is fat, no time bound otherwise‣ Open: Polynomial time if edge-lengths are integers?

    Vietoris-Rips complexes:‣ O(n2 log n + mn) for points in the plane‣ Open: Faster? Higher dimensions? Applications?

    46

  • Thanks for listening!

    47