• Aucun résultat trouvé

LucaCastelliAleardi Repr´esentationscompactesdestructuresdedonn´eesg´eom´etriques LIX´EcolePolytechniqueGeometrica-INRIASophiaSoutenancedeth`ese,12d´ecembre2006,LIX

N/A
N/A
Protected

Academic year: 2022

Partager "LucaCastelliAleardi Repr´esentationscompactesdestructuresdedonn´eesg´eom´etriques LIX´EcolePolytechniqueGeometrica-INRIASophiaSoutenancedeth`ese,12d´ecembre2006,LIX"

Copied!
66
0
0

Texte intégral

(1)

Luca Castelli Aleardi

LIX ´ Ecole Polytechnique Geometrica - INRIA Sophia

Soutenance de th` ese, 12 d´ ecembre 2006, LIX

Repr´ esentations compactes de structures

de donn´ ees g´ eom´ etriques

(2)

Le domaine de recherche

(3)

Triangulations et graphes

Donn´ ees structur´ ees de nature g´ eom´ etrique

Mod´ elisation g´ eom´ etrique

maillages volumiques maillages surfaciques

GIS Technology

Domaines d’application

Recontruction

de surfaces

(4)

Masses de donn´ ees

L’explosion de la taille des donn´ ees pose des pbs de traitement

Statue de St. Matthieu (Stanford’s Digital Michelangelo Project, 2000)

186 million de sommets

6 Giga octets (stockage sur disque)

dizaines de minutes (temps pour la lecture de disque dur)

Statue du David (Stanford’s Digital Michelangelo Project, 2000)

2 milliards de polygons

32 Giga octets (sans compression)

Pas d’algorithme et structure de

donn´ ees pouvant traiter le mod` ele

tout entier

(5)

Th` emes de recherche

Compression de maillages

Repr´ esentations compactes d’objets g´ eom´ etriques

Structures de donn´ ees g´ eom´ etriques

i .. .

Stockage

Transmission sur r´ eseau

(6)

Repr´esentations compactes

(7)

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

mot de parenth` eses ´ equilibr´ e

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

arbre ordonn´ e ` a n arˆ etes

mot de parenth` eses ´ equilibr´ e

kB n k = n+1 1 2n n ≈ 2 2n n 3 2

Enum´ ´ eration des arbres plans avec n arˆ etes.

Un exemple: arbres binaires et ordonn´ es

(8)

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

mot de parenth` eses ´ equilibr´ e

Un exemple: arbres binaires et ordonn´ es

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

Ce codage est ”asymptotiquement optimal”.

arbre ordonn´ e ` a n arˆ etes

mot de parenth` eses ´ equilibr´ e

• le coˆ ut m´ emoire d’un objet correspond asymptotique- ment ` a l’entropie de la classe;

log 2 kB n k = 2n + O(lg n)

(9)

Le code de contour d’un arbre plan (arbre ordonn´ e).

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

mot de parenth` eses ´ equilibr´ e

mais ne permet pas de repondre efficacement ` a des requˆ etes d’adjacence

1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0

⇒ 2n bits pour coder un arbre avec n arˆ etes.

arbre ordonn´ e ` a n arˆ etes

mot de parenth` eses ´ equilibr´ e

Un exemple: arbres binaires et ordonn´ es

(10)

Repr´ esentation explicite par pointeurs

ce codage n’est pas optimal: il faut Θ(n lg n) bits

parent parent

/ / / /

parent

/ / / /

/

lg n

lg n lg n

lg n

lg n

il est possible de tester en temps O(1) l’adjacence entre sommets

parent parent

parent parent

Un exemple: arbres binaires et ordonn´ es

(11)

Peut-on faire mieux?

un codage compact (asymptotiquement optimal)

requˆ etes efficaces (en temps constant)

(12)

ce codage est asymptotiquement optimal

il est possible de tester en temps O(1) l’adjacence entre sommets

Pour le arbres et les mots de parenth` eses... OUI

( ( ( ( ) ) )

11 0 00 00 0 0 1 00 0 0 1 00 0 0 1 00 b 1 b 2 b 3 b 4 b 5

5 2 4 4 5

0 3 2 3 2

D

B T 3

2

1 5

10

6 8

9

7 4

2n + o(n) bits suffisent

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

(Jacobson, Focs89, Munro et Raman Focs97)

Un exemple: arbres binaires et ordonn´ es

(13)

Donn´ees g´eom´etriques

Triangulations ` a bord

cartes planaires 3-connexes (maillages polygonaux)

