• Aucun résultat trouvé

Structures compactes : graphes et petits s´eparateurs

Une strat´egie tout `a fait diff´erente a inspir´e les travaux de Blanford et al. [13, 11, 12, 14], qui ont propos´e des repr´esentations compactes pour certaines classes de graphes et maillages, pouvant g´erer des op´erations de navigation locale de mani`ere efficace8. L’efficacit´e de leur approche repose

sur les propri´et´es des graphes s´eparables (r´ecemment d´ecrites dans [92, 91]) : intuitivement un graphe est s´eparable si tous ses sous-graphes peuvent ˆetre partitionn´es en deux parties ayant environ la mˆeme taille, juste en sup- primant un nombre relativement limit´e de sommets9. Plus pr´ecis´ement, un

graphe G ayant n sommets est s´eparable (o`u avec petits s´eparateurs) s’il existe un ensemble de O(nc) sommets (appel´e coupe) dont la suppression d´econnecte G en deux sous-graphes (appartenant `a la mˆeme classe que G) ayant chacun au plus αn sommets (avec α < 1, c < 1).

Le principe fondamental consiste `a adopter une repr´esentation explicite des relations d’adjacence des sommets du graphe, utilisant des pointeurs locaux de ”petite taille” : les sommets sont d’abord ´etiquet´es `a l’aide des s´eparateurs de graphes, et leurs voisins sont repr´esent´es par un entier, de ”petite” taille, codant la diff´erence du sommet original. Le point crucial est que pour certaines classes de graphes (s´eparables), il existe une mani`ere d’´etiqueter les sommets telle que deux sommets adjacents auront des in- dex assez proches. Cette remarque, et une m´ethode efficace de codage par diff´erences, permet d’´etablir le r´esultat suivant [13] :

Lemme 36. Soit G un graphe `a n sommets ayant des petits s´eparateurs,

et pour lequel chaque arˆete (v1, v2) peut se coder avec O(lg |v1 − v2|) bits. Alors l’espace utilis´e pour coder toutes les arˆetes est au plus O(n) bits et les requˆetes d’adjacence entre sommets peuvent s’effectuer en temps O(1).

Dans ce cadre, ils s’av`ere que certaines classes de graphes sont sp´e- cialement int´eressantes : par exemple, les graphes planaires admettent des s´eparateurs de taille O(n1/2) [88] et certains maillages bien form´es en Rd

ont des s´eparateurs de taille O(n1−1d) [91]. Il r´esulte alors que les maillages

planaires, les maillages 3D volumiques bien form´es, ainsi que les maillages surfaciques de genre born´e satisfont les hypoth`eses du lemme 36 et admettent donc des repr´esentations compactes de taille lin´eaire.

8En ce qui concerne le mod`ele de calcul, ces travaux adoptent le mˆeme mod`ele de

machine word-RAM utilis´e dans cette th`ese

Repr´esentations succinctes

de graphes

Repr´esentations succinctes :

sch´ema g´en´eral

Le but de ce chapitre est de pr´esenter une formulation plus g´en´erale et pr´ecise du paradigme algorithmique sousjacent aux repr´esentations com- pactes et succinctes mentionn´ees pr´ec´edemment. En particulier nous nous proposons de fournir un sch´ema g´en´eral1 qui puisse unifier `a la fois les

