untangling and unwinding curves
play

Untangling and Unwinding Curves Dagstuhl Workshop on Computational - PowerPoint PPT Presentation

Untangling and Unwinding Curves Dagstuhl Workshop on Computational Geometry April 27, 2017 Jeff Erickson University of Illinois at Urbana-Champaign Joint work with Hsien-Chih Chang Portions appeared at SOCG 2016 http://a.carapetis.com/csf/


  1. Untangling and Unwinding Curves Dagstuhl Workshop on Computational Geometry April 27, 2017 Jeff Erickson University of Illinois at Urbana-Champaign Joint work with Hsien-Chih Chang Portions appeared at SOCG 2016

  2. http://a.carapetis.com/csf/

  3. Elephant , Mick Burton (1966)

  4. Homotopy moves 1 → 0 2 → 0 3 → 3 Any closed curve in the plane can be simplified using a finite sequence of homotopy moves. [Steinitz 1916, Alexander 1926, Alexander Briggs 1927, Reidemeister 1927]

  5. Old results ‣ Let n = number of self-intersection points, or vertices. ‣ O( n 2 ) homotopy moves are always sufficient. 
 [ Steinitz 1916 ; Grünbaum 1967; Francis 1971; Feo 1985; Truemper 1989; Vegter 1989; Feo Provan 1993 ; Hass and Scott 1994; Nowik 2000; …] ‣ Ω( n ) homotopy moves are always necessary. 
 [trivial]

  6. New results [Cheng E, SOCG 2016] ‣ Simplifying a closed curve in the plane with n vertices requires Θ( n 3/2 ) homotopy moves in the worst case. ▹ Upper bound via new algorithm ▹ Lower bound via classical curve invariant

  7. 
 Curves on surfaces 1 → 0 2 → 0 3 → 3 Any closed curve in any surface can be simplified (as much as possible) using a finite sequence of homotopy moves that never increases the number of vertices . 
 [Grayson 1989, Angenent 1988, Angenent 1991, Hass Scott 1994, de Graaf Schrijver 1997, Paterson 2002]

  8. Old: Curves on surfaces ‣ O( n 2 ) homotopy moves suffice if the simplified curve is actually simple. [Steinitz 1916; Hass Scott 1994] ‣ Trivial exponential upper bound for arbitrary curves. ‣ Ω( n ) homotopy moves are always necessary. 
 [trivial] ‣ Ω( n 3/2 ) homotopy moves are sometimes necessary. 
 [inherited from planar results]

  9. New: Curves on surfaces ‣ Simplifying a contractible closed curve in the annulus requires Ω( n 2 ) homotopy moves in the worst case. ▹ Matches known upper bound [Steinitz 1916; Hass and Scott 1994] ▹ Lower bound via new curve invariant ‣ Any closed curve on any orientable surface can be simplified (as much as possible) using at most O( n 3 ) homotopy moves. ▹ No dependence on the genus of the surface ▹ New algorithm still in development (Dagstuhl 17072)

  10. Old Algorithms

  11. Minimal bigons [Steinitz 1916] Every 4-regular plane graph contains either 
 an empty loop or a minimal bigon . bigon minimal bigon

  12. Minimal bigons [Steinitz 1916] Every non-empty minimal bigon contains at least two triangular faces (one adjacent to each side).

  13. Minimal bigons [Steinitz 1916] Every non-empty minimal bigon contains at least two triangular faces (one adjacent to each side). So we can reduce any minimal bigon to an empty bigon using 3 → 3 moves

  14. Steinitz’s algorithm [Steinitz 1916] ‣ While there are vertices ▹ If there is an empty loop, remove it with a 1 → 0 move ▹ Otherwise, empty any minimal bigon with 3 → 3 moves, 
 and then remove it with a 2 → 0 move ‣ O( n ) moves per bigon = O( n 2 ) moves ‣ Works for simplifiable curves in any orientable surface. [Hass Scott 1994]

  15. Positive 3 → 3 moves [Feo Provan 1993] If there are no empty loops or empty bigons, 
 then some 3 → 3 move decreases the sum of face depths . 1 1 1 1 1 1 2 2 2 2 2 3 3 2 2 3 2 2 3 3 1 1 1 1 3 4 4 3 3 3 3 3 2 2 4 4 3 3 2 2 3 3 2 2 2 2 3 2 3 2 1 1 1 1 1 1 2 2 0 0 1 1

  16. Feo and Provan’s algorithm [Feo Provan 1993] ‣ While there are vertices ▹ If there is an empty loop, perform a 1 → 0 move ▹ Else if there is any empty bigon, perform a 2 → 0 move ▹ Else perform any positive 3 → 3 move ‣ O( Φ ) = O( n 2 ) moves, 
 where potential Φ = sum of face depths

  17. New planar algorithm [Cheng E, SOCG 2016]

  18. Shrinking loops Any loop can be removed using at most 3 A homotopy moves, where A is the number of interior faces.

  19. Shrinking loops Any loop can be removed using at most 3 A homotopy moves, where A is the number of interior faces. ▹ If the loop contains any vertices, we can remove one vertex with a 0 → 2 move followed by a 3 → 3 move. y z ▹ If the loop bounds any empty bigons, we can remove one edge (and one empty bigon face) with a 2 → 0 move.

  20. Shrinking loops Any loop can be removed using at most 3 A homotopy moves, where A is the number of interior faces. 1 1 1 0 1 1 2 1 2 1 3 1 2 3 2 2 2 1 3 2 1 1 1 0 4 2 3 3 3 1 3 2 2 4 2 3 3 2 2 1 3 3 2 2 2 2 3 3 2 2 1 1 1 1 1 1 2 2 0 0 1 1 Contracting a loop decreases the potential by at least A .

  21. New Algorithm ‣ While there are vertices, shrink any loop. ‣ O( Φ ) = O( n 2 ) moves, where Φ = potential 1 1 1 0 1 1 2 1 2 1 3 1 2 3 2 2 2 1 3 2 1 1 1 0 4 2 3 3 3 1 3 2 2 4 2 3 3 2 2 1 3 3 2 2 2 2 3 3 2 2 1 1 1 1 1 1 2 2 0 0 1 1

  22. Tangle ‣ Intersection of curve with a generic closed disk ‣ Boundary-to-boundary paths called strands ‣ Face depths and potential defined exactly as for curves. 1 2 2 1 2 3 3 1 2 1 3 2 3 2 3 3 4 4 4 1 3 3 2 3 1 2 3 2 2 2 1 1

  23. Tightening tangles Any tangle can be tightened in O( md + ms ) moves, where 
 m = #vertices, d = max face depth, and s = #strands ‣ First remove all loops in O( Φ ) = O( md ) moves. ‣ Then straighten all strands in O( ms ) moves.

  24. Useful tangles A tangle is useful if d = O( m 1/2 ) and s ≤ m 1/2 ▹ Can be tightened using O( md + ms ) = O( m 3/2 ) moves ▹ Tightening removes at least half the interior vertices ▹ Always exists (and can be found quickly).

  25. Our algorithm ‣ While there are vertices, tighten any useful tangle. ‣ Analysis: ▹ Tightening a useful tangle with m vertices takes O( m 3/2 ) moves. ▹ Charge O( m 1/2 )=O( n 1/2 ) moves to each deleted vertex ▹ So removing all n vertices takes O( n 3/2 ) moves.

  26. Planar lower bound We use a classical curve invariant called defect : 
 [Aicardi 94, Arnold 94, Polyak 98] ▹ Defect of every simple curve is 0, and each homotopy move changes defect by at most 2. ▹ So simplifying γ requires ≥| defect ( γ )/2| homotopy moves. ▹ Flat torus knots T ( p , p +1) and T ( q –1, q ) have defect ±Θ( n 3/2 ) . T (7,8) T (8,7)

  27. Higher-genus lower bound [Cheng E, unpublished]

  28. Higher-genus lower bound ‣ On any surface with genus>0, simplifying a contractible curve requires Ω( n 2 ) homotopy moves in the worst case. ‣ It’s convenient to work in the punctured plane R 2 \{ o } , where o is an arbitrary point called the origin . ‣ Homotopy moves around o are forbidden.

  29. Our bad curve

  30. Winding number ‣ wind ( γ , p ) = number of times γ winds ccw around p ‣ For points p not on γ , given by Alexander numbering : 
 [Meister 1770, Gauss c.1830, Möbius 1863, Alexander 1928] ‣ For vertices, average the winding 
 numbers of all four incident faces ‣ A curve γ in the punctured plane is 
 contractible iff wind ( γ , o ) = 0.

  31. Vertex types ‣ Consider any contractible curve γ in the punctured plane. ‣ Smoothing γ at any vertex x yields two curves γ x + and γ x – . γ + x x γ − x ‣ Define type ( x ) := wind ( γ x + , o ) = – wind ( γ x – , o ) ‣ Vertices x and z are complementary if type ( x )+ type ( z ) = 0

  32. 2 0 0 1 1 0 0 –1 0 0 –1 0 –1 0 –1 0 Winding #s Types

  33. Our bad curve again Types x i –6 –5 –4 –3 –2 –1 y i 1 3 5 7 9 11 1 2 3 4 5 6 a i x ʹ 2 4 6 8 10 12 –6 –5 –4 –3 –2 –1 i z i –12 –11 –10 –9 –8 –7 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 Winding #s

  34. Winding Lemma ‣ 1 → 0 and 2 → 0 moves do not change vertex winding numbers. ‣ Each 3 → 3 move changes the winding numbers of three vertices, each by exactly 1. ‣ Every 2 → 0 move deletes vertices with equal winding numbers. 1 → 0 2 → 0 3 → 3

  35. Type Lemma ‣ No homotopy move changes the type of any vertex. ‣ Every 1 → 0 move deletes a vertex of type 0. ‣ Every 2 → 0 move deletes two complementary vertices. γ + x z x z x γ − z γ + γ − x z x z x z

  36. Traces ‣ Fix a homotopy that contracts curve γ ‣ Every vertex x of γ defines a path through the homotopy. ▹ Follow x forward through the homotopy to 2 → 0 move that deletes x and some complementary vertex x 1 . ▹ Follow x 1 backward to 0 → 2 move creating x 1 and x 2 . ▹ Follow x 2 forward to 2 → 0 move deleting x 2 and x 3 , and so on. ▹ We eventually reach vertex x 2 k –1 of the original curve γ. ‣ These traces define a matching between complementary vertices of γ .

  37. Winding distance ‣ Any trace between complementary vertices x and z passes through at least | wind ( γ , x ) – wind ( γ , z ) | 3 → 3 moves. ‣ At most 3 traces pass through each 3 → 3 move. ‣ So the total number of 3 → 3 moves is at least 
 Σ x~y | wind ( γ , x ) – wind ( γ , z ) | /3.

  38. Lower bound Type Winding # x i –6 –5 –4 –3 –2 –1 y i 1 3 5 7 9 11 1 2 3 4 5 6 a i x ʹ 2 4 6 8 10 12 –6 –5 –4 –3 –2 –1 i z i –12 –11 –10 –9 –8 –7 1 2 3 4 5 6 7 8 9 10 11 12 12 11 10 9 8 7 6 5 4 3 2 1 ‣ For our bad curve, the vertex matching is essentially unique, and its total winding distance is Ω( n 2 )

  39. http://a.carapetis.com/csf/

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend