• Aucun résultat trouvé

Schémas de distance

Avec leur résultat, ALSTRUPet al. [14] améliorent la précédente borne supérieure den/2 +O(logn), obtenue par MOON [117] près de 50 années auparavant.

3.3 Schémas de distance

Dans unschéma d’étiquetage de distance(ou DLS pour “Distance Labeling Sche-me”) sur une famille de graphes G, la fonction de décodage D0G : {0,1} × {0,1} → N a accès aux étiquettes de deux sommets u et v de G et calcule la distance dG(u, v).

La notion de schéma d’étiquetage de distance a été introduite pour la première fois dans une série de papiers de PELEG [131, 132] et GAVOILLE et al. [85].

Avant cela, des notions assez proches existaient déjà avec d’autres vocabulaires, moins unifiés. Par exemple, le problème du plongement dans les cubes écrasés (“squashed cubes”), introduit par WINKLER [151], était équivalent à un schéma de distance avec des étiquettes de longueurlogn fois la dimension du cube.

L’un des résultats principaux sur les DLS, dû en particulier à WINKLER [151], GAVOILLEet al. [85] ou ALSTRUPet al. [11], est le fait que la famille des graphes généraux sur n sommets admette un schéma de distance avec des étiquettes de O(n)bits. Ce schéma est asymptotiquement optimal puisqu’un simple argument de comptage de ces graphes suffit à montrer que Ω(n) bits sont nécessaires. Un autre résultat intéressant est qu’il existe un schéma de distance pour les arbres avec des étiquettes deO(log2n)bits. De tels schémas ont été proposés par PELEG

[131] et ALSTRUP et al. [13], et plus récemment par FREEDMAN et al. [75] (qui obtiennent des requêtes en temps constant). Plusieurs classes de graphes conte-nant les arbres possèdent aussi de tels schémas de distance avec étiquettes de O(log2n) bits. C’est le cas notamment des graphes de largeur arborescente bor-née (GAVOILLEet al. [85]), des graphes distance-héréditaires (GAVOILLEet PAUL

[83]), des graphes de largeur de clique bornée (COURCELLE et VANICAT [64]) et des graphes de courbure négative ou nulle (CHEPOI, DRAGAN et VAXÈS [53]).

GAVOILLEet al. [85] et ALSTRUPet al. [13] ont aussi donné une borne inférieure de Ω(log2n)bits sur la taille des étiquettes pour les arbres, ce qui implique que tous les résultats mentionnés juste avant sont aussi optimaux. D’autres familles de graphes ont été étudiées par BAZZARO et GAVOILLE [27] et GAVOILLEet PAUL

[84], entre autres, telles que les graphes d’intervalles, les graphes de permuta-tions ainsi que leurs généralisapermuta-tions (pour lesquelles il existe une borne optimale de Θ(logn) bit), et les graphes planaires (pour lesquelles GAVOILLE et al. [85]

donnent une borne inférieure de Ω(n13) bits, et GAWRYCHOWSKI et UZNANSKI

[87] fournissent une borne supérieure deO(

n)bits).

Il existe aussi des résultats concernant des schémas d’étiquetage de distance

approximée, c’est-à-dire des schémas dont la fonction de décodage retourne la distance entre les sommets avec une erreur additive et/ou multiplicative. Pour les graphes arbitraires, le résultat le plus important, donné par THORUPet ZWICK

[146], est un schéma de distance avec erreur multiplicative (2k −1) et tailles d’étiquettes O(n1/klog2n) pour tout choix d’un entier k ≥ 1. Dans « Approxi-mate distance labeling schemes » [79], il est démontré que les arbres (et les graphes de largeur arborescente bornée en général) admettent un DLS avec er-reur multiplicative1 + 1/lognet taille d’étiquettesO(logn·log logn). Ce résultat est serré en terme de taille d’étiquette et d’approximation. Les mêmes auteurs conçoivent aussi un DLS avec erreur additive O(1) et étiquettes O(log2n) pour plusieurs autres familles de graphes telles que les graphes de plus long cycle in-duit borné ou, plus généralement, de longueur arborescente bornée. Pour les gra-phesδ-hyperboliques, GAVOILLEet LY[82] et CHEPOIet al. [52] construisent des schémas de distance avec erreur additive O(δlogn) et étiquettes de longueurs O(log2n). Enfin, certain résultats concernent des approximations affines qui com-binent erreur additive et multiplicative (par exemple, les travaux de ABRAHAM

et GAVOILLE[3]). Nous pouvons remarquer que les graphes de longueur arbores-cente (“treelength”) bornée ont, de fait, une hyperbolicité bornée et, plus impor-tant, peuvent être plongés dans des arbres avec une distorsion bornée, dépen-dante de la longueur arborescente. Cela donne une vue alternative du précédent résultat de GAVOILLE et al. [79]. Nous pouvons aussi noter que tout DLS exact pour ces familles de graphes doit attribuer des étiquettes de Ω(n) bits dans le pire des cas. Cela peut être expliqué par le fait que des propriétés telles que l’hy-perbolicité, la longueur arborescente, ou la quasi-isométricité avec un arbre sont des propriétés globales. Elles permettent donc un comportement local assez ar-bitraire, ce qui conduit à des erreurs arbitrairement grandes lorsque les requêtes portent sur des sommets suffisamment proches.

