Combinatorics and applications of Schnyder woods Eric Fusy (LIX, - - PowerPoint PPT Presentation

combinatorics and applications of schnyder woods
SMART_READER_LITE
LIVE PREVIEW

Combinatorics and applications of Schnyder woods Eric Fusy (LIX, - - PowerPoint PPT Presentation

Combinatorics and applications of Schnyder woods Eric Fusy (LIX, CNRS) joint works with Olivier Bernardi, Luca Castelli Aleardi, Benjamin L ev eque, Thomas Lewiner, Dominique Poulalhon and Gilles Schaeffer S eminaire francilien de


slide-1
SLIDE 1

Combinatorics and applications of Schnyder woods

´ Eric Fusy (LIX, CNRS) joint works with Olivier Bernardi, Luca Castelli Aleardi, Benjamin L´ evˆ eque, Thomas Lewiner, Dominique Poulalhon and Gilles Schaeffer

S´ eminaire francilien de g´ eom´ etrie algorithmique et combinatoire, Octobre 2017

slide-2
SLIDE 2

=

  • Def. Planar map = connected graph embedded on the sphere

Easier to draw in the plane (by choosing a face to be the outer face)

=

Planar maps

slide-3
SLIDE 3

=

  • Def. Planar map = connected graph embedded on the sphere

Easier to draw in the plane (by choosing a face to be the outer face)

=

Planar maps

Triangulation = planar map where all faces are triangles (= embedded maximal planar graph)

slide-4
SLIDE 4

geographic maps (topological info.) discrete random geometry (pure quantum gravity)

Some contexts where maps appear

meshes (CAO) (combinatorial incidences)

(and also: ramified coverings, factorizations in the symmetric group, classification of surfaces)

slide-5
SLIDE 5

Schnyder woods on triangulations

at each inner vertex at the outer vertices yields a spanning tree in each color [Schnyder’89] Schnyder wood = choice of a direction and color (red, green, or blue) for each inner edge, such that: Local conditions:

slide-6
SLIDE 6

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood

e

Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e

slide-7
SLIDE 7

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7

slide-8
SLIDE 8

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6

slide-9
SLIDE 9

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6 v5

slide-10
SLIDE 10

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6 v5 v4

slide-11
SLIDE 11

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6 v5 v4 v3

slide-12
SLIDE 12

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6 v5 v4 v3 v2

slide-13
SLIDE 13

Existence of Schnyder woods

Every triangulation admits a (not necessarily unique) Schnyder wood Shelling procedure

[Brehm’03]

for each k from n − 2 to 1 ⇓ vk vk

e e e

v7 v6 v5 v4 v3 v2 v1

slide-14
SLIDE 14

Application to straight-line drawing

Theorem: [Wagner’36, Fary’48, Stein’51] Every triangulation admits a planar drawing where edges are drawn as segments A B C D E G Input: combinatorial incidences Output: assignment of

  • f the triangulation

coordinates to the vertices A B C D F E F G

(A,B,C) (A,F,B) (F,E,B) (D,E,F) (A,D,F) (A,C,D) (D,G,E) (D,C,G) (G,C,E) (E,C,B) A:(8,12) B:(14,0) C:(0,5) D:(6,9) E:(8,4) F:(9,7) G:(8,5)

Classical algorithms: [Tutte’63], [de Fraysseix et al’89], [Schnyder’90]

slide-15
SLIDE 15

Schnyder’s face-counting algorithm

4 faces in red area 2 faces in blue area 3 faces in blue area

a1 a2 a3

A B C D

a1 a2 a3

A

place A at 4

9a1 + 2 9a2 + 3 9a3

Outer vertices: equilateral triangle 4 2 3 Inner vertices: barycentric placement [Schnyder’90]

slide-16
SLIDE 16

Schnyder’s face-counting algorithm

4 faces in red area 2 faces in blue area 3 faces in blue area

a1 a2 a3

A B C D

a1 a2 a3

A

place A at 4

9a1 + 2 9a2 + 3 9a3

Outer vertices: equilateral triangle 4 2 3 Inner vertices: barycentric placement straight-line drawing a1 a2 a3 [Schnyder’90]

slide-17
SLIDE 17

Schnyder’s face-counting algorithm

4 faces in red area 2 faces in blue area 3 faces in blue area

a1 a2 a3

A B C D

a1 a2 a3

A

place A at 4

9a1 + 2 9a2 + 3 9a3

Outer vertices: equilateral triangle 4 2 3 Inner vertices: barycentric placement straight-line drawing a1 a2 a3 sheer

n vertices

grid (2n−5) × (2n−5)

[Schnyder’90]

slide-18
SLIDE 18

Iterative drawing algorithm

[de Fraysseix, Pollack, Pach’89] 1. 2. 3. 4. 5. 6. 7.

1 2 3 4 5 6 7

2k × k grid at step k

slide-19
SLIDE 19

Some other applications of Schnyder woods

every n-vertex triangulation has a dominating vertex-set of size ≤ n/3 Dominating sets Spanners Maximal-planarity testing input: set of points in R2

  • utput: network connecting them

with bounded stretch-factor

1 2 3 4 1 2 3 4

input: list of edges

(1,2) (1,3) (1,4) (2,3) (2,4) (3,4) 5 5 (1,5) (3,5) (4,5)

(1,4,2) (2,4,3) (3,4,5) (1,5,4) (1,3,5) (1,3,2)

  • utput: list of triangles

(when possible) [Chew’89] [Matheson,Tarjan’96] [Nagamochi et al.’04] [Bonichon et al.’10]

slide-20
SLIDE 20

Geometric information

between 30 et 96 bits/vertex

n vertices labelled 1, 2, . . . , n

Combinatorial information: the incidences

6n log n 192n bits

vertex coordinates adjacency relations between triangles, vertices

  • r

David statue (Stanford’s Digital Michelangelo Project, 2000) 2 billions polygons

32 Giga bytes (without compression)

No existing algorithm nor data structure for dealing with the entire model

Mesh encoding problematic

2n − 4 triangles: can store information in new int[6n-12] [24,35,5,36,57,14,. . . ,32,4,16]

T1 T2 T2n−4

slide-21
SLIDE 21

Geometric information

between 30 et 96 bits/vertex

n vertices labelled 1, 2, . . . , n

Combinatorial information: the incidences

6n log n 192n bits

vertex coordinates adjacency relations between triangles, vertices

  • r

David statue (Stanford’s Digital Michelangelo Project, 2000) 2 billions polygons

32 Giga bytes (without compression)

No existing algorithm nor data structure for dealing with the entire model

Mesh encoding problematic

2n − 4 triangles: can store information in new int[6n-12] [24,35,5,36,57,14,. . . ,32,4,16]

T1 T2 T2n−4 Two encoding algo. using Schnyder woods: 1st one uses 4n bits 2nd one uses 3.24..n bits (optimal)

slide-22
SLIDE 22

Optimal encoding

Let C = ∪nCn be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C: injective mapping Φ : C → {0, 1}∗

Φ 011001101010 size n = 7 code-length ℓ = 12

slide-23
SLIDE 23

Optimal encoding

Let C = ∪nCn be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C: injective mapping Φ : C → {0, 1}∗ The encoder is called size-uniform if ∀n ≥ 1 all objects in Cn Rk: Lower bound ℓn ≥ log2(|Cn|) are encoded by words of a same length ℓn, i.e., Φ(Cn) ⊆ {0, 1}ℓn

Φ 011001101010 size n = 7 code-length ℓ = 12

slide-24
SLIDE 24

Optimal encoding

Let C = ∪nCn be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C: injective mapping Φ : C → {0, 1}∗ The encoder is called size-uniform if ∀n ≥ 1 all objects in Cn Rk: Lower bound ℓn ≥ log2(|Cn|) are encoded by words of a same length ℓn, i.e., Φ(Cn) ⊆ {0, 1}ℓn Def: A size-uniform encoder is called optimal if ℓn ∼ log2(|Cn|)

Φ 011001101010 size n = 7 code-length ℓ = 12

slide-25
SLIDE 25

Optimal encoding

Let C = ∪nCn be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C: injective mapping Φ : C → {0, 1}∗ The encoder is called size-uniform if ∀n ≥ 1 all objects in Cn Rk: Lower bound ℓn ≥ log2(|Cn|) are encoded by words of a same length ℓn, i.e., Φ(Cn) ⊆ {0, 1}ℓn Def: A size-uniform encoder is called optimal if ℓn ∼ log2(|Cn|)

Ex: Plane trees (n = number of edges) |Cn| =

1 n+1

2n

n

  • ⇒ log2(|Cn|) ∼ 2n

n = 7 edges

contour walk 0 1 0 0 1 0 0 1 0 1 1 1 0 1 length 2n Φ 011001101010 size n = 7 code-length ℓ = 12 Dyck path

slide-26
SLIDE 26

Bijective encoding of Schnyder woods

Let Sn be the set of Schnyder woods over all triangulations with n+3 vertices [Bernardi, Bonichon’07]: There is a bijection Φ between Sn and “non-intersecting pairs” of Dyck paths of lengths 2n

0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 Φ n + 3 vertices code-length 4n (4bits/vertex)

2 2

slide-27
SLIDE 27

Bijective encoding of Schnyder woods

Let Sn be the set of Schnyder woods over all triangulations with n+3 vertices [Bernardi, Bonichon’07]: There is a bijection Φ between Sn and “non-intersecting pairs” of Dyck paths of lengths 2n

0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 Φ n + 3 vertices code-length 4n (4bits/vertex) |Sn| = CatnCatn+2 − Catn+1Catn+1 =

6(2n)!(2n+2)! n!(n+1)!(n+2)!(n+3)!

⇒ |Sn| ∼ 24

π 16nn−5

⇒ log2(|Sn|) ∼ 4n code is optimal on S = ∪nSn

2 2

slide-28
SLIDE 28

The bijective encoding

Some information is redundant:

[Bernardi, Bonichon’07]]

just need the red tree and positions of the ingoing green edges just need the red tree and positions of the ingoing green edges

slide-29
SLIDE 29

The bijective encoding

Some information is redundant:

[Bernardi, Bonichon’07]]

