• Aucun résultat trouvé

Succinct and compact representations

N/A
N/A
Protected

Academic year: 2022

Partager "Succinct and compact representations"

Copied!
49
0
0

Texte intégral

(1)

R´ epresentation succinte

optimale de cartes planaires

Luca Castelli Aleardi

(en collaboration avec Olivier Devillers et Gilles Schaeffer)

30 janvier 2006, JGA ’06

Projet Geometrica LIX

INRIA Sophia-Antipolis Ecole Polytechnique

(2)

Succinct and compact representations

Given a class Cm of objects of size m, the goal is to design a space efficient data structure such that:

queries on objects are answered in constant time;

the encoding is succinct: the cost of an object R Cm

matches asymptotically the entropy of the class size(R) = log2 kCmk(1 + o(1))

or compact: we content of a cost

size(R) = O(kCmk)

for dynamic data structures: updates are supported in O(lgc m) amortized time

(3)

Compact representations: an example

Rooted trees with n vertices

enumeration of binary trees with n vertices:

kBnk = 1 n + 1

2n

n

≈ 22nn32 (1)

(4)

Compact representations: an example

compact encoding for compression

size: log2 kBnk = 2n + O(lg n) bits

no efficient navigation

explicit pointers-based representation

size: 2n lg n bits

constant time navigation

succinct representation (Jacobson 89, Munro et Raman 97)

size: 2n + o(n) bits

adjacency queries in constant time

(5)

Motivation

Combinatorial information describing incidence relations

Which information?

Connectivity

(6)

Motivation

Geometry information (vertex coordinates)

Which information?

Connectivity Geometry

(7)

Motivation

Mesh compression algorithms

Touma Gotsman Edgebreaker [Rossignac]

Poulhalon Schaeffer General underlying idea

Encoding strategies based on a local (global) conquest

(8)

Motivation

Mesh compression algorithms

Touma Gotsman Edgebreaker [Rossignac]

Poulhalon Schaeffer General underlying idea

Encoding strategies based on a local (global) conquest

(9)

Motivation

Mesh compression algorithms

Touma Gotsman Edgebreaker [Rossignac]

Poulhalon Schaeffer General underlying idea

Encoding strategies based on a local (global) conquest

(10)

Graph encodings

(spanning tree based encodings)

Edgebreaker

CCCRCCRCCRECRRELCRE

C CC

R C

C R

C C R

S C

R R L E

C E R

V5V5V6V5V4V5V8V5V5V4S4V3V4

T ouma Gotsman(98)

Canonical orderings and multiple parentheses Chuang et al. (Icalp 98) - Chiang et al. (Soda 01)

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

P oulalhon Schaef f er(2003)

(11)

Graph encodings

(higher genus triangulations)

Edgebreaker

CCCRCCRCCRECRRELCRE

C CC

R C

C R

C C R

S C

R R L E

C E R

V5V5V6V5V4V5V8V5V5V4S4V3V4

T ouma Gotsman(98)

Edgebreaker on a torus

Canonical orderings and multiple parentheses Chuang et al. (Icalp 98) - Chiang et al. (Soda 01)

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

1101000110000010010000011001000000000

P oulalhon Schaef f er(2003)

?

epresentation succinte optimale de cartes planaires – p.11/49

(12)

Motivation

Mesh compression algorithms

Mesh

comp ress ion

Compact representation

VRML, 288 or 114 bits/vertex

[Touma Gotsman] 2bits/vertex (near-optimal)

Pointer based representation: 208 bits/triangle 2.175 bits/triangle

[Poulalhon Schaeffer] 3.24bits/vertex (optimal)

(13)

Tutte’s entropy (triangulations)

(information theory asymptotic lower bound)

enumeration of rooted planar triangulations on n vertices:

Ψn = 2(4n + 1)!

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

r 3

n5/2(256 27 )n Tutte’s entropy (1962):

e = 1

n log2 Ψn log2(256

27 ) 3.2451 bits/vertex

(14)

Planar Triangulations with a boundary

n + 1 internal vertices, m = 2n + k faces f(n, k) = 2 · (2k 3)! (2k + 4n 1)!

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

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

(k 1)! (k 3)! (m2k + 1)!

counting planar triangulations with m faces F(m) = lg(

m

X

k3

f(m, k)) 2.175m

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

(15)

Our contribution

(presented at WADS 2005)

Theorem. For planar triangulations with a boundary having m faces, there exists an optimal succinct

representation supporting efficient navigation in O(1) time, requiring

2.175m + O(mlg lg m

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

For triangulations of genus g surfaces (g = o(lgmm)) the same representation requires

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

lg m + g lg lg m) bits

(16)

Comparison: space efficiency

graphs with n vertices, e edges, m faces, genus g

Encoding queries 3-conn. triangl. g > 0

dynamic

Jacobson (Focs89) O(lg n) no

Munro Raman (Focs97) O(1) 8n + 2e 7m no Chuang et al. (Icalp98) O(1) 2e + 2n 3.5m no Chiang et al. (Soda01) O(1) 2e + 2n 4m no Blandford et al. (Soda03) O(1) O(n) O(m) O(n) Castelli Devillers Scha-

effer(Wads Cccg05)

O(1) no 2.175m 2.175m

our new encodings O(1) 2e 1.62m no

(17)

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

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