Triangulations de la sph` ere

(14)

Quel type d’information?

G´ eom´ etrie et connectivit´ e

Objet g´ eom´ etrique

Geometric information

Objet combinatoire

(15)

Objet g´ eom´ etrique

 x y z

entre 30 et 96 bits par sommet

Information g´ eom´ etrique

sommets triangles

1 r´ ef´ erence ` a un triangle 3 rr´ ef´ erences aux sommets 3 r´ ef´ erences aux triangles

log n ou 32 bits

Information de connectivit´ e

Objet combinatoire

Connectivit´ e

2 × n × 6 × log n n × 1 × log n

13n log n

416n bits

(16)

Les limites entropiques sont connues...

2.17 bits par triangle

Triangulations ` a bord

1.62 bits par triangle cartes planaires 3-connexes

(maillages polygonaux)

2 bits par arˆ ete

Triangulations de la sph` ere

(17)

Enum´ ´ eration des triangulations de la sph` ere (Tutte, 1962)

Enum´ ´ eration et entropie des cartes

Ψ n = 2(4n + 1)!

(3n + 2)!(n + 1)! ≈ 16 27

r 3

2π n −5/2 ( 256 27 ) n

1

n log 2 Ψ n ≈ log 2 ( 256

27 ) ≈ 3.2451 bits/vertex

Entropie

(18)

Triangulations ` a bord

Enum´ ´ eration et entropie des cartes

n + 1 sommets internes, m = 2n + k faces

f (n, k) = 2 · (2k − 3)! (2k + 4n − 1)!

(k − 1)! (k − 3)! (n + 1)! (2k + 3n)!

f 0 (m, k) = 2 · (2k − 3)! (2m − 1)!

(k − 1)! (k − 3)! ( m−k 2 + 1)!

´ enum´ eration des triangulations d’un polygon ayant m faces

F (m) = lg(

m

X

k≥3

f 0 (m, k)) ≈ 2.175m

3.24 bits/sommets= 1.62 bits/face < 2.17 bits/face

(19)

Compression de maillages

(20)

Donn´ ees g´ eom´ etriques

VRML, 288 or 114 bits/vertex

[Touma Gotsman] ≈2bits/vertex (heuristique)

[Poulalhon Schaeffer] 3.24bits/vertex (garantie optimale)

sim ple com pre ssion

[Edgebreaker] 3.67bits/vertex (borne sup. garantie)

1101000110000010010000011001000000000 V 5 V 5 V 6 V 5 V 4 V 5 V 8 V 5 V 5 V 4 S 4 V 3 V 4

CCCRCCRCCRECRRELCRE PS

TG

EB codage

s im plici tes

(21)

Codage de graphes et arbres couvrants

Edgebreaker

CCCRCCRCCRECRRELCRE

C C C

R C

R C

C

C R

S C

R R L E

C E R

Ordres canoniques et syst` emes de parenth` eses multiples