just need the red tree and positions of the ingoing green edges just need the red tree and positions of the ingoing green edges Bottom Dyck path: contour of red tree

slide-30
SLIDE 30

The bijective encoding

Some information is redundant:

[Bernardi, Bonichon’07]]

just need the red tree and positions of the ingoing green edges just need the red tree and positions of the ingoing green edges u1 u2 u3 u4 u5 u6 Bottom Dyck path: contour of red tree Upper Dyck path: green indegrees 4th up-step in(u4)=2

slide-31
SLIDE 31

Is this optimal for triangulations?

Let Tn be the set of triangulations with n + 3 vertices, T = ∪nTn [Tutte’62]

|Tn| = 2(4n + 1)! (3n + 2)!(n + 1)! ≈ 16 27

  • 3

2πn−5/2 256 27 n

⇒ log2(|Tn|) ∼ n log2(256/27) ≈ 3.24 n Optimally, we can hope for 3.24 bits per vertex

slide-32
SLIDE 32

Is this optimal for triangulations?

Let Tn be the set of triangulations with n + 3 vertices, T = ∪nTn [Tutte’62]

|Tn| = 2(4n + 1)! (3n + 2)!(n + 1)! ≈ 16 27

  • 3

2πn−5/2 256 27 n

⇒ log2(|Tn|) ∼ n log2(256/27) ≈ 3.24 n Optimally, we can hope for 3.24 bits per vertex Previous encoder (4bits per vertex) was optimal for S, not for T