Une alternative au calcul de distances approchées consiste à donner des dis-tances exactes seulement pour certaines paires de sommets. L’essentiel des résul-tats sur cette question concerne le calcul exact de distance entre des sommets

“éloignés” (c.-à-d., à distance au moinsDl’un de l’autre) ou bien “proches” (c.-à-d., à distance au plusD, pour un certain seuilD). Par exemple, BOLLOBÁS, COP

-PERSMITHet ELKIN[32] introduisent la notion de DLSD-préservant, qui consiste en un DLS ne calculant des distances exactes qu’entre les sommets à distance au plus Dl’un de l’autre. Le DLS qu’ils présentent (pour des graphes quelconques) utilise des étiquettes de longueurO(Dn log2n). Ce résultat a ensuite été amélioré enO(Dn log2D)par ALSTRUPet al. [10], qui montrent aussi une borne inférieure de Ω(Dn). Enfin, la meilleur borne actuelle de O(log2D+ Dn logDlog logD) est obtenue par KOSOWSKI et VIENNOT [110]. Pour les arbres enracinés, KAPLAN

et MILO [107] introduisent la notion de DLS pour les distances “courtes”. Plus précisément, leur DLS calcule la distance au plus proche ancêtre commun (c.-à-d., le DLS calcule la distance exacte pour les sommets à distance au plus D).

3.3 Schémas de distance

La meilleur borne supérieure connue pour la taille des étiquettes dans un tel schéma est delogn+O(Dlog(Dlog(n/D))), obtenue par GAVOILLEet LABOUREL

[80]. Lorsque D ≥ 2, ALSTRUP, BILLE et RAUHE [8] donnent aussi une borne inférieure delogn+ Ω(log logn).

3.3.1 Distances dans les arbres

Nous présentons ici le schéma de distance (Enc_Dist_Arbre, Dist_Arbre) pour les arbres proposé par PELEG [131]. Bien que ce schéma ne soit pas op-timal en terme de rapidité des requêtes, il a l’avantage d’être assez simple. De plus, il constitue une introduction aux idées présentées dans les chapitres7et8 qui peuvent être considérées comme des généralisations de celles à la base du schéma de PELEG. Notons tout de même que, lorsque nous intégrerons (dans la partieIII) des schémas de distance pour les arbres à nos propres schémas, nous considérerons celui, plus efficace, de FREEDMANet al. [75].

Pour un sommetuV d’un grapheG= (V, E), posonsM(u) :=Pv∈V dG(u, v).

Un sommet m minimisant cette fonction M est appelé un sommet médian deG.

La proposition suivante est bien connue :

Proposition 7. Tout arbre T possède soit un sommet médian, soit deux reliés par une arête. De plus, v est un sommet médian d’un arbre T si et seulement si chaque sous-arbre induit par V(T)\ {v} contient au plus la moitié des sommets de T.

Du fait de la proposition7 précédente, un sommet médian dans un arbre est plus communément nommé un centroïde (ou centre, comme initialement intro-duit par JORDAN[105]).

La procédure Enc_Dist_Arbre donne une étiquette LDT(v) à tout sommet v de l’arbreT de la façon suivante :

(1) Donner à chaque sommetv un identifiant unique id(v); (2) Trouver un sommet médianm deT;

(3) Pour tout sommet v de T, concaténer (id(m),dT(v, m)) à l’étiquette cou-rante dev;

(4) Répéter à l’étape2pour chaque sous-arbre d’au moins deux sommets créé par la suppression dem.

Étant données les étiquettes LDT(u) et LDT(v), la procédure Dist_Arbre peut trouver le dernier séparateur commun m à u et v (c.-à-d., le dernier médian commun stocké paruetv dans leurs étiquettes) et retournerdT(u, m) + dT(v, m) en tant que la distancedT(u, v)(voir la figure3.3).

(0, (0,0), )

(1, (0,1), (1,0), )

(2, (0,1), (2,0), )

(3, (0,2), (1,1), (3,0), )

(4, (0,2), (1,1), (4,0), ) (5, (0,2), (1,1), (5,0), ) (6, (0,2), (2,1), (6,0), )

(7, (0,2), (2,1), (7,0), ) (8, (0,2), (2,2), (7,1), (8,0), )

Figure 3.3 – Exemple de l’étiquetage d’un arbre avec le schéma de distance de Peleg.