repr´esentations existantes (mots de parenth`eses, arbres, graphes planaires) et les nouvelles repr´esentations succinctes de maillages faisant l’objet prin- cipal de cette th`ese (triangulations et cartes planaires, d´ecrites aux cha- pitres 5-7).

4.1

Introduction

Comme il a ´et´e plusieurs fois d´ej`a remarqu´e, la plupart des structures de donn´ees sont bas´ees sur des repr´esentations explicites par pointeurs.

Par exemple, cela arrive dans le cas des arbres binaires, d’habitude im- plant´es en utilisant, pour chaque nœud, un pointeur vers son fils gauche et son fils droit : si d’une part cette implantation permet un acc`es efficace `a l’information stock´ee dans l’objet, d’autre part l’utilisation de O(m) poin- teurs chacun sur O(lg m) bits, oblige `a utiliser au moins Ω(m lg m) bits pour repr´esenter un arbre ayant m nœuds.

Or, du point de vue de la th´eorie de l’information, 2m bits devraient suffire, puisque il existe moins de 4m arbres binaires de taille m.

Cette remarque a conduit, ´etant donn´e une classe Cm d’objets de taille

m, au probl`eme de concevoir, si possible, une repr´esentation succincte de

ces objets, c’est-`a-dire une structure de donn´ees telle que :

– le coˆut du stockage de la repr´esentation R d’un objet dans Cm corres-

pond asymptotiquement (au premier ordre) `a l’entropie de la classe,

1Une version pr´eliminaire des r´esultats de ce chapitre, a ´et´e publi´e`a SoCG 2006[28].

ce qui s’exprime par (lorsque m tend `a l’infini) taille(R) = lg |Cm| · (1 + o(1))

– la repr´esentation permet de r´epondre `a certaines types de requˆetes locales sur l’objet en temps O(1) (pire cas),

– la repr´esentation permet la modification des objets en temps poly- logarithmique amorti par op´eration.

La deuxi`eme propri´et´e assure que la repr´esentation peut ˆetre consid´er´ee comme une structure de donn´ee pour les objets de Cm.

La premi`ere propri´et´e en fait un codage succinct : parfois, ne pouvant pas atteindre l’optimalit´e, il est commun de se contenter d’une version plus faible de compacit´e de la forme

taille(R) = O(lg |Cm|)

La derni`ere propri´et´e d´ecrit enfin l’aspect dynamique de la repr´esentation. Il existe aussi une autre cat´egorie de structures de donn´ees, appel´ees

implicites, qui ne stockent que les donn´ees `a traiter, arrang´es dans un certain

ordre pr´e´etabli dont la taille est de la forme taille(R) = lg |Cm| + O(1)

Bien qu’elles ne n´ecessitent pas de stocker de l’information auxiliaire, ces structures de donn´ees suscitent moins d’attention : la difficult´e de traiter efficacement des requˆetes locales, la classe restreinte d’objets auxquels elles s’appliquent et surtout l’impossibilit´e de maintenir l’ordre sur les donn´ees (et donc la structure) apr`es mise `a jour sont parmi les raisons qui rendent les structure de donn´ees implicites moins int´eressantes, au moins dans le cadre algorithmique adopt´e dans cette th`ese.

4.1.1 Sch´ema g´en´eral : esquisse

Le sch´ema g´en´eral que nous allons adopter afin de concevoir et d´ecrire une structure de donn´ees compacte ou succincte pour une classe d’objets de taille n est esquiss´e ci-dessous et sera mieux pr´ecis´e dans la section 4.2 :

– D’abord l’objet est d´ecompos´e en sous morceaux de taille Θ(lg n), ap- pel´es micro morceaux, de telle mani`ere qu’ils soient assez petits pour que le catalogue de tous les diff´erents micro morceaux possibles puisse se construire en temps o(n) en utilisant au plus o(n) bits. Un tel mi- cro morceau est repr´esent´e par une r´ef´erence dans le catalogue, et la somme des tailles de toutes ces r´ef´erences d´ecrivant l’objet initial va co¨ıncider avec l’entropie de la classe.

– Les relations d’incidences qui d´ecrivent la fa¸con dont le d´ecoupage en micro morceaux a ´et´e effectu´e sont repr´esent´ees par un graphe G

des micro morceaux. Si on suppose qu’il existe O( n

lg n) micro mor-

ceaux avec un nombre sous lin´eaire de relations d’incidences entre eux (ce qui est le cas, si le graphe G est par exemple planaire), alors le graphe admet une repr´esentation explicite classique de coˆut O(n) uti- lisant des pointeurs de taille logarithmique, ce qui fournit d´ej`a une repr´esentation compacte de l’objet.

– ensuite des mini morceaux de taille O(lg2n) sont construits en re-

groupant Θ(lg n) micro morceaux, ce qui permet d’utiliser des poin- teurs de taille O(lg n) uniquement entre mini morceaux, tandis que les relations de voisinage entre micro morceaux, appartenant au mˆeme mini morceau, peuvent se d´ecrire avec des pointeurs locaux de taille

O(lg lg n). Puisque les mini et micro morceaux sont en nombre res-

pectivement de O(lgn2n) et O(lg nn ), cette approche `a plusieurs niveaux

comporte des coˆuts sous-lin´eaires, respectivement de O(lgn2nlg n) bits

et O(lg nn lg lg n) bits, pour la repr´esentations des relations d’adjacence d´ecrites par le graphe G, ce qui rend la structure de donn´ees succincte.

4.1.2 Repr´esentations succinctes : rappels

Mots de parenth`eses et arbres. D’un point de vue g´en´eral ce para- digme algorithmique a ´et´e introduit pour repr´esenter de mani`ere compacte des mots de parenth`eses ´equilibr´ees par Jacobson [74], et les am´eliorations de Munro et Raman [96] ont conduit `a une repr´esentation succincte (voir sec- tion 3.5). Le param`etre de taille d’un mot de parenth`ese est son nombre de caract`eres et l’optimalit´e correspond `a 1 bit par caract`ere. Dans ce contexte une requˆete naturelle consiste `a retrouver, ´etant donn´ee une parenth`ese ou- vrante `a une certaine position, la parenth`ese fermante correspondante. En exploitant une c´el`ebre bijection entre mots de parenth`eses et arbres planaires (ou ordonn´es), il est donc naturel d’obtenir une repr´esentation succincte de cette derni`ere classe d’objets qui ne n´ecessite que 2n bits.

Graphes planaires. Une fois remarqu´e qu’une carte planaire peut se d´e- composer en plusieurs arbres recouvrants, il est naturel d’appliquer `a ces derniers le paradigme con¸cu pour les arbres. Il est n´eanmoins `a observer qu’une telle transformation des graphes aux arbres, n’´etant pas en g´en´erale bijective, conduit `a des repr´esentations qui ne sont que compactes et non succinctes. Suivant cette approche une premi`ere repr´esentation compacte pour les graphes planaires utilisant 2e + 8n bits a ´et´e donn´ee dans [96] et am´elior´ee dans [31, 29](2e + 2n bits).

S´eparateurs Il est `a rappeler qu’une strat´egie de codage compact de graphes et d’autres structures a ´et´e propos´ee par Blandford et al. [13] uti- lisant une approche totalement diff´erente : bien que l’id´ee sous-jacente soit

similaire, `a savoir l’utilisation de pointeurs locaux de ”petite taille”, l’ap- proche `a l’aide des petits s´eparateurs est totalement diff´erente et ne peut pas rentrer dans le sch´ema g´en´eral que nous allons d´ecrire. De plus, cette strat´egie n´ecessite des algorithmes efficaces pour le calcul de s´eparateurs et la complexit´e de la repr´esentation n’est pas facile `a caract´eriser, vue la difficult´e de fournir explicitement des bornes sur le coˆut m´emoire total.

4.1.3 Notre contribution

Dans nos travaux [27, 26] nous avons montr´e pour la premi`ere fois com- ment ´etendre le paradigme mentionn´e auparavant pour qu’il puisse s’appli- quer directement aux triangulations et aux cartes planaires plus g´en´eralement (sans donc passer par la repr´esentation des arbres ou des mots de pa- renth`eses), obtenant ainsi des repr´esentations succinctes pour ces classes d’objets. Cette approche s’est r´ev´el´ee utile aussi pour g´erer des mises `a jour locales et traiter le cas de triangulations de genre sup´erieur born´e [26].

Du point de vue m´ethodologique nous allons formaliser le sch´ema g´en´erale qui est commun aux repr´esentations succinctes de cartes planaires illustr´ees dans les chapitres 5-7.

Par rapport au cadre utilis´e dans les premiers travaux concernant le codage des mots de parenth`eses et des arbres [74, 96], et aussi dans notre premier travail concernant les triangulations, le sch´ema pr´esent´e dans ce chapitre cherche `a rendre explicite le rˆole fondamental jou´e par la propri´et´e de planarit´e locale des objets `a repr´esenter (sans cette propri´et´e il serait impossible de tirer profit de la structure `a plusieurs niveaux `a la base du sch´ema).

De plus, nous relˆachons la condition, centrale dans tous les travaux pr´e- c´edents, que les micro morceaux doivent appartenir `a une classe ayant la mˆeme entropie que la classe d’objets `a repr´esenter. Cette derni`ere propri´et´e, coupl´ee `a des nouvelles techniques de d´ecomposition sp´ecialement con¸cues pour les triangulations et les cartes 3-connexes planaires, nous permettra par exemple de d´ecrire les premi`eres repr´esentations succinctes optimales pour ces classes d’objets (voir chapitre 7).