Sn =

  • S(T)

T∈Tn set of Schnyder wods over T For T taken at random in Tn, in average, |S(T)| = |Sn|

|Tn| ≍ 1.6875n

slide-33
SLIDE 33

Canonical representative in S(T)

min max Flip: to Theo: S(T) is a distributive lattice

[Ossona de Mendez’94], [Felsner’03]

Let T be a triangulation

slide-34
SLIDE 34

Canonical representative in S(T)

min max Flip: to Theo: S(T) is a distributive lattice

[Ossona de Mendez’94], [Felsner’03]

The min is the unique S ∈ S(T) with no clockwise circuit Let T be a triangulation

slide-35
SLIDE 35

Optimal encoder for triangulations

Bijection Tn ← → tree-family An easy to encode

[F, Poulalhon, Schaeffer’08], [Bernardi, F’10] other bijection in [Poulalhon, Schaeffer’03]

minimal Schnyder wood (forgetting the colors)

Local rule ⇒

unrooted binary tree leaves adjacent to

erase edges of T

slide-36
SLIDE 36

Encoding the tree

choice of root-leaf n = 5

slide-37
SLIDE 37

Encoding the tree

choice of root-leaf n = 5 contour-word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

w =

slide-38
SLIDE 38

Encoding the tree

choice of root-leaf n = 5 contour-word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

  • The word is in S(0n13n+3)

