Dessin de triangulations: algorithmes, combinatoire, et analyse - - PowerPoint PPT Presentation

dessin de triangulations algorithmes combinatoire et
SMART_READER_LITE
LIVE PREVIEW

Dessin de triangulations: algorithmes, combinatoire, et analyse - - PowerPoint PPT Presentation

Dessin de triangulations: algorithmes, combinatoire, et analyse Eric Fusy Projet ALGO, INRIA Rocquencourt et LIX, Ecole Polytechnique p.1/53 Motivations Display of large structures on a planar surface p.2/53 Planar maps


slide-1
SLIDE 1

Dessin de triangulations: algorithmes, combinatoire, et analyse

´ Eric Fusy Projet ALGO, INRIA Rocquencourt et LIX, ´ Ecole Polytechnique

– p.1/53

slide-2
SLIDE 2

Motivations

Display of large structures on a planar surface

– p.2/53

slide-3
SLIDE 3

Planar maps

  • A planar map is obtained by embedding a planar graph

in the plane without edge crossings.

  • A planar map is defined up to continuous deformation

Triangulation Planar map The same planar map Quadrangulation

– p.3/53

slide-4
SLIDE 4

Planar maps

  • Planar maps are combinatorial objects
  • They can be encoded without dealing with coordinates

1 2 3 4 5 6 7 Encoding: to each vertex is associated the (cyclic) list of its neighbours in clockwise order 1: (2, 4) 2: (1, 7, 6) 3: (4, 6, 5) 4: (1, 3) 5: (3, 7) 6: (3, 2, 7) 7: (2, 5, 6) Choice of labels Planar map

– p.4/53

slide-5
SLIDE 5

Combinatorics of maps

Triangulations

3 spanning trees

Quadrangulations

2 spanning trees

Tetravalent

eulerian orientation

|Tn| = 2(4n−3)!

n!(3n−2)!

|Qn| = 2(3n−3)!

n!(2n−2)!

|En| = 2·3n(2n)!

n!(n+2)!

⇒ Tutte, Schaeffer, Schnyder, De Fraysseix et al...

– p.5/53

slide-6
SLIDE 6

A particular family of triangulations

  • We consider triangulations of the 4-gon (the outer face

is a quadrangle)

  • Each 3-cycle delimits a face (irreducibility)

Forbidden Irreducible

– p.6/53

slide-7
SLIDE 7

Transversal structures

We define a transversal structure using local conditions Inner edges are colored blue or red and oriented:

Border vertices ⇒ Inner vertex ⇒ ⇒ Example:

– p.7/53

slide-8
SLIDE 8

Link with bipolar orientations

bipolar orientation = acyclic orientation with a unique minimum and a unique maximum The blue (resp. red) edges give a bipolar orientation The two bipolar orientations are transversal

Sr Nr Nb Sb

– p.8/53

slide-9
SLIDE 9

Link with bipolar orientations

bipolar orientation = acyclic orientation with a unique minimum and a unique maximum The blue (resp. red) edges give a bipolar orientation The two bipolar orientations are transversal

Sr Nr Nb Sb

– p.9/53

slide-10
SLIDE 10

Definition and properties of transversal structures on triangulations

– p.10/53

slide-11
SLIDE 11

Planar maps

  • A planar map is obtained by drawing a planar graph in

the plane without edge crossings.

  • A planar map is defined up to continuous deformation

Triangulation Planar map The same planar map Quadrangulation

– p.11/53

slide-12
SLIDE 12

Planar maps

  • Planar maps are combinatorial objects
  • They can be encoded without dealing with coordinates

1 2 3 4 5 6 7 Encoding: to each vertex is associated the (cyclic) list of its neighbours in clockwise order 1: (2, 4) 2: (1, 7, 6) 3: (4, 6, 5) 4: (1, 3) 5: (3, 7) 6: (3, 2, 7) 7: (2, 5, 6) Choice of labels Planar map

– p.12/53

slide-13
SLIDE 13

A particular family of triangulations

  • We consider triangulations of the 4-gon (the outer face

is a quadrangle)

  • Each 3-cycle delimits a face (irreducibility)

Forbidden Irreducible

– p.13/53

slide-14
SLIDE 14

Transversal structures

We define a transversal structure using local conditions Inner edges are colored blue or red and oriented:

Border vertices ⇒ Inner vertex ⇒ ⇒ Example:

cf Regular edge 4-labelings (Kant, He)