( [ [ [ ) ( ] ( ] ( ] [ [ [ ) [ ) ( ] ] [ ) . . .

V

5

V

5

V

6

V

5

V

4

V

5

V

8

V

5

V

5

V

4

S

4

V

3

V

4

T ouma Gotsman(

0

98)

1101000110000010010000011001000000000

P oulalhon Schaef f er(2003)

pas de req uˆetes

Chuang et al. (98) - Chiang et al. (01)

framework visuel g´ en´ eral (Isenburg Snoeyink)

(22)

Structures de donn´ ees g´ eom´ etriques

(23)

Structures de donn´ ees g´ eom´ etriques

Maillage triangulaire

struct triangle{

triangle *t1, *t2, *t3;

vertex *v1, *v2, *v3;

}

struct vertex{

triangle * root;

int label;

}

Combinatoire

G´ eom´ etrie

struct point{

float x;

float y;

}

point vertex_geometry[max_label];

Maillage polygonal

struct edge{

edge * oppo;

edge * next;

edge * prev;

vertex * origin;

}

struct vertex{

edge * root;

int label;

}

struct point{

float x;

float y;

}

point vertex_geometry[max_label];

Repr´ esentations explicites

rep r´es enta tions

non compactes

Θ( n lg n ) bits

(24)

Repr´ esentations compactes de graphes:

travaux existants

(25)

Graphes planaires, plongements livresques et ordres canoniques

Travaux existants: repr´ esentations compactes de graphes

Codage 3-c. triang.

Jacobson 64n 64n

Munro Raman 8n + 2e 7m

Chuang et al. 2e + 2n 3.5m

Chiang et al. 2e + 2n 4m

Blandford et al. O(n) O(m)

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

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

2 3

5 4 6 8 7

9 10

11

[[[[ ] ] ][[[ [ ]][ ]][[[[[ [ ]][ ]] ][ [ ]]][ ]]]]

1 2 3 4 3 5 6 7 8 9 10 11

G − T T

T G ([[[)(](][[[)])(]][) . . .

(26)

Notre sch´ ema algorithmique pour la

repr´ esentation de cartes et maillages

(27)

D´ ecomposition de quadrangulations... vue par L. Gischia

Premier ingr´ edient: d´ ecomposition

(28)

Arithm´ etisons donc un peu

le professeur Ecoutez-moi, Mademoiselle, si vous n’arrivez pas ` a comprendre profond´ ement ces principes, ces arch´ etypes arithm´ etiques, vous n’arriverez jamais ` a faire correctement un travail de polytechnicien... Encore moins ne pourra-t-on vous charger d’un cours ` a l’Ecole polytechnique... combien font, par exemple, 3.755.918.261 multipli´ e par 5.162.303.508?

l’´ el` eve (tr` es vite) ca fait 193891900145...

le professeur(de plus en plus ´ etonn´ e calcule mentalement) Oui... Vous avez raison... le produit est bien... (il bredouille inintelligiblement)... Mais com- ment le savez-vous, si vous ne connaissez pas les principes du raisonnement arithm´ etique?

(La le¸ con, Eug` ene Ionesco, 1951)

Au cours d’une lecon priv´ ee en pr´ eparation du doctorat total, une jeune fille discute d’arithm´ etique avec son professeur.

Deuxi` eme ingr´ edient: pretraitement et stockage

l’´ el` eve : C’est simple. Ne pouvant me fier ` a mon raisonnement, j’ai

appris par coeur tous les r´ esultats possibles de toutes les multiplications

possibles.

(29)

Notre sch´ ema de repr´ esentation

1 2 3

.. .

Niveau 1:

• Θ( n

log

2

n ) r´ egions de taille Θ(log 2 n), repr´ esent´ es par pointeurs au niveau 2

Niveau 2:

dans chacune des n

log

2

n r´ egions:

• Θ(log n) r´ egions de taille C log n,

repr´ esent´ ees par pointeurs au niveau 3

Niveau 3: catalogue exhaustif des r´ egions de taille i < C log n:

• description explicite compl` ete.

. . . . . .

Aper¸cu de la structure hi´ erarchique

(30)

Notre sch´ ema de repr´ esentation

1 2 3

.. .

Niveau 1:

• Θ( n

log

2

n ) r´ egions de taille Θ(log 2 n), repr´ esent´ es par pointeurs au niveau 2

• pointeurs globaux de taille log n.

Niveau 2:

dans chacune des n

log

2

n r´ egions:

• Θ(log n) r´ egions de taille C log n, repr´ esent´ es par pointeur au niveau 3

• pointeurs locaux de taille log log n.

Niveau 3: catalogue exhaustif des regions de taille i < C log n:

• description explicite compl` ete.

. . . . . .

Aper¸cu de la structure hi´ erarchique

(31)

Notre sch´ ema de repr´ esentation

1 2 3

.. .

Niveau 1:

• Θ( n

log

2

n ) r´ egions de taille Θ(log 2 n), repr´ esent´ es par pointeurs au niveau 2

• pointeurs globaux de taille log n.

Niveau 2:

dans chacune des n

log

2

n r´ egions:

• Θ(log n) r´ egions de taille C log n, repr´ esent´ es par pointeur au niveau 3

• pointeurs locaux de taille log log n.

Niveau 3: catalogue exhaustif des regions de taille i < C log n:

• description explicite compl` ete.

. . . . . .

Aper¸cu de la structure hi´ erarchique

Coˆ ut dominant en espace

(32)

Repr´ esentations compactes de maillages

On part d’une triangulation de taille m (nombre de faces)

(33)

Repr´ esentations compactes de maillages

micro triangulations de taille entre 1

4 lg m On d´ ecompose en sous triangulations de taille polylog

1

12 lg m et

(34)

Graphes des micro triangulations

G est une carte localement planaire

graphe G

O( log m m ) noeuds graphe G:

• un nœud pour chaque micro r´ egion,

• un arc pour tout paire de micro r´ egions adjacentes

(35)

Sous-graphe des micro r´ egions dans une mini

graphe G i

O(log m) noeuds G i est une sous-carte de G contenant O(lg m) micro

triangulations adjacentes

O(log 2 m) triangles

(36)

Graphes des mini triangulations

graphe F

O( log m

2

m ) noeuds F est une carte planaire

graphe F :

• un nœud pour chaque mini r´ egion,

• un arc pour tout paire de mini r´ egions adjacentes

(37)

Coˆ ut asymptotique de la repr´ esentation

(38)

Notre sch´ ema de repr´ esentation

O( log m m ) micro r´ egions

Coˆ ut des graphes G et F

(39)

Notre sch´ ema de repr´ esentation

O( log m m ) micro r´ egions

graphe G

O( log m m ) nœuds

E (G) = O( m lg m )

G est localement planaire et donc creux

(40)

Notre sch´ ema de repr´ esentation

On peut utiliser des pointeurs locaux de taille log log m pour repr´ esenter de mani` ere explicite les graphes G i graphe G i

O( log m m log log m) bits X

i

kE (G i )k = O( m lg m ) graphe G

O(log m) nœuds

(41)

Notre sch´ ema de repr´ esentation

On peut utiliser des pointeurs de taille log m

graphe F

O( log m

2

m log m) bits F est planaire et globalement creux

O ( log m

2

m ) arcs

(42)

Repr´ esentations compactes de maillages

Le catalogue exhaustif des micro r´ egions ayant au plus r triangles a taille neglig´ eable

Coˆ ut du catalogue

kAk ≈ 2 1 4 2.175r ≤ 2 1 4 2.175 lg m

r 2.175 est l’entropie de la classe originale

Catalogue exhaustif des micro r´ egions

(43)

Repr´ esentations compactes de maillages

Le coˆ ut d’un pointeur d´ epend de la taille du catalogue

Coˆ ut des r´ ef´ erences vers le catalogue

log 2 kAk = 2.175r bits

r 2.175 est l’entropie de la classe originale

r triangles

(44)

Repr´ esentations compactes de maillages

La somme des pointeurs vers le catalogue exhaustif fournit le terme dominant

P j 2.175r j = 2.175m bits

r 2.175 est l’entropie de la classe originale

r triangles

Terme dominant

(45)

Repr´ esentations compactes de maillages

Th´ eor` eme

Pour des triangulations planaires ` a m triangles il existe une repr´ esentation succincte permettant le test d’adjacence en temps O(1) necessitant

2.175m + O(m lg lg m

lg m ) = 2.175m + o(m) bits

En genre sup´ erieur g on a

2.175m + 36(g − 1) lg m + O(m lg lg m

lg m + g lg lg m) bits

(Castelli Aleardi, Devillers et Schaeffer, WADS05)

(46)

Repr´ esentations compactes de maillages

kAk ≈ 2 1 4 2.175r

log 2 kAk = 2.175r bits

1.62m est l’entropie de la classe originale

Aucune hypoth` ese sur la complexit´ e du bord

P

j 2.175r j = 2.175m bits

(47)

Peut-on atteindre l’optimalit´ e?

(48)

Repr´ esentations succinctes

kAk = ?

log 2 kAk = ? bits

Une d´ ecomposition plus astucieuse

1.62m est l’entropie de la classe originale

Un catalogue plus petit

(49)

Repr´ esentations succinctes

kAk << 2 2.175r

Une d´ ecomposition plus astucieuse ... ` a base d’arbres couvrants

on compte en terme de sommets

Un catalogue plus petit

1.62m est l’entropie de la classe originale

on d´ ecompose en micro arbres

(50)

Triangulations et cartes planaires succinctes

Th´ eor` eme

Pour certaines classes de cartes planaires (triangulations et graphes 3- connexes) il existe une repr´ esentation succincte optimale, permettant la navigation en temps O(1). Le coˆ ut correspond asymptotiquement

`

a l’entropie:

• 1.62m bits, pour les triangulations de la sph` ere de taille m;

• 2e bits, pour les graphes 3-connexes ` a e arˆ etes.

(Castelli Aleardi, Devillers et Schaeffer, SoCG06)

(51)

Cartes planaires et arbres bourgeonnants

(triangulation planaires, Poulalhon et Schaeffer 2003)

(cartes planaires 3-connexes, Fusy Poulalhon et Schaeffer 2005)

(52)

Une nouvelle op´ eration de clˆ oture locale

1101000100000000000 1001010000

1 1 1

1

0

0

0 0 0

0 0 0

0

0 0

0 0

(53)

Une meilleure strat´ egie de d´ ecomposition

(54)

kA r k = k P w A r,w k

3.24n ou 1.62m est l’entropie de la classe originale

Coˆ ut en m´ emoire: terme dominant

kA r,w k = 2 3.24r · 2r w

3.24r + w lg r bits

coˆ ut d’une r´ ef´ erence

(55)

3.24n ou 1.62m est l’entropie de la classe originale

Coˆ ut en m´ emoire: terme dominant

P

j 3.24r j + w i lg r i = 3.24n + o(n) bits coˆ ut de la somme des pointeurs

P

i w i = O( lg n n ) P

i r i ≈ n

(56)

Repr´ esentations compactes de maillages

Comparaison des r´ esultats

Codage requˆ etes 3-connexe triangul´ e

Jacobson (Focs89) O (lg n) 64n 64n

Munro Raman (Focs97) O(1) 8n + 2e 7m

Chuang et al. (Icalp98) O(1) 2e + 2n 3.5m

Chiang et al. (Soda01) O(1) 2e + 2n 4m

Blandford et al. (Soda03) O(1) O(n) O(m)

Castelli et al. (Wads05 Cccg05) O(1) no 2.175m

Castelli et al. (SoCG06) O(1) 2e 1.62m

(57)

Une structure dynamique

(58)

Triangulations compactes dynamiques

th´ eor` eme

Pour des triangulations ayant m faces, il est possible de maintenir une repr´ esentation succincte, apr` es insertion/suppression de sommets et flip arˆ etes, en gardant un temps O(1) pour la navigation. La taille de la repr´ esentation est de

2.175m + o(m) bits Le coˆ ut d’une mise ` a jour est:

• temps O(1) amorti pour l’insertion de sommet;

• temps O(lg 2 m) amorti pour la suppression de sommet et flip d’arˆ ete;

(Castelli Aleardi, Devillers et Schaeffer, CCCG05)

(59)

Triangulations compactes dynamiques

• meilleure organisation de la m´ emoire (Tableaux dynamiques)

kt ij k = r + 4 n i n k

P A

(60)

Triangulations compactes dynamiques

• strat´ egies de d´ ecomposition astucieuses

G i

B 0

B 00

T T ij T T

ij

0

T T ij

00

ST i

(61)

Et dans la pratique?

2.175m + 36(g − 1) lg m + O(m lg lg m

lg m + g lg lg m) bits

(62)

Une version pratique implantable

(en collaboration avec Abdelkrim Mebarki, CCCG06)

1

12 log m to 1 4 log m

Catalogue

8 r´ ef´ erences par quad

gain 9/13

Structure usuelle

6 references par triangle

1 r´ ef´ erence par sommet

(63)

Et la g´ eom´ etrie?

(64)

Donn´ ees g´ eom´ etriques

lg n bits

lg n bits

lg lg n bits

sommets multiples

trop de r´ ef´ erences multiples

(65)

Perspectives futures

(66)

• Extensions en genre sup´ erieur

Perspectives futures

• Maillages tetrah´ edriques

• Rep` eres g´ eom´ etriques locaux

Codage de la g´ eom´ etrie

Références

Documents relatifs

Aucun document ni calculatrice n'est autorisé pour cette épreuve. Toutes les réponses doivent être soigneusement justifiées. On dira que Yo est la projection orthogonale de x

(1) Calculer en pourcentage les fr´ equences de la r´ epartition, selon la masse mesur´ ee par ces 1000 ´ el` eves, puis calculer les fr´ equences cumul´ ees croissantes et compl´

Pour les 3 configurations correspondant aux cas appel´ es d i = k.p j avec j &gt; i, l’impossibilit´ e vient du fait qu’entre un nombre premier et le nombre premier pr´ ec´

Puis l’animateur, ouvre une porte qui n’est ni la porte A ni celle derri`ere laquelle se trouve la voiture (si la voiture est derri`ere la porte A, l’animateur a le choix entre

Exercice 3. Soit n un entier naturel. On dispose d’un tas de n allumettes. Le joueur 1 prend ou une deux allumettes, puis tant qu’il y a des allumettes, le joueur 2 prend une ou

L’ordinateur de la batterie Patriot repr´esente les nombres par des nombres `a virgule fixe en base 2 avec une pr´ecision de 23 chiffres apr`es la virgule. L’horloge de la

Pour calculer les valeurs propres d’une matrice, calculer le polynˆ ome caract´ eristique de fa¸con na¨ıve n’est pas forc´ ement une bonne id´ ee : si on n’a pas de logiciel

Q 2.5 Ecrire une macro verification qui demande ` a l’utilisateur de saisir un nombre compris entre 0 et 1023, convertit ce nombre en binaire en le stockant dans la feuille de