(Rk: in Schnyder wood encoding, the word was in S(02n12n)

still 4 bits per vertex

w =

slide-39
SLIDE 39

Encoding the tree

choice of root-leaf n = 5 contour-word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

  • The word is in S(0n13n+3)

(Rk: in Schnyder wood encoding, the word was in S(02n12n)

still 4 bits per vertex

  • But we can further compress, since the word is unbalanced!

such that ℓn ∼ log2 an+bn

an

  • w =

∃ mapping Φ from S(0an1bn) to {0, 1}ℓn

slide-40
SLIDE 40

Encoding the tree

choice of root-leaf n = 5 contour-word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

  • The word is in S(0n13n+3)

(Rk: in Schnyder wood encoding, the word was in S(02n12n)

still 4 bits per vertex

  • But we can further compress, since the word is unbalanced!

such that ℓn ∼ log2 an+bn

an

  • w =

gives here ℓn ∼ log2 4n+3

n

  • ∼ 3.24n

∃ mapping Φ from S(0an1bn) to {0, 1}ℓn

slide-41
SLIDE 41

Encoding the tree

choice of root-leaf n = 5 contour-word 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1

  • The word is in S(0n13n+3)

(Rk: in Schnyder wood encoding, the word was in S(02n12n)

still 4 bits per vertex

  • But we can further compress, since the word is unbalanced!

such that ℓn ∼ log2 an+bn

an

  • w =

gives here ℓn ∼ log2 4n+3

n

  • ∼ 3.24n

∃ mapping Φ from S(0an1bn) to {0, 1}ℓn

Rk: Lukasciewicz condition: ⇒ |Tn| =

2(4n+1)! (3n+2)!(n+1)!

slide-42
SLIDE 42

Results in higher genus: encoding

g=1 g=2 Notion of Schnyder wood (with 2g “special edges”) & encoding with 4n + g log(n) bits

  • For any g ≥ 1:

in time O(n + g)

[Castelli, F, Lewiner’09]

cf handlebody decomposition:

slide-43
SLIDE 43

Results in higher genus: encoding

  • Bijective approach based on canonical representative extends to g = 1

yields encoding with 3.24n bits g=1 g=2

[Despr´ e, Gon¸ calves, L´ evˆ eque’16], [F,L´ evˆ eque’17]

Example under flat-torus representation Notion of Schnyder wood (with 2g “special edges”) & encoding with 4n + g log(n) bits

  • For any g ≥ 1:

in time O(n + g)

[Castelli, F, Lewiner’09]

Local rule ⇒ GF expression: F(t) = where R(t) = t(1 + R(t))4

(1 − 3R(t))2 R(t)

slide-44
SLIDE 44

Results in higher genus: drawing for g = 1

toroidal triang. periodic drawing

slide-45
SLIDE 45

Results in higher genus: drawing for g = 1

torus “tambourin” cylinder

toroidal triang. periodic drawing

  • adaptation of Schnyder’s algo to g = 1

2 recent algorithms with polynomial grid-size:

  • adaptation of iterative algo to cylinder

+ reduction from torus to cylinder each step

[Gon¸ calves, L´ evˆ eque’12] [Castelli, Devillers, F’12]

slide-46
SLIDE 46

Application to random planar maps/graphs

⋆ bijection ⇒ random generation algo. for planar triangulations

(uniform distribution: for fixed large n, draw random T under P(T) =

1 |Tn|)

  • Application to random generation

⋆ bijection extends to 3-connected maps (polyhedra) which are the building blocks for planar graphs ⇒ efficient random generation of planar graphs

  • Application to scaling limit of random triangulations

random triangulation n → ∞ brownian map

[Addario-Berry, Albenque’13]

with n vertices

typical distances scale as n1/4

random tree random triangulation

Nicolas Curien

c