– p.14/53

slide-15
SLIDE 15

Link with bipolar orientations

bipolar orientation = acyclic orientation with a unique minimum and a unique maximum The blue (resp. red) edges give a bipolar orientation The two bipolar orientations are transversal

Sr Nr Nb Sb

– p.15/53

slide-16
SLIDE 16

Overview

– p.16/53

slide-17
SLIDE 17

Definition and properties of transversal structures on triangulations

– p.17/53

slide-18
SLIDE 18

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-19
SLIDE 19

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-20
SLIDE 20

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-21
SLIDE 21

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-22
SLIDE 22

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-23
SLIDE 23

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-24
SLIDE 24

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-25
SLIDE 25

Existence of transversal structures

  • For each triangulation, there exists a transversal

structure (Kant, He 1997)

  • There exists linear time iterative algorithms to compute

transversal structures

– p.18/53

slide-26
SLIDE 26

The structure of transversal structures

  • For each triangulation T, such transversal structures are

not unique

  • Let XT be the set of transversal bicolorations of T
  • What is the structure of XT ?

... ...

– p.19/53

slide-27
SLIDE 27

Without orientations

The orientation of edges are not necessary. The local conditions can be defined just with the bicoloration:

Example: Border vertices ⇒ Inner vertex ⇒ ⇒

– p.20/53

slide-28
SLIDE 28

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-29
SLIDE 29

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-30
SLIDE 30

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-31
SLIDE 31

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-32
SLIDE 32

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-33
SLIDE 33

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

Local conditions

– p.21/53

slide-34
SLIDE 34

The two definitions are equivalent

The orientations of edges can be recovered in an unique way

⇒ bijection between the two structures

bijection

– p.21/53

slide-35
SLIDE 35

The set XT is a distributive lattice

T=

– p.22/53

slide-36
SLIDE 36

The set XT is a distributive lattice

color switch

– p.22/53

slide-37
SLIDE 37

Angular graph of T

We associate to T an angular graph Q(T):

  • The black vertices of Q(T) are the vertices of T

– p.23/53

slide-38
SLIDE 38

Angular graph of T

We associate to T an angular graph Q(T):

  • There is a white vertex of Q(T) in each face of T

– p.23/53

slide-39
SLIDE 39

Angular graph of T

We associate to T an angular graph Q(T):

  • To each angle of T corresponds an edge of Q(T)

– p.23/53

slide-40
SLIDE 40

Angular graph of T

We associate to T an angular graph Q(T):

– p.23/53

slide-41
SLIDE 41

Angular graph of T

We associate to T an angular graph Q(T):

T Q(T)

– p.23/53

slide-42
SLIDE 42

Induced orientation on Q(T)

Vertex−condition:

Angle of T Edge of Q(T)

Face−condition:

– p.24/53

slide-43
SLIDE 43

Bijective correspondences

  • utdegree 4
  • utdegree 1

Local rule angle of T → edge of Q(T )

Transversal without orientatio

  • rientation of Q(T)

Remove

  • rientations

with orientations Transversal

iterative algorithm

– p.25/53

slide-44
SLIDE 44

Bijective correspondences

(Ossona de Mendez, Felsner)

  • utdegree 4
  • utdegree 1

DISTRIBUTIVE LATTICE

Local rule angle of T → edge of Q(T )

Transversal without orientatio

  • rientation of Q(T)

Remove

  • rientations

with orientations Transversal

iterative algorithm

– p.25/53

slide-45
SLIDE 45

Flip on Q(T) and then on T

– p.26/53

slide-46
SLIDE 46

Flip on Q(T) and then on T

– p.26/53

slide-47
SLIDE 47

Flip on Q(T) and then on T

– p.26/53

slide-48
SLIDE 48

Flip on Q(T) and then on T

– p.26/53

slide-49
SLIDE 49

Flip on Q(T) and then on T

– p.26/53

slide-50
SLIDE 50

Flip on Q(T) and then on T

color switch

– p.26/53

slide-51
SLIDE 51

The set XT is a distributive lattice

The unique transversal bicoloration of T without We distinguish: left alternating 4-cycles right alternating 4-cycles right alternating 4-cycle is said minimal Flip operation: switch colors inside a right alternating 4-cycle

– p.27/53

slide-52
SLIDE 52

Straight-line drawing algorithm from the transversal structures

– p.28/53

slide-53
SLIDE 53

Application to graph drawing

