Greedy Optimal Homotopy and Homology Generators Jeff Erickson and Kim Whittlesey University of Illinois, Urbana-Champaign To appear at SODA 2005

Slides:



Advertisements
Similar presentations
Lecture 15. Graph Algorithms
Advertisements

NP-Hard Nattee Niparnan.
Single Source Shortest Paths
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
Combinatorial Algorithms
Chapter 23 Minimum Spanning Trees
Applied Discrete Mathematics Week 12: Trees
Approximation Algorithms
Cutting a surface into a Disk Jie Gao Nov. 27, 2002.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Contributed Talk at the International Workshop on VISUALIZATION and MATHEMATICS 2002 Thomas Lewiner, Hélio Lopes, Geovan Tavares Math&Media Laboratory,
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner.
Graph Theory Ch6 Planar Graphs. Basic Definitions  curve, polygon curve, drawing  crossing, planar, planar embedding, and plane graph  open set  region,
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Computing Optimal Graphs on Surfaces Jeff Erickson University of Illinois at Urbana-Champaign Jeff Erickson University of Illinois at Urbana-Champaign.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Trees and Distance. 2.1 Basic properties Acyclic : a graph with no cycle Forest : acyclic graph Tree : connected acyclic graph Leaf : a vertex of degree.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Minimum Spanning Trees and Kruskal’s Algorithm CLRS 23.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Solution to HW1. Problem 1 Need to find shortest path from a single source s to a single destination d. Have a condition in the Dijkstra algo loop which.
Ch.6 Phylogenetic Trees 2 Contents Phylogenetic Trees Character State Matrix Perfect Phylogeny Binary Character States Two Characters Distance Matrix.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15-853Page :Algorithms in the Real World Planar Separators I & II – Definitions – Separators of Trees – Planar Separator Theorem.
8.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of.
Algorithms for hard problems WQO theory and applications to parameterized complexity Juris Viksna, 2015.
Department of Computer Science and Engineering On Computing handles and tunnels for surfaces Tamal K. DeyKuiyu LiJian Sun.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graph Revisited Fei Chen CSCI2100B Data Structures Tutorial 12 1.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
REVIEW Linear Combinations Given vectors and given scalars
Chapter 5 : Trees.
Minimum Spanning Trees
Graph theory Definitions Trees, cycles, directed graphs.
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
James B. Orlin Presented by Tal Kaminker
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Randomized Algorithms CS648
CS 583 Analysis of Algorithms
Minimum Spanning Tree Algorithms
CSCI2100 Data Structures Tutorial
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
Text Book: Introduction to algorithms By C L R S
Autumn 2016 Lecture 10 Minimum Spanning Trees
Simple Graphs: Connectedness, Trees
GRAPHS Lecture 17 CS2110 Spring 2018.
Discrete Mathematics for Computer Science
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Minimum Spanning Trees
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Greedy Optimal Homotopy and Homology Generators Jeff Erickson and Kim Whittlesey University of Illinois, Urbana-Champaign To appear at SODA Jeff Erickson and Kim Whittlesey University of Illinois, Urbana-Champaign To appear at SODA

What’s the problem? Given a topologically complex surface, cut it into one or more topological disks. Simplification, remeshing, compression, texture mapping, parameterization,... Computing separators and tree decompositions of non-planar graphs Moreover, cut the surface as little as possible. Given a topologically complex surface, cut it into one or more topological disks. Simplification, remeshing, compression, texture mapping, parameterization,... Computing separators and tree decompositions of non-planar graphs Moreover, cut the surface as little as possible.

Cut Graph An embedded graph whose removal cuts the surface into a single topological disk.

Optimality is hard Erickson, Har-Peled 2000: Computing the minimum-length cut graph for a given surface is NP-hard. A O(log 2 g)-approximation can be found in O(g 2 n log n) time, where g is the genus of the surface. Erickson, Har-Peled 2000: Computing the minimum-length cut graph for a given surface is NP-hard. A O(log 2 g)-approximation can be found in O(g 2 n log n) time, where g is the genus of the surface.

System of loops A cut graph with one vertex, or equivalently, a set of 2g loops through a common basepoint

Optimality is not so hard? Colin de Verdière, Lazarus 2002: Given a system of loops on a surface, the shortest system of loops in the same homotopy class can be computed in (large) polynomial time.* *under some mild (and probably unnecessary) assumptions. Colin de Verdière, Lazarus 2002: Given a system of loops on a surface, the shortest system of loops in the same homotopy class can be computed in (large) polynomial time.* *under some mild (and probably unnecessary) assumptions.

