• Aucun résultat trouvé

Combinatorics and algorithmics of maps

N/A
N/A
Protected

Academic year: 2022

Partager "Combinatorics and algorithmics of maps"

Copied!
65
0
0

Texte intégral

(1)

Luca Castelli Aleardi

Simon Fraizer University, Vancouver

l18th march 2008, EuroCG, Nancy

Combinatorics and algorithmics of maps

Eric Fusy Thomas Lewiner

Schnyder woods for higher genus triangulated surfaces

PUC University, Rio de Janeiro CS Departement, ULB, Bruxelles

(2)

Research topics

Planar triangulations

Edge orientations and colorings

Edge Labelings

higher genus graphs

Research topics

(3)

Triangulations and maps

Combinatorics of maps

enumeration problems Graph drawing

draw a planar graph, with vertices having integer coordi- nates (using as few as possible coordinates)

Compression and succinct encoding

Reduce the amount of (memory) space used by the connectivity of a graph.

Supporting efficient navigation, using small space

Example: adjacency queries between vertices

Motivation and applications

(4)

(Schnyder ’90)

Edge orientations, tree decompositions and dimension of a graph

Theorem

A graph G is planar if and only if its dimension is at most 3 (Schnyder, Felsner, Trotter)

Theorem

A graph G is planar if and only if the dimension of its incidence poset is at most 3

A nice characterization of planar graphs: Schnyder woods

(5)

The definition in the planar (triangulated) case

(6)

with n nodes

(Schnyder ’90)

A nice characterization of planar graphs

Let T be a triangulation having outer face {x0, x1, xn−1}.

x

0

x

1

x

n−1

(7)

(Schnyder ’90)

A nice characterization of planar graphs

A partition T0, T1, T2 of the internal edges of T s.t. :

i) edge are colored and oriented in such a way that each inner node has exactly one outgoing edge of each color

x

0

x

1

x

n−1

n nodes

(8)

(Schnyder ’90)

A nice characterization of planar graphs

A partition T0, T1, T2 of the internal edges of T s.t. :

i) edge are colored and oriented in such a way that each inner nodes has exaclty one outgoing edge of each color

ii) colors and orientations around each inner node must respect the local Schnyder condition

x

0

x

1

x

n−1

n nodes

(9)

Important facts about Schnyder woods

(10)

(Schnyder ’90)

A first fundamental fact: 3 tree decomposition

T

0

, T

1

, T

2

are spanning trees of (the inner nodes of) T :

x

0

x

1

x

n−1

n nodes

x

1

x

0

T

2

T

1

x

n−1

T

0

(11)

Second fact: dimension of a graph

L

0

, L

1

, L

2

are three orders on the vertices of T :

x

0

x

1

x

n−1

n nodes

T

2

T

1

T

0

1 3 2

5 4 6

1

2 3 4

1 5 6 3 2

5 4 6

L

0

: v

1

< v

2

< v

3

< v

4

< v

5

< v

6

L

2

: v

2

< v

3

< v

6

< v

1

< v

3

< v

2

L

1

: v

2

< v

3

< v

6

< v

4

< v

5

< v

1

0

0

0

(12)

The first motivation: barycentric drawing

x1

x3 x2

How to use Schnyder woods:

Let Pi(v) be the path from v to xi in Ti.

LetRi(v) be the region defined by Pi+1(v), Pi+2(v) and (xi+1, xi+2).

R1(v) v R3(v)

R2(v) The combinatorial equivalent of the area

is given by the number of triangles en- closed in each region Ri:

vi = |Ri(v)|

|T|

Combinatorial interpretation

Theorem

For a triangulation T having n vertices, we can draw it on a grid of size (2n5)×(2n5), by setting x1 = (2n5, 0), x2 = (0, 0) and x3 = (0, 2n 5).

(13)

Application: graph compression and succinct encoding

Optimal compression (Poulalhon-Schaeffer, Icalp ’03)