The transversal structure can be used to produce a planar drawing on a regular grid

– p.29/53

slide-54
SLIDE 54

The red map and the blue map of T

Red map Blue map

– p.30/53

slide-55
SLIDE 55

The red map gives abscissas (1)

Let v be an inner vertex of T Let Pr(v) be the unique path passing by v which is:

  • the rightmost one before arriving at v
  • the leftmost one after leaving v

v v ⇒ Pr(v)

– p.31/53

slide-56
SLIDE 56

The red map gives abscissas (2)

The absciss of v is the number of faces of the red map on the left of Pr(v)

A A

⇒ A has absciss 2

– p.32/53

slide-57
SLIDE 57

The blue map gives ordinates (1)

Similarly we define Pb(v) the unique blue path which is:

  • the rightmost one before arriving at v
  • the leftmost one after leaving v

v ⇒ Pb(v) v

– p.33/53

slide-58
SLIDE 58

The blue map gives ordinates (2)

The ordinate of v is the number of faces of the blue map below Pb(v)

B B

⇒ B has ordinate 4

– p.34/53

slide-59
SLIDE 59

Execution of the algorithm

– p.35/53

slide-60
SLIDE 60

Execution of the algorithm

Let fr be the number of faces of the red map

fr = 8

– p.35/53

slide-61
SLIDE 61

Execution of the algorithm

Let fb be the number of faces of the blue map

fb = 7 fr = 8

– p.35/53

slide-62
SLIDE 62

Execution of the algorithm

Take a regular grid of width fr and height fb and place the 4 border vertices of T at the 4 corners of the grid

– p.35/53

slide-63
SLIDE 63

Execution of the algorithm

Place all other points using the red path for absciss and the blue path for ordinate

– p.35/53

slide-64
SLIDE 64

Execution of the algorithm

Place all other points using the red path for absciss and the blue path for ordinate

4 faces on the left

– p.35/53

slide-65
SLIDE 65

Execution of the algorithm

Place all other points using the red path for absciss and the blue path for ordinate

3 faces below

– p.35/53

slide-66
SLIDE 66

Execution of the algorithm

Place all other points using the red path for absciss and the blue path for ordinate

– p.35/53

slide-67
SLIDE 67

Execution of the algorithm

Link each pair of adjacent vertices by a segment

– p.35/53

slide-68
SLIDE 68

Execution of the algorithm

– p.35/53

slide-69
SLIDE 69

Results

  • The obtained drawing is a straight line embedding
  • The drawing respects the transversal structure:
  • Red edges are oriented from bottom-left to top-right
  • Blue edges are oriented from top-left to bottom-right
  • If T has n vertices, the width W and height H verify

W + H = n − 1

similar grid size as He (1996) and Miura et al (2001)

– p.36/53

slide-70
SLIDE 70

Compaction step

  • Some abscissas and ordinates are not used
  • The deletion of these unused coordinates keeps the

drawing planar

unused unused

– p.37/53

slide-71
SLIDE 71

Compaction step

  • Some abscissas and ordinates are not used
  • The deletion of these unused coordinates keeps the

drawing planar

unused

– p.37/53

slide-72
SLIDE 72

Compaction step

  • Some abscissas and ordinates are not used
  • The deletion of these unused coordinates keeps the

drawing planar

– p.37/53

slide-73
SLIDE 73

Size of the grid after deletion

  • If the transversal structure is the minimal one, the

number of deleted coordinates can be analyzed:

  • After deletion, the grid has size 11

27n × 11 27n“almost surely”

  • Reduction of

5 27 ≈ 18% compared to He and Miura et al

– p.38/53

slide-74
SLIDE 74

Bijection between triangulations and ternary trees

– p.39/53

slide-75
SLIDE 75

Ternary trees

A ternary tree is a plane tree with:

  • Vertices of degree 4 called inner nodes
  • Vertices of degree 1 called leaves
  • An edge connected two inner nodes is called inner edge
  • An edge incident to a leaf is called a stem

A ternary tree can be endowed with a transversal structure

– p.40/53

slide-76
SLIDE 76

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-77
SLIDE 77

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-78
SLIDE 78

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-79
SLIDE 79

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-80
SLIDE 80

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-81
SLIDE 81

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-82
SLIDE 82

From a ternary tree to a triangulation

Local operations to“close”triangular faces

– p.41/53

slide-83
SLIDE 83

From a ternary tree to a triangulation

Draw a quadrangle outside of the figure