Optimality is easy! Our main result: The shortest system of loops with a given basepoint can be computed in O(n log n) time using a simple greedy algorithm. The overall shortest system of loops can be computed in O(n 2 log n) time. More machinery improves both running times by a factor of O(log n) if g=O(n ). Our main result: The shortest system of loops with a given basepoint can be computed in O(n log n) time using a simple greedy algorithm. The overall shortest system of loops can be computed in O(n 2 log n) time. More machinery improves both running times by a factor of O(log n) if g=O(n ).

Definitions: combinatorial surface, homotopy, homotopy basis, exponent sums, greedy homotopy basis, homology Proof of optimality Implementation: dual graph, shortest paths + max spanning tree Definitions: combinatorial surface, homotopy, homotopy basis, exponent sums, greedy homotopy basis, homology Proof of optimality Implementation: dual graph, shortest paths + max spanning tree Outline

Surfaces and topology

1. Smooth 2. Piecewise-linear 3. Combinatorial 1. Smooth 2. Piecewise-linear 3. Combinatorial What’s a “surface”?

1. Smooth: compact manifold with a complete real-analytic Riemannian metric Classical, well-developed proof machinery — proofs generalize to other categories modulo a few key assumptions — impossible to implement 2. Piecewise-linear 3. Combinatorial 1. Smooth: compact manifold with a complete real-analytic Riemannian metric Classical, well-developed proof machinery — proofs generalize to other categories modulo a few key assumptions — impossible to implement 2. Piecewise-linear 3. Combinatorial What’s a “surface”?

1. Smooth 2. Piecewise-linear: Euclidean polygons glued edge-to-edge, e.g., non-convex polyhedra What people usually want — much hairier proof machinery [MMP‘87, CH‘96] — extremely difficult to implement correctly and accurately [KO‘00] 3. Combinatorial 1. Smooth 2. Piecewise-linear: Euclidean polygons glued edge-to-edge, e.g., non-convex polyhedra What people usually want — much hairier proof machinery [MMP‘87, CH‘96] — extremely difficult to implement correctly and accurately [KO‘00] 3. Combinatorial What’s a “surface”?

1. Smooth 2. Piecewise-linear 3. Combinatorial: all paths/loops are restricted to an embedded weighted graph What people settle for when PL is too difficult — easy combinatorial proof machinery — easy to implement — what this talk assumes 1. Smooth 2. Piecewise-linear 3. Combinatorial: all paths/loops are restricted to an embedded weighted graph What people settle for when PL is too difficult — easy combinatorial proof machinery — easy to implement — what this talk assumes What’s a “surface”?

An abstract compact orientable 2-manifold with a weighted graph G, embedded so that every face is a disk. Combinatorial surface

Loop The image of a function L:[0,1]→M such that L(0) = L(1) = x, where x is a fixed basepoint. Our algorithms consider only circuits in G. G G

Two loops L and L’ are homotopic (written L ≃ L’) if one loop can be continuously deformed into the other. Homotopy Formally, a homotopy from L to L’ is a continuous function h:[0,1]x[0,1]→M where h(0,t)=L(t), h(1,t)=L’(t), and h(s,0)=h(s,1)=x Formally, a homotopy from L to L’ is a continuous function h:[0,1]x[0,1]→M where h(0,t)=L(t), h(1,t)=L’(t), and h(s,0)=h(s,1)=x

The fundamental group The set of homotopy classes form a group π 1 (M,x) under concatenation: L∙L’(t) := if t<1/2 then L(2t) else L’(2t-1) fi Inverses: L(t) := L(1-t) Identity: 1(t) := x The identity element is the homotopy class of contractible loops. The set of homotopy classes form a group π 1 (M,x) under concatenation: L∙L’(t) := if t<1/2 then L(2t) else L’(2t-1) fi Inverses: L(t) := L(1-t) Identity: 1(t) := x The identity element is the homotopy class of contractible loops.

Homotopy basis 2g loops α 1, α 2,..., α 2g that generate π 1 (M,x): Every loop is homotopic to a concatenation of basis loops and/or their inverses. Every system of loops is a homotopy basis, but not vice versa!

For each i, the greedy loop γ i is the shortest loop L such that M\(γ 1 ∪⋯∪ γ i-1 ∪ L) is connected. The set {γ 1, γ 2,..., γ 2g } is a system of loops, so it is also a homotopy basis. For each i, the greedy loop γ i is the shortest loop L such that M\(γ 1 ∪⋯∪ γ i-1 ∪ L) is connected. The set {γ 1, γ 2,..., γ 2g } is a system of loops, so it is also a homotopy basis. The greedy homotopy basis

Proof of optimality