(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... 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 comment le savez-vous, si vous ne connaissez pas les principes du raisonnement arithm´etique?

(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.

(18)

Decomposing T into sub-triangulations

we compute small triangulations having between 13 lg2 m and lg2 m triangles;

we decompose small triangulations into tiny

triangulations containing between 121 lg m and 14 lg m triangles.

Decomposition into tiny triangulations Graph G linking tiny triangulations A small triangulation contains Θ(lgm) tiny triangulations

(19)

Decomposition

Initial small triangulation with m triangles

(20)

Decomposition

The tree is decomposed into tiny trees of size Θ(lg m)

(21)

Decomposition

We get tiny triangulations of size Θ(lg m)

(22)

Decomposition

A small triangulations contains Θ(lg m) tiny triangulations

(23)

Decomposition phase

Only boundary edges are shared by tiny triangulations

(24)

Decomposition phase

Graph G linking adjacent tiny triangulations

(25)

Decomposition phase

A small triangulation contains Θ(lg2 m) triangles and Θ(lg m) tiny triangulations. The sub-graphs Gi has O(lg m) nodes.

Gi can be represented with pointers on O(lg lg m) bits.

(26)

Decomposition phase

There are Θ( m

lg2 m) small triangulations

(27)

Decomposition phase

Graph F linking adjacent small triangulations

(28)

Overview: representation of a small triangulation

adjacency relations are described by map Gi;

internal connectivity is implicitly represented (variable size pointers)

boundary neighboring relations are represented by boundary coloring (variable length bit-vector)

pointer to tiny triangulation of size t

pointer to rank-select of size b and weight s t, b, s

split small into tiny

first vertex

0

1 0

0 1 1

1

1 0

0

0 0

0

(29)

Graph G

i

linking adjacent tiny triangulations

Gi has a node for each tiny triangulation and an arc for each pair of adjacent tiny triangulations;

Gi is a planar map, having faces of degree at least 3, multiple edges and loops are allowed;

(30)

i

adjacency relations between tiny triangulations

Because of Euler’s formula, the overall number of arcs in maps Gi is:

X

i

kE(Gi)k = O( m lg m)

(31)

Total space used

Catalog of all different tiny triangulations

O(m412.17 lg2 m lg lg m) = o(m)

catalog of bit-vectors (with Rank/Select)

O(m412.17 lg m lg lg m) = o(m)

representation of graph F: O( m

lg2 m lg m) = o(m)

graphs Gi

2.17m + O(mlg lg m lg m )

(32)

Local updates

Degree 3 vertex insertion

ktrk ≤ 14 lgm ktrk > 1

4 lgm kt1k ≤ 14 lgm kt2k ≤ 14 lgm

Disconnecting edge flip Vertex deletion

(33)

Dynamic extension

presented at CCCG 2005

Theorem (Castelli Aleardi, Devillers and Schaeffer). For triangulations with a boundary having m faces, it is possible to maintain a succinct representation under vertex

insertion/deletion and edge flip, while supporting navigation in O(1) time. The storage is

2.175m + O(mlg lg m

lg14 m ) = 2.175m + o(m) bits The cost for an update is:

O(1) amortized time for degree 3 vertex insertion;

O(lg2 m) amortized time for vertex deletion and edge flip;

(34)

Recent improvement: optimality

(submitted)

Proposition (Castelli Aleardi, Devillers and Schaeffer).

For planar maps (triangulations and 3-connected graphs) it is possible to design two optimal succinct representations, supporting efficient navigation in O(1) time, whose storage requirements match asymptotically the entropy of the

respective classes. More precisely, our representations use:

1.62m bits, for triangulations (without boundary) with m faces;

2e bits, for 3-connected graphs with e edges.

(35)

Optimality

New splitting and encoding schemes (planar triangulations without boundary)

(36)

Optimality

Optimal encoding (Poulalhon/Schaeffer Icalp ’03):

spanning tree bijection

(37)

Optimality

Vertex spanning tree on n 2 nodes with 2 leaves per node

(38)

Optimality

Decomposing the vertex spanning tree into tiny sub-trees of size Θ(lg n)

(39)

Optimality

Tree decomposition

(40)

Optimality

Tiny sub-trees are colored

(41)

Optimality

Correspondence between tiny colored trees and tiny triangulations

(42)

Optimality

(43)

Dominant cost analysis

The Catalog Ar contains all triangulations with r triangles A reference to an element in Ar costs 2.17r bits

k A k = 2

2.17r

r

2.17r bits reference

(44)

Dominant cost analysis

Catalog Ar,w: all trees with r nodes, 2r stems and w false stems A reference to an element in Ar,w costs 2.17r + w lg r bits

kAr,wk = 23.24r · 2wr

3.24r + w lg r bits index

(45)

Succinct representation of 3-c graphs

(46)

Succinct representation of 3-c graphs

(47)

Succinct representation of 3-c graphs

(48)

Succinct representation of 3-c graphs

(49)

Future and related works

Design of a practical efficient implementation (Abdelkrim)

3D triangulations (existing algorithms: no guaranteed upper bounds)

higher genus: encoding via ”spanning tree” (map with one face)

Références

Documents relatifs

The graph G used to describe adjacency relations between tiny quadran- gulations is a planar map (each tiny quadrangulation is a connected planar map, whose edges may be incident

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38334

For triangulations with a boundary having m faces, it is possible to maintain a succinct representation under vertex insertion/deletion and edge flip, while. supporting navigation

For planar maps (triangulations and 3 -connected graphs) it is possible to design two optimal succinct representations, supporting efficient navigation in O (1) time, whose

For some classes of planar maps (triangulations and 3-connected pla- nar maps) there exists an optimal succinct representation, supporting navigation in O(1) time. The memory

We then carry out the approxima- tion of these two components with adapted algorithms: the EA algorithm of [5] for the geometrical part, and the 7-9 biorthogonal wavelets for

3 Non displacing actions whose orbit maps are quasi isometric embeddings 12 3.1 Infinite