– p.41/53

slide-84
SLIDE 84

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-85
SLIDE 85

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-86
SLIDE 86

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-87
SLIDE 87

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-88
SLIDE 88

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-89
SLIDE 89

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-90
SLIDE 90

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-91
SLIDE 91

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-92
SLIDE 92

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-93
SLIDE 93

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-94
SLIDE 94

From a ternary tree to a triangulation

Merge remaining stems to form triangles

– p.41/53

slide-95
SLIDE 95

Properties of the closure-mapping

  • The closure mapping is a bijection between ternary trees

with n inner nodes and triangulations with n inner vertices.

  • The closure transports the transversal structure
  • The obtained transversal structure on T is minimal

left alternating 4−cycle ... ...

– p.42/53

slide-96
SLIDE 96

Observation to find the inverse mappin

The original 4 incident edges of each inner vertex of T remain the clockwise-most edge in each bunch

Tree ...

– p.43/53

slide-97
SLIDE 97

Recover the tree

Compute the minimal transversal structure

– p.44/53

slide-98
SLIDE 98

Recover the tree

– p.44/53

slide-99
SLIDE 99

Recover the tree

Remove quadrangle

– p.44/53

slide-100
SLIDE 100

Recover the tree

– p.44/53

slide-101
SLIDE 101

Recover the tree

Keep the clockwisemost edge in each bunch

– p.44/53

slide-102
SLIDE 102

Recover the tree

– p.44/53

slide-103
SLIDE 103

Applications of the bijection

  • Enumeration:⇒ Tn =

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

  • Random generation: linear-time uniform random sampler
  • f triangulations with n vertices
  • Analysis of the grid size: almost surely 5n/27 deleted

coordinates for a random triangulation with n vertices

– p.45/53

slide-104
SLIDE 104

Analysis of the size of the grid using the bijection

– p.46/53

slide-105
SLIDE 105

Size of the compact drawing ?

Let T be a triangulation with n vertices endowed with its minimal transversal structure

  • Unoptimized drawing: W + H = n − 1
  • Delete unused coordinates⇒Compact drawing:

Wc + Hc = n − 1−#(unused coord.)

unused unused

Theorem: #(unused coord.) ∼ 5n

27 almost surely

– p.47/53

slide-106
SLIDE 106

Rule to give abscissa

The absciss of v is the number of faces of the red map on the left of Pr(v)

A A

⇒ A has absciss 2

– p.48/53

slide-107
SLIDE 107

Absciss ↔ face of the red-map

  • Let fr be the number of faces of the red-map
  • Let i ∈ [1, fr] be an absciss-candidate
  • There exists a face fi of the red-map such that:

Abs(v) ≥ i ⇔ fi is on the left of Pr(v)

Example: i = 6

v v

f6 f6 Abs(v) = 2 < 6 Abs(v) = 6 ≥ 6

– p.49/53

slide-108
SLIDE 108

Unused abscissa

An absciss-candidate i ∈ [1, fr] is unused iff:

Abs(v) ≥ i ⇒ Abs(v) ≥ i + 1 ⇒ Faces fi and fi+1 can not be separated by a path Pr(v) ⇒ fi and fi+1 are contiguous

fi

BottomRight(fi)=TopLeft(fi+1) v

CAN NOT HAPPEN

fi fi+1 fi+1

– p.50/53

slide-109
SLIDE 109

Unused abscissa and opening

Ternary tree

  • pening

Unused abscissa Triangulation Internal edge such that cw−consecutive edge at each extremity is an internal edge

– p.51/53

slide-110
SLIDE 110

Reduction to a tree-problem

How many How many in a random ternary tree in a random triangulation How many unused abscissas in a random triangulation Width of the grid of the compact drawing ?

⇒ ∼ 1

2 5n 27

(using generating functions)

– p.52/53

slide-111
SLIDE 111

Analysis of the tree parameter

  • One-variable grammar

T = Z × (1 + T )3 ⇒ ⇒ T(z) =

n Tnzn

T(z) = z(1 + T(z))3

Ternary trees

  • Two-variables grammar ⇒

T(z, u) =

n,k Tn,kznuk

node marked by z marked by u

  • Use quasi-power theorem (Hwang, Flajolet Sedgewick)

ρ(u) := Sing(u → T(z, u)) − ρ′(1)

ρ(1) = 5 27

⇒ The number of is ∼ 5n

27

almost surely

– p.53/53