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
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 Def. Planar map = connected graph embedded on the sphere = = Easier to draw in the plane (by choosing a face to be the outer face) ⇒ Triangulation = planar map where all faces are triangles (= embedded maximal planar graph)
Some contexts where maps appear discrete random geometry (pure quantum gravity) meshes (CAO) geographic maps (combinatorial incidences) (topological info.) (and also: ramified coverings, factorizations in the symmetric group, classification of surfaces)
Schnyder woods on triangulations [Schnyder’89] Schnyder wood = choice of a direction and color (red, green, or blue) for each inner edge, such that: Local conditions: at each inner vertex at the outer vertices yields a spanning tree in each color
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 v k e ⇓ v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k e ⇓ v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 e ⇓ v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 v 5 e ⇓ v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 v 5 e ⇓ v 4 v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 v 5 e ⇓ v 4 v 3 v k e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 v 5 e ⇓ v 4 v 3 v k v 2 e e
Existence of Schnyder woods Every triangulation admits a (not necessarily unique) Schnyder wood v 7 Shelling procedure [Brehm’03] for each k from n − 2 to 1 v k v 6 v 5 e ⇓ v 4 v k v 3 v 2 v 1 e e
Application to straight-line drawing Theorem: [Wagner’36, Fary’48, Stein’51] Every triangulation admits a planar drawing where edges are drawn as segments Output : assignment of Input: combinatorial incidences coordinates to the vertices of the triangulation (A,B,C) A (A,F,B) A A:(8,12) (F,E,B) B:(14,0) (D,E,F) D D C:(0,5) (A,D,F) F G F D:(6,9) (A,C,D) G E:(8,4) E C (D,G,E) E F:(9,7) (D,C,G) C B G:(8,5) (G,C,E) B (E,C,B) Classical algorithms: [Tutte’63], [de Fraysseix et al’89], [Schnyder’90]
Schnyder’s face-counting algorithm [Schnyder’90] Outer vertices: equilateral triangle 2 Inner vertices: barycentric placement 3 a 1 a 1 2 faces in blue area 3 faces in blue area B A A D 4 C a 2 a 3 a 2 a 3 4 faces in red area place A at 4 9 a 1 + 2 9 a 2 + 3 9 a 3
Schnyder’s face-counting algorithm [Schnyder’90] Outer vertices: equilateral triangle 2 Inner vertices: barycentric placement 3 a 1 a 1 2 faces in blue area 3 faces in blue area B A A D 4 C a 2 a 3 a 2 a 3 4 faces in red area place A at 4 9 a 1 + 2 9 a 2 + 3 9 a 3 a 1 straight-line drawing a 2 a 3
Schnyder’s face-counting algorithm [Schnyder’90] Outer vertices: equilateral triangle 2 Inner vertices: barycentric placement 3 a 1 a 1 2 faces in blue area 3 faces in blue area B A A D 4 C a 2 a 3 a 2 a 3 4 faces in red area place A at 4 9 a 1 + 2 9 a 2 + 3 9 a 3 a 1 straight-line drawing n vertices sheer grid (2 n − 5) × (2 n − 5) a 2 a 3
Iterative drawing algorithm [de Fraysseix, Pollack, Pach’89] 7 1. 2. 5 3. 6 4 4. 3 2 1 5. 6. 7. 2 k × k grid at step k
Some other applications of Schnyder woods Dominating sets Maximal-planarity testing [Nagamochi et al.’04] input : list of edges output : list of triangles [Matheson,Tarjan’96] (when possible) (3,4) (1,2) (1,5) (1,3) (1,5,4) (1,4,2) (3,5) (1,4) (1,3,5) (2,4,3) (2,3) (4,5) (1,3,2) (3,4,5) (2,4) 1 1 every n -vertex triangulation has a 2 4 5 dominating vertex-set of size ≤ n/ 3 4 5 3 3 2 Spanners [Chew’89] [Bonichon et al.’10] output : network connecting them input : set of points in R 2 with bounded stretch-factor
Mesh encoding problematic Geometric information Combinatorial information: the incidences adjacency relations vertex coordinates between triangles, vertices n vertices labelled 1 , 2 , . . . , n between 30 et 96 bits/vertex [24,35,5,36,57,14,. . . ,32,4,16] 2 n − 4 triangles: David statue (Stanford’s Digital Michelangelo Project, 2000) T 2 n − 4 T 2 T 1 2 billions polygons can store information in new int[6n-12] 32 Giga bytes (without compression) or 6 n log n 192 n bits No existing algorithm nor data structure for dealing with the entire model
Mesh encoding problematic Geometric information Combinatorial information: the incidences adjacency relations vertex coordinates between triangles, vertices n vertices labelled 1 , 2 , . . . , n between 30 et 96 bits/vertex [24,35,5,36,57,14,. . . ,32,4,16] 2 n − 4 triangles: David statue (Stanford’s Digital Michelangelo Project, 2000) T 2 n − 4 T 2 T 1 2 billions polygons can store information in new int[6n-12] 32 Giga bytes (without compression) or 6 n log n 192 n bits No existing algorithm nor data Two encoding algo. using Schnyder woods: structure for dealing with the 1st one uses 4n bits entire model 2nd one uses 3 . 24 ..n bits (optimal)
Optimal encoding Let C = ∪ n C n be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C : injective mapping Φ : C → { 0 , 1 } ∗ Φ size n = 7 code-length ℓ = 12 011001101010
Optimal encoding Let C = ∪ n C n be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C : injective mapping Φ : C → { 0 , 1 } ∗ Φ size n = 7 code-length ℓ = 12 011001101010 The encoder is called size-uniform if ∀ n ≥ 1 all objects in C n are encoded by words of a same length ℓ n , i.e., Φ( C n ) ⊆ { 0 , 1 } ℓ n ℓ n ≥ log 2 ( |C n | ) Rk: Lower bound
Optimal encoding Let C = ∪ n C n be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C : injective mapping Φ : C → { 0 , 1 } ∗ Φ size n = 7 code-length ℓ = 12 011001101010 The encoder is called size-uniform if ∀ n ≥ 1 all objects in C n are encoded by words of a same length ℓ n , i.e., Φ( C n ) ⊆ { 0 , 1 } ℓ n ℓ n ≥ log 2 ( |C n | ) Rk: Lower bound Def: A size-uniform encoder is called optimal if ℓ n ∼ log 2 ( |C n | )
Optimal encoding Let C = ∪ n C n be a combinatorial class (e.g. plane trees, triangulations,...) Encoder for C : injective mapping Φ : C → { 0 , 1 } ∗ Φ size n = 7 code-length ℓ = 12 011001101010 The encoder is called size-uniform if ∀ n ≥ 1 all objects in C n are encoded by words of a same length ℓ n , i.e., Φ( C n ) ⊆ { 0 , 1 } ℓ n ℓ n ≥ log 2 ( |C n | ) Rk: Lower bound Def: A size-uniform encoder is called optimal if ℓ n ∼ log 2 ( |C n | ) � 2 n 1 � Ex: Plane trees ( n = number of edges) |C n | = ⇒ log 2 ( |C n | ) ∼ 2 n n +1 n contour n = 7 edges walk Dyck path length 2 n 0 1 0 0 1 0 0 1 0 1 1 1 0 1
Bijective encoding of Schnyder woods Let S n be the set of Schnyder woods over all triangulations with n +3 vertices [Bernardi, Bonichon’07]: There is a bijection Φ between S n and “non-intersecting pairs” of Dyck paths of lengths 2 n Φ 2 2 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 code-length 4 n (4bits/vertex) n + 3 vertices
Bijective encoding of Schnyder woods Let S n be the set of Schnyder woods over all triangulations with n +3 vertices [Bernardi, Bonichon’07]: There is a bijection Φ between S n and “non-intersecting pairs” of Dyck paths of lengths 2 n Φ 2 2 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 code-length 4 n (4bits/vertex) n + 3 vertices 6(2 n )!(2 n +2)! |S n | = Cat n Cat n +2 − Cat n +1 Cat n +1 = n !( n +1)!( n +2)!( n +3)! ⇒ |S n | ∼ 24 π 16 n n − 5 ⇒ log 2 ( |S n | ) ∼ 4 n code is optimal on S = ∪ n S n
The bijective encoding [Bernardi, Bonichon’07]] Some information is redundant: 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 [Bernardi, Bonichon’07]] Some information is redundant: 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
Recommend
More recommend