Combinatorics and applications of Schnyder woods Eric Fusy (LIX, - - PowerPoint PPT Presentation
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
=
- 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
=
- 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)
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)
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:
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
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
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
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
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
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
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
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
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]
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]
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]
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]
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
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]
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Encoding the tree
choice of root-leaf n = 5
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 =
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 =
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
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
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)!
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:
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)
Results in higher genus: drawing for g = 1
- ⇒
toroidal triang. periodic drawing
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]
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