Shortest loops Let σ(uv) denote the shortest loop in G that contains the edge uv; this loop consists of 1. the shortest path from x to u, 2. the edge uv, and 3. the shortest path from v to x. Let σ(uv) denote the shortest loop in G that contains the edge uv; this loop consists of 1. the shortest path from x to u, 2. the edge uv, and 3. the shortest path from v to x.

Let T be the tree of shortest paths from x to every other vertex of G. Every greedy loop γ i has the form σ(e) for some edge e ∈ G\T. Lemma 1 For each i, γ i is the shortest loop σ(e), over all edges e ∈ G\T, such that M\(γ 1 ∪⋯∪ γ i-1 ∪ σ(e)) is connected. For each i, γ i is the shortest loop σ(e), over all edges e ∈ G\T, such that M\(γ 1 ∪⋯∪ γ i-1 ∪ σ(e)) is connected.

Exponent sums Any loop L has a fixed vector [L] of exponent sums with respect to any homotopy basis. For example, if L ≃ γ 1 γ 2 γ 3 γ 1 γ 3 γ 1 γ 2 γ 2 γ 2 γ 1 then [L] = (0, -4, 2, 0). Linearity: [L∙L’] = [L] + [L’] and [L] = -[L] [L] = (0,0,...,0) iff L is a separating loop. Any loop L has a fixed vector [L] of exponent sums with respect to any homotopy basis. For example, if L ≃ γ 1 γ 2 γ 3 γ 1 γ 3 γ 1 γ 2 γ 2 γ 2 γ 1 then [L] = (0, -4, 2, 0). Linearity: [L∙L’] = [L] + [L’] and [L] = -[L] [L] = (0,0,...,0) iff L is a separating loop. Homology

Greedy factors We call γ i a greedy factor of loop L if the corresponding exponent sum in [L] is non- zero. Each greedy loop is its only greedy factor. Separating loops have no greedy factors. We call γ i a greedy factor of loop L if the corresponding exponent sum in [L] is non- zero. Each greedy loop is its only greedy factor. Separating loops have no greedy factors.

If σ(e) is a greedy loop, then γ=σ(e). If γ is a greedy factor of σ(e) for some edge e ∈ G\T, then |γ| ≤ |σ(e)|. Lemma 2

Let γ 1, γ 2,..., γ i be the greedy loops shorter than σ(e). By definition, M\(γ 1 ∪ ⋯ ∪ γ i ∪ σ(e)) is disconnected. Let γ 1, γ 2,..., γ i be the greedy loops shorter than σ(e). By definition, M\(γ 1 ∪ ⋯ ∪ γ i ∪ σ(e)) is disconnected. If γ is a greedy factor of σ(e) for some edge e ∈ G\T, then |γ| ≤ |σ(e)|. Lemma 2 σ(e) γ1γ1 γ2γ2 γ3γ3

Choose a minimal subset {γ j1, γ j2,... γ jr } ⊆ {γ 1, γ 2,..., γ i } such that M\(γ j1 ∪ ⋯ ∪ γ jk ∪ σ(e)) is disconnected. σ(e) γ j1 ⋯ γ jr is a separating loop. Choose a minimal subset {γ j1, γ j2,... γ jr } ⊆ {γ 1, γ 2,..., γ i } such that M\(γ j1 ∪ ⋯ ∪ γ jk ∪ σ(e)) is disconnected. σ(e) γ j1 ⋯ γ jr is a separating loop. If γ is a greedy factor of σ(e) for some edge e ∈ G\T, then |γ| ≤ |σ(e)|. Lemma 2 σ(e) γ2γ2

[σ(e) γ j1 ⋯ γ jr ] = (0,0,...0), so [σ(e)] = - [γ j1 ] - ⋯ - [γ jr ]. Thus γ j1,γ j2,...,γ jr are the only greedy factors of σ(e). [σ(e) γ j1 ⋯ γ jr ] = (0,0,...0), so [σ(e)] = - [γ j1 ] - ⋯ - [γ jr ]. Thus γ j1,γ j2,...,γ jr are the only greedy factors of σ(e). If γ is a greedy factor of σ(e) for some edge e ∈ G\T, then |γ| ≤ |σ(e)|. Lemma 2 σ(e) γ2γ2

Lemma 3 Let e 1, e 2,..., e r be the sequence of edges in G\T traversed by L. L ≃ σ(e 1 ) ⋅ σ(e 2 ) ⋯ σ(e r ). If γ is a greedy factor of L, then for some i, γ is a greedy factor of σ(e i ), so |γ| ≤ |σ(e i )|. By definition, |σ(e i )| ≤ |L| for all i. Let e 1, e 2,..., e r be the sequence of edges in G\T traversed by L. L ≃ σ(e 1 ) ⋅ σ(e 2 ) ⋯ σ(e r ). If γ is a greedy factor of L, then for some i, γ is a greedy factor of σ(e i ), so |γ| ≤ |σ(e i )|. By definition, |σ(e i )| ≤ |L| for all i. If γ is a greedy factor of any loop L, then |γ| ≤ |L|. If γ is a greedy factor of any loop L, then |γ| ≤ |L|.