0 2 3 1

5 4 6 8 7

9 10

11

4 3 0 2 5

6 7

8 9 10

1 0

1 3 2

5 4

6 7 8

9

) (

( [[ [[ ( ( (] ] ]{[ [ ) )({ }]{)(}]{[ [ [ [) )({ }]{)(}] ]( ) )({ { }}]{)(}}}])) S

T

0

T

1

T

2

Succinct encoding (Chuang ’et al. 98, Chiang et al. ’01, Barbay et al. ’07)

(14)

Tree decompositions in higher genus

(15)

Related works: tree decompositions of toroidal graphs

(Bonichon, Gavoille, Labourel, ICGT ’05)

T

0

, T

1

, T

2

vertex spanning trees the ”tambourine” solution

Inconvenients:

valid only for toroidal triangulation (genus 1)

potentially large number of vertices not satisfying the local condition

shortest cycles are hard to compute

Result:

Compute a pair of adjacent non contractible cycles

Main idea of this approach:

Graph G

C1 C2

Graph H

C1 C2

Tambourine T

C1 C 2

(16)

Our main contribution

a generalized higher genus definition

(17)

Schnyder Woods: the higher genus case

v0 v1

Given a rooted triangulated surface of genus g

(18)

Schnyder Woods: the higher genus case

Es = {e1, e2}

i) a small set E

s

of special edges, doubly oriented and colored

e1 e2

e2

|E

s

| = 2g

(19)

Schnyder Woods: the higher genus case

e1 e2

u v

v

w

w

u

Es = {e1, e2}

e1 e2

ii) a new local condition for edges in a sector incident to a multiple vertex

i) a small set E

s

of special edges,

doubly oriented and colored

at most 2 · 2g multiple vertices (incident to special edges)

(u, v, w)

(20)

Computing Schnyder Woods (in the plane)

(21)

v0 v1 vn−1

Incremental vertex conquest (Brehm’s approach)

In our example, the root face coincides with the exterior (infinite) face

The traversal starts from the root face

(22)

v0 v1 vn−1

Incremental vertex conquest conquer(v

n−1

)+

colororient (v

n−1

)

(23)

Incremental vertex conquest

conquer(v

n−2

)+

colororient (v

n−2

)

vn−2

vn−2 is a free vertex

no incident chordal edges

w

w is not free

(24)

Incremental vertex conquest

conquer(v

n−3

)+

colororient (v

n−3

)

vn−3

(25)

Incremental vertex conquest

(26)

Incremental vertex conquest

(27)

Incremental vertex conquest

(28)

Incremental vertex conquest

(29)

Incremental vertex conquest

(30)

Computing g -Schnyder Woods

(31)

New handle operators: split and merge

w

Sout Sin

v0v1 v2 wrC

wl

w u

Sout v0 v1 v2 Sin

Sout

v0

v1 v2 Sin

u w

Sin

conquer(w)

split(u, w)

chordal edge (u, w)

Sout Sin w

Sin

merge(u, w) v0

v1 v2

Sin Sin

Sout u

Sout

vk vk

vk

(u, w ) defines a non-trivial cycle

(u, w) chordal edge

(32)

New handle operators: split and merge

Sout

v0

v1 v2 Sin

u w

Sin

split(u, w)

Sout Sin w

Sin

merge(u, w) v0

v1 v2

Sin Sin

Sout u

Sout

vk

defining a non-trivial cycle (u, w ) chordal edge

(u, w ) split edge

split a boundary into 2 boundary components

(u, w ) merge edge

merge two differents boundary components

(33)

Example of execution of our algorithm

(toroidal case)

S

Starts the traversal from the root face (green edge)

(34)

Example of execution of our algorithm

conquer(w)+

colororient(w )

(toroidal case)

S

(35)

Example of execution of our algorithm

conquer(w)+

colororient(w )

(toroidal case)

S

