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

untangling and unwinding curves
SMART_READER_LITE
LIVE PREVIEW

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/


slide-1
SLIDE 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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Elephant, Mick Burton (1966)

slide-4
SLIDE 4

Homotopy moves

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]

1→0 2→0 3→3

slide-5
SLIDE 5

Old results

  • Let n = number of self-intersection points, or vertices.
  • O(n2) 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]

slide-6
SLIDE 6

New results

  • Simplifying a closed curve in the plane with n vertices

requires Θ(n3/2) homotopy moves in the worst case.

▹ Upper bound via new algorithm ▹ Lower bound via classical curve invariant

[Cheng E, SOCG 2016]

slide-7
SLIDE 7

Curves on surfaces

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]

1→0 2→0 3→3

slide-8
SLIDE 8

Old: Curves on surfaces

  • O(n2) 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]

  • Ω(n3/2) homotopy moves are sometimes necessary.


[inherited from planar results]

slide-9
SLIDE 9

New: Curves on surfaces

  • Simplifying a contractible closed curve in the annulus

requires Ω(n2) 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(n3) homotopy moves.

▹ No dependence on the genus of the surface ▹ New algorithm still in development (Dagstuhl 17072)

slide-10
SLIDE 10

Old Algorithms

slide-11
SLIDE 11

Minimal bigons

Every 4-regular plane graph contains either
 an empty loop or a minimal bigon.

[Steinitz 1916] bigon minimal bigon

slide-12
SLIDE 12

Minimal bigons

Every non-empty minimal bigon contains at least two triangular faces (one adjacent to each side).

[Steinitz 1916]

slide-13
SLIDE 13

Minimal bigons

Every non-empty minimal bigon contains at least two triangular faces (one adjacent to each side).

[Steinitz 1916]

So we can reduce any minimal bigon to an empty bigon using 3→3 moves

slide-14
SLIDE 14

Steinitz’s algorithm

  • 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(n2) moves
  • Works for simplifiable curves in any orientable surface.

[Hass Scott 1994] [Steinitz 1916]

slide-15
SLIDE 15

Positive 3→3 moves

If there are no empty loops or empty bigons,
 then some 3→3 move decreases the sum of face depths.

[Feo Provan 1993]

1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 3 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 3 2

slide-16
SLIDE 16

Feo and Provan’s algorithm

  • 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(n2) moves,


where potential Φ = sum of face depths

[Feo Provan 1993]

slide-17
SLIDE 17

New planar algorithm

[Cheng E, SOCG 2016]

slide-18
SLIDE 18

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

Shrinking loops

slide-19
SLIDE 19

Shrinking loops

Any loop can be removed using at most 3A 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. ▹ If the loop bounds any empty bigons, we can remove one edge (and one empty bigon face) with a 2→0 move.

y z

slide-20
SLIDE 20

Shrinking loops

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

1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 3 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 3 3 2 1 3 2 3

Contracting a loop decreases the potential by at least A.

slide-21
SLIDE 21

New Algorithm

  • While there are vertices, shrink any loop.
  • O(Φ) = O(n2) moves, where Φ = potential

1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 3 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 1 3 3 2 1 3 2 3

slide-22
SLIDE 22
  • Intersection of curve with a generic closed disk
  • Boundary-to-boundary paths called strands
  • Face depths and potential defined exactly as for curves.

Tangle

1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4

slide-23
SLIDE 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.
slide-24
SLIDE 24

Useful tangles

A tangle is useful if d = O(m1/2) and s ≤ m1/2

▹ Can be tightened using O(md + ms) = O(m3/2) moves ▹ Tightening removes at least half the interior vertices ▹ Always exists (and can be found quickly).

slide-25
SLIDE 25

Our algorithm

  • While there are vertices, tighten any useful tangle.
  • Analysis:

▹ Tightening a useful tangle with m vertices takes O(m3/2) moves. ▹ Charge O(m1/2)=O(n1/2) moves to each deleted vertex ▹ So removing all n vertices takes O(n3/2) moves.

slide-26
SLIDE 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 ±Θ(n3/2).

T(7,8) T(8,7)

slide-27
SLIDE 27

Higher-genus lower bound

[Cheng E, unpublished]

slide-28
SLIDE 28

Higher-genus lower bound

  • On any surface with genus>0, simplifying a contractible

curve requires Ω(n2) homotopy moves in the worst case.

  • It’s convenient to work in the punctured plane R2\{o},

where o is an arbitrary point called the origin.

  • Homotopy moves around o are forbidden.
slide-29
SLIDE 29

Our bad curve

slide-30
SLIDE 30
  • 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.

Winding number

slide-31
SLIDE 31

Vertex types

  • Consider any contractible curve γ in the punctured plane.
  • Smoothing γ at any vertex x yields two curves γx

+ and γx –.

  • Define type(x) := wind(γx

+, o) = –wind(γx –, o)

  • Vertices x and z are complementary if type(x)+type(z) = 0

x

γ+

x

γ−

x

slide-32
SLIDE 32

1 2 –1 –1 –1

Winding #s

1 –1

Types

slide-33
SLIDE 33

Our bad curve again

1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 –1 –2 –3 –4 –5 –6 –7 –8 –9 –10 –11 –12 6 5 4 3 2 1 11 9 7 5 3 1 12 10 8 6 4 2 –1 –2 –3 –4 –5 –6

xi yi xʹ

i

zi ai

Types Winding #s

slide-34
SLIDE 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

slide-35
SLIDE 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 z z

γ+

x

γ+

x

x x

γ−

z

γ−

z

slide-36
SLIDE 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 x1. ▹ Follow x1 backward to 0→2 move creating x1 and x2. ▹ Follow x2 forward to 2→0 move deleting x2 and x3, and so on. ▹ We eventually reach vertex x2k–1 of the original curve γ.

  • These traces define a matching between complementary

vertices of γ.

slide-37
SLIDE 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.

slide-38
SLIDE 38

Lower bound

  • For our bad curve, the vertex matching is essentially

unique, and its total winding distance is Ω(n2)

1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 –1 –2 –3 –4 –5 –6 –7 –8 –9 –10 –11 –12 6 5 4 3 2 1 11 9 7 5 3 1 12 10 8 6 4 2 –1 –2 –3 –4 –5 –6

xi yi xʹ

i

zi ai

Type Winding #

slide-39
SLIDE 39

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