Lemma 4 There is a nonsingular linear transformation mapping [L] α to [L] γ. The ith column of the transformation matrix is the vector [α i ] γ. There is a nonsingular linear transformation mapping [L] α to [L] γ. The ith column of the transformation matrix is the vector [α i ] γ. Any homotopy basis {α 1, α 2,..., α 2g } can be reordered so that γ i is a greedy factor of α i for all i. Any homotopy basis {α 1, α 2,..., α 2g } can be reordered so that γ i is a greedy factor of α i for all i. For some perm. π, for all i.

No homotopy basis has smaller total length than the greedy homotopy basis. Main Theorem Any homotopy basis {α 1, α 2,..., α 2g } can be reordered so that |γ i | ≤ |α i | for all i. Any homotopy basis {α 1, α 2,..., α 2g } can be reordered so that |γ i | ≤ |α i | for all i. system of loops

The Algorithm

Each edge e in G has a dual edge e* in G*. Dual graph G*

Tree/co-tree decomposition [Eppstein 2004] Let T = any spanning tree of G. Let T* = any spanning tree of (G\T)*. Then {σ(e) | e ∉ T and e* ∉ T*} is a system of loops! Let T = any spanning tree of G. Let T* = any spanning tree of (G\T)*. Then {σ(e) | e ∉ T and e* ∉ T*} is a system of loops!

Our greedy algorithm Let T = shortest path tree rooted at x. [O(n log n) time with Dijkstra’s algorithm] Let T* = maximum spanning tree of (G\T)* where weight(e*) = |σ(e)|. [O(n log n) time with any textbook MST algorithm] Then {σ(e) | e ∉ T and e* ∉ T*} is the greedy homotopy basis! Let T = shortest path tree rooted at x. [O(n log n) time with Dijkstra’s algorithm] Let T* = maximum spanning tree of (G\T)* where weight(e*) = |σ(e)|. [O(n log n) time with any textbook MST algorithm] Then {σ(e) | e ∉ T and e* ∉ T*} is the greedy homotopy basis!

Maximum spanning tree? Each γ i is the shortest loop σ(e) with e ∈ G\T such that M \ (γ 1 ∪⋯∪ γ i-1 ∪ σ(e)) is connected. Set weight(e*) = |σ(e)|. Each e i * is the minimum-weight edge e* ∈ (G\T)* such that (G\T)*\(e 1 * ∪ ⋯ ∪ e i-1 * ∪ e*) is connected. Each γ i is the shortest loop σ(e) with e ∈ G\T such that M \ (γ 1 ∪⋯∪ γ i-1 ∪ σ(e)) is connected. Set weight(e*) = |σ(e)|. Each e i * is the minimum-weight edge e* ∈ (G\T)* such that (G\T)*\(e 1 * ∪ ⋯ ∪ e i-1 * ∪ e*) is connected.

Extensions

Other surface types Our greedy characterization is also valid for smooth and piecewise-linear surfaces. Cut locus = points with more than one shortest path from x. Our greedy characterization is also valid for smooth and piecewise-linear surfaces. Cut locus = points with more than one shortest path from x.

Other surface types For each arc ϕ of the cut locus, let σ( ϕ ) denote the shortest loop crossing ϕ. Lemma 1: Every greedy loop is σ( ϕ ) for some arc ϕ of the cut locus. The rest of the optimality proof is identical. For each arc ϕ of the cut locus, let σ( ϕ ) denote the shortest loop crossing ϕ. Lemma 1: Every greedy loop is σ( ϕ ) for some arc ϕ of the cut locus. The rest of the optimality proof is identical.

Other surface types Moreover, every greedy loop is σ( ϕ ) for some ϕ not in the maximum spanning tree of the cut locus, where weight( ϕ ) = |σ( ϕ )|. Once we compute the cut locus, the rest of the algorithm takes O(g log g) time. PL surfaces: O(n 2 ) time [Chen and Han‘96] Moreover, every greedy loop is σ( ϕ ) for some ϕ not in the maximum spanning tree of the cut locus, where weight( ϕ ) = |σ( ϕ )|. Once we compute the cut locus, the rest of the algorithm takes O(g log g) time. PL surfaces: O(n 2 ) time [Chen and Han‘96]

Thank you!