(36)

Example of execution of our algorithm

conquer(w)+

colororient(w )

(toroidal case)

S

(37)

Example of execution of our algorithm

(toroidal case)

S in

After a maximal sequence of vertex conquest operations . . .

Sin is a topological disk

Sout is a face con- nected map of genus 1, with a boundary com- ponent

no more free vertices... the (planar) traversal gets stuck

(38)

Example of execution of our algorithm

(toroidal case)

Sout \ (u, w) is a face connected map of with two boundary compo- nents

e

s

u w

Let us perform a split(u, w) operation

(39)

Example of execution of our algorithm

(toroidal case)

Sout \ (u, w) is a face connected map of with two boundary compo- nents

e

s

u w

We can now perform a conquer(u) operation

(40)

Example of execution of our algorithm

(toroidal case)

Sout \ (w, v) is a face connected topological disk

e

s

u w

Let us perform a merge(w, v ) operation

v e

m

merge operations de- crease of 1 the num- ber of boundary com- ponents

(41)

Example of execution of our algorithm

(toroidal case)

Sout \ (w, v) is a face connected topological disk

e

s

u w

Let us see in a better way...

v e

m

w

Execution ends performing a sequence of conquer operations

v w

(42)

Example of execution of our algorithm

(toroidal case)

Sout \ (w, v) is a face connected topological disk

e

s

u w

Let us see in a better way...

v e

m

w

Execution ends performing a sequence of conquer operations

v w

(43)

Example of execution of our algorithm

(toroidal case) Let us see in a better way...

e

s

u v e

m

w

v w

(44)

Example of execution of our algorithm

(toroidal case)

e

s

u v e

m

w

v w

(45)

Example of execution of our algorithm

(toroidal case)

e

s

u v e

m

w

v w

(46)

Example of execution of our algorithm

(toroidal case)

e

s

u v e

m

w

v w

(47)

Example of execution of our algorithm

(toroidal case)

u v e

m

w

v w

(48)

Example of execution of our algorithm

(toroidal case)

u v e

m

w

v w

(49)

Example of execution of our algorithm

(toroidal case)

v e

m

w

v w

(50)

Example of execution of our algorithm

(toroidal case)

v e

m

w

v w

(51)

Correctness and termination Existence of split and merge edges

Sin Sin

is a 1 face map contain- ing 2g non-trivial cycles

T

contains g split and merge edges

T

vertex spanning tree of the primal graph, containing the boundary (blue) edges

T

(52)

A fundamental lemma about chordal edges Correctness and termination

x1

x3 x2

Theorem Each planar triangulation admits a canonical ordering on the vertices

Lemma

There always exists at least one boundary vertex, not incident to chordal edges

Proof: by induction on the size of the boundary

(the planar case)

(53)

Properties of chordal edges in genus g Correctness and termination

Theorem Each planar triangulation admits a canonical ordering on the vertices

(higher genus)

Sin

u0 w0

Sin

Case 1 z0

Sin

u0 w0

Sin

Case 2

z0 Sin u0

w0

Sin

Case 3

z00 Sin

u0 w0

Sin

impossible case no loops, no multi- ple edges allowed

(54)

Coloring invariants

Correctness and termination (higher genus)

Sout

Sin

u w

Sin

Sout Sout

Sin

u w

Sin

Sout

split(u, w)

conquer(u)+

colorient(u)

Sout

Sin

u w

Sin

Sout

conquer(w)+

colororient(w)

conquer(u)+

colororient(u)

Sout

Sin

u w

Sin

Sout

(55)

Our main result

Theorem

Given a (simple) rooted triangulation T of genus g and size n, we can compute in O(n) time a g-Schnyder wood of T .

(Castelli Aleardi, Fusy and Lewiner, 2008)

e1 e2

u v

v

w

w v0

v1

The local Schnyder condition is true almost everywhere in the graph at the exception of multiple vertices

(56)

From plane trees to genus g maps

(57)

A new characterization in term of g-maps

v

v

w

w v

v

w

w F1

F1

F1 F1

F1

F2 F3

u u

F1 F1

F1 F1

F1 F1

F2

T

1

T

0

es em

u v

v

w

w

T

2

F1 F1

F1

Theorem

The three sets of edges T0 and T1 (red and blue edges), as well as the set T2 ∪ E (black edges and special edges) are maps of genus g satisfying:

(Castelli Aleardi, Fusy and Lewiner, 2008)

• T

0

, T

1

are maps with at most 1 + 2g faces;

• T

2

∪ E is a 1 face map

(58)

A new encoding application

(59)

Encoding g-maps via multiple parentheses words

( ) ( ) ( ( ( ( ) ) ( )

T g T

g

\ {e

1

, e

2

}

e1 e1

e2 v0

v0

e2 e1

) ( ) ) ( ) ( ) )

S

Corollary

A triangulation of genu g having n vertices can be encoded with 4n + O(g log n)

(60)

Lattice structure

(61)

Futur works and open questions

optimal encoding in higher genus

lattice structure for the set of Schnyder woods

extension to the 3-connected case (polygonal meshes)

(62)

Th´eor`eme. (Poulalhon–Schaeffer Icalp 03)

There exists a bijection between the class of trees of size n having two stems per node, and the class of rooted triangulations with n + 2

vertices.

Theorem. (Tutte 62)

The number of planar triangulations with n + 2 vertices is

2(4n−3)!

(3n−1)!n! (25627 )n .

a new interpretation of Tutte’s formula:

|T

n

| =

2n2

· |A

(2)n

|.

Optimal coding and sampling (planar case)

(63)

Th´eor`eme. (Poulalhon–Schaeffer Icalp 03)

There exists a bijection between the class of trees of size n having two stems per node, and the class of rooted triangulations with n + 2

vertices.

Theorem. (Tutte 62)

The number of planar triangulations with n + 2 vertices is

2(4n−3)!

(3n−1)!n! (25627 )n .

a new interpretation of Tutte’s formula:

|T

n

| =

2n2

· |A

(2)n

|.

Optimal coding and sampling (planar case)

(64)

Th´eor`eme. (Poulalhon–Schaeffer Icalp 03)

There exists a bijection between the class of trees of size n having two stems per node, and the class of rooted triangulations with n + 2

vertices.

Theorem. (Tutte 62)

The number of planar triangulations with n + 2 vertices is

2(4n−3)!

(3n−1)!n! (25627 )n .

a new interpretation of Tutte’s formula:

|T

n

| =

2n2

· |A

(2)n

|.

Optimal coding and sampling (planar case)

(65)

Optimal coding and sampling (genu g )

?

S

Références

Documents relatifs

L’extraction de saillances est ef- fectu´ee sur la carte de saillance quand les activations sont concordantes entre la carte de pr´e-activation et les cartes des hautes

The McGill Journal of Education promotes an international, multidisciplinary discussion of issues  in  the  field  of  educational  research,  theory,  and 

L’action des forces extérieures produit dans les éléments de la structure une sollicitation caractérisée par l’apparition des efforts et des déformations dans tous les points

HDM : remontre à 03j avant son admission aux urgences par l’installation des douleurs de type pancréatique + VO dans un contexte d’apyrexie avec CEG. EX CLQ : patiente stable sur

The unicellular map G in Figure 10 is of degree partition d = (5, 5) and we obtained the Lickorish’s generators with the simple closed curves generated by intertwined edges in G..

Bijection between plane trees of size n, having two stems per node, and the class of rooted planar triangulations with n + 2

◮ A famous result by Shapley gives the extreme points (vertices) of the core for convex

Using a bijection due to Bouttier, Di Francesco &amp; Guitter between rooted bipartite planar maps and certain two-type trees with positive labels, we derive our results from