Graphe expanseur

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

En mathématiques, et plus particulièrement en théorie des graphes, un graphe expanseur (expander graph en anglais) est, de façon intuitive, un graphe fortement connecté[1]. Par là, on veut dire qu'à partir d'un petit nombre de sommets (correspondant par exemple à des relais de transmission) on peut atteindre en un « pas » d'autres sommets du graphe (par exemple des récepteurs) par de nombreuses voies[2].

Tous les graphes connexes finis sont plus ou moins expanseurs : la question est de savoir avec quel taux d'expansion.

Historique[modifier | modifier le code]

La notion de graphe expanseur remonte aux années 1970[2]. La motivation initiale était de construire des réseaux (téléphoniques ou informatiques) robustes.

En mathématiques, ils apparaissent en tant que graphes de Cayley de certains groupes de matrices et dans la conjecture de Baum-Connes. On les rencontre aussi dans les taux de convergence des chaînes de Markov et dans l'étude des algorithmes de Monte-Carlo. Enfin, ils jouent un rôle dans le problème isopérimétrique[1].

On les utilise en informatique pour construire des familles de codes correcteurs d'erreur[3].

Définitions[modifier | modifier le code]

Frontière d'une partie du graphe[modifier | modifier le code]

Les sommets coloriés en bleu ciel ont pour frontière l'ensemble des arêtes vertes.

Soit G = (V, E) un graphe non orienté à n sommets et W un sous-ensemble de sommets de V.

On appelle frontière[2] (boundary) de W et on note \partial(W) l’ensemble des arêtes de G partant d'un sommet de W et n'aboutissant pas à un sommet de W.

En notation mathématique, cela donne :

\partial(W) = \{ wv \in E : w \in W, v \in V \setminus W \}.

On remarque que cette frontière contient des arêtes[4]. Si l'on souhaite être plus explicite, on l'appelle frontière des arêtes (edge boundary).

On peut aussi construire des frontières des sommets (vertex boundaries) :

  • la frontière des sommets extérieure (outer vertex boundary)[5] notée \partial_{\text{out}}(W) est définie comme l'ensemble des sommets de V \setminus W ayant au moins un voisin dans W :
\partial_{\text{out}}(W) = \{ v \in V \setminus W : \exists w \in W, wv \in E \} ;
  • la frontière des sommets intérieure (inner vertex boundary)[5] notée \partial_{\text{in}}(W) est définie comme l'ensemble des sommets de W ayant au moins un voisin dans V \setminus W :
\partial_{\text{in}}(W) = \{ w \in W : \exists v \in V \setminus W, wv \in E \}.

Sur la figure, la frontière intérieure est en rouge et la frontière extérieure en bleu.

Taux d'expansion[modifier | modifier le code]

Le taux d'expansion du graphe non orienté G est :

h(G) = \min_{|W| \leq n/2} \frac{|\partial(W)|}{|W|}[1].

En d'autres termes, h(G) est le minimum, pris sur des parties W comportant au maximum n/2 sommets, du rapport entre le nombre d'arêtes de la frontière de W et le nombre de sommets de W.

h(G) est aussi appelé nombre isopérimétrique (isoperimetric number) ou constante de Cheeger, sachant qu'il existe aussi une constante de Cheeger en géométrie riemannienne.

On remarque que h(G) est calculé sur le nombre d'arêtes s'échappant de W et non sur le nombre de sommets juste à l'extérieur de W, par exemple. Cela ne donne pas toujours la même valeur : deux arêtes issues de deux sommets différents de W peuvent aboutir au même sommet de V \setminus W. On précise donc qu'il s'agit du taux d'expansion des arêtes (edge expansion).

On peut aussi définir des taux d'expansion des sommets (vertex expansion)[5] :

  • h_{\text{out}}(G) = \min_{0 < |W| \leq n/2} \frac{|\partial_{\text{out}}(W)|}{|W|} ;
  • h_{\text{in}}(G) = \min_{0 < |W| \leq n/2} \frac{|\partial_{\text{in}}(W)|}{|W|}.

On a les relations :

h_{\text{out}}(G) \leq h(G) \leq \Delta \cdot h_{\text{out}}(G)
h_{\text{in}}(G) \leq h(G) \leq \Delta \cdot h_{\text{in}}(G)

\Delta est le degré maximal du graphe.

Graphe expanseur[modifier | modifier le code]

Soit G un graphe non orienté à n sommets.

G est un graphe expanseur dans un facteur c > 0 si, pour tout sous-ensemble de sommets W de cardinal |W| \leq n/2, on a |\partial(W)| \geq c \, |W|[6].

On dit aussi que le graphe est c-expanseur.

Certains auteurs imposent dans la définition un degré maximal aux sommets du graphe[7], afin qu'il reste creux : le graphe complet n'a en effet vraiment pas de mérite à être fortement connecté…

On remarque que c \leq h(G) : le taux d'expansion h(G) est la meilleure valeur pour c.

Tout graphe connexe à n sommets est \frac{2}{n}-expanseur : il existe toujours au moins une arête pour s'échapper d'une partie du graphe, sinon il ne serait pas connexe.

Encadrement du taux d'expansion dans le cas des graphes réguliers[modifier | modifier le code]

Il est difficile de calculer directement le taux d'expansion d'un graphe, du moins dans le cas général. En effet, le nombre de parties de ce graphe comportant moins de la moitié des sommets croît rapidement en fonction du nombre de sommets et on a du mal à examiner tous les cas. Il est donc intéressant de disposer d'un encadrement de cette valeur.

Rappelons que la matrice d'adjacence d'un graphe non orienté est symétrique et qu'elle est donc à valeurs propres réelles. Par ailleurs, pour un graphe régulier, la plus grande valeur propre est le degré d du graphe.

Le résultat suivant est dû à J. Cheeger, P. Buser, J. Dodziuk, N. Alon et V. D. Milman[1] :

Théorème — Soit A la matrice d'adjacence d'un graphe G d-régulier. Soit \lambda_2 sa deuxième plus grande valeur propre. Alors le taux d'expansion h(G) du graphe vérifie \frac{d - \lambda_2}{2} \leq h(G) \leq \sqrt{2 d (d - \lambda_2)}.

La quantité d - \lambda_2 est appelée trou spectral (spectral gap).

Exemples[modifier | modifier le code]

Graphe non connexe[modifier | modifier le code]

Considérons le graphe 2-régulier à 6 sommets G ci-contre (n = 6, d = 2).

En regardant le graphe, on voit que, pour une partie W égale à l'un des deux groupements de 3 sommets, il n'y a aucune arête qui parte vers un sommet de l'autre groupement. Le taux d'expansion h(G) vaut 0 et le graphe n'est pas expanseur.

La matrice d'adjacence correspondant au graphe est :


\begin{pmatrix}
 0 & 1 & 1 & 0 & 0 & 0\\
 1 & 0 & 1 & 0 & 0 & 0\\
 1 & 1 & 0 & 0 & 0 & 0\\
 0 & 0 & 0 & 0 & 1 & 1\\
 0 & 0 & 0 & 1 & 0 & 1\\
 0 & 0 & 0 & 1 & 1 & 0\\
\end{pmatrix}

Le calcul montre que les deux plus grandes valeurs propres sont toutes deux égales à 2. Ce n'est pas étonnant, un graphe est non connexe si et seulement si les deux plus grandes valeurs propres de la matrice d'adjacence sont égales.

On en déduit :

\frac{d - \lambda_2}{2} = \frac{2 - 2}{2} = 0

\sqrt{2 d (d - \lambda_2)} = \sqrt{2 \cdot 2 (2 - 2)} = 0

Par conséquent, 0 \leq h(G) \leq 0 : on retrouve bien que h(G) vaut 0.

Graphe de Petersen[modifier | modifier le code]

Considérons le graphe 3-régulier à 10 sommets G ci-contre (n = 10, d = 3).

Numérotons les sommets en tournant deux fois, la première fois autour du pentagone extérieur, la deuxième fois autour de l'étoile intérieure. Avec cette numérotation, la matrice d'adjacence est :


\begin{pmatrix}
 0 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0\\
 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0\\
 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0 & 0\\
 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & 0\\
 1 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 1\\
 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0\\
 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1\\
 0 & 0 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 1\\
 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0 & 0\\
 0 & 0 & 0 & 0 & 1 & 0 & 1 & 1 & 0 & 0\\
\end{pmatrix}

Le calcul montre que les deux plus grandes valeurs propres de cette matrice sont 3 et 1.

On en déduit :

\frac{d - \lambda_2}{2} = \frac{3 - 1}{2} = 1

\sqrt{2 d (d - \lambda_2)} = \sqrt{2 \cdot 3 (3 - 1)} = 2 \sqrt{3}

Par conséquent, 1 \leq h(G) \leq 2 \sqrt{3} \simeq 3,46 .

En fait, h(G) = 1. Pour s'en persuader, il suffit de considérer les 5 sommets de l'étoile centrale : il n'y a que 5 arêtes qui s'en échappent, ce qui correspond à un rapport arêtes de la frontière divisé par le nombre de sommets égal à 1.

Graphe cycle[modifier | modifier le code]

Considérons le graphe 2-régulier à n sommets G ci-contre (n pair et variable, d = 2).

Considérons une partie W de V de moins de n / 2 sommets :

  • dans le « meilleur » des cas, les sommets de W sont éloignés les uns des autres, et il part deux arêtes de chaque sommet ;
  • dans le « pire » des cas, les sommets de W sont tous regroupés d'un côté du graphe, et il n'y a que deux voies de sortie de cet ensemble.

Le minimum du rapport \frac{|\partial(W)|}{|W|} est atteint pour la plus grande valeur du nombre de sommets de W, c'est-à-dire n / 2.

On en déduit que h(G) = \frac{2}{( n/2 )} = \frac{4}{n}.

Quand le nombre de sommets augmente, cette valeur tend vers 0, c'est un cas de goulot d'étranglement.

Graphe biparti complet[modifier | modifier le code]

Biclique K4, 4

Considérons le graphe d-régulier à 2 d sommets G ci-contre (n = 2 d).

Dans un graphe biparti complet, les valeurs propres de la matrice d'adjacence sont d, 0, 0, \cdots, 0, -d. On a donc \lambda_2 = 0 et par conséquent \frac{d}{2} \leq h(G) \leq \sqrt{2} d.

En fait, si d est pair, on a h(G) = \frac{d}{2}. Pour le montrer, dans le dessin ci-contre, considérons l'ensemble W des sommets rouges. On constate que \frac{d}{2} arêtes (vertes) s'échappent de chacun des d sommets rouges vers les sommets bleus et \frac{|\partial(W)|}{|W|} = \frac{d \cdot (d / 2)}{d}. Attention, ce n'est plus vrai si d est impair.

Pour d = 4 comme dans l'illustration ci-contre, on a h(G) = 2.

Graphe complet[modifier | modifier le code]

On considère le graphe d-régulier à d + 1 sommets où chaque sommet est connecté à tous les autres.

Cette fois, les valeurs propres de la matrice d'adjacence sont d, 0, 0, \cdots, 0. On a donc \lambda_2 = 0 et par conséquent \frac{d}{2} \leq h(G) \leq \sqrt{2} d, comme dans le cas précédent.

De fait, h(G) = \frac{d + 1}{2} pour d impair et h(G) = \frac{d}{2} + 1 pour d pair.

Comme il a déjà été signalé dans la définition, des graphes denses comme le graphe biparti complet et le graphe complet n'ont pas vraiment de mérite à être fortement expanseurs, et certains auteurs les rejettent en imposant un degré maximum au graphe.

Famille de graphes expanseurs[modifier | modifier le code]

Il est intéressant de considérer non un graphe isolé, mais toute une famille de graphes.

Définition[modifier | modifier le code]

On dit qu'une famille infinie \mathcal{G} = \{G_1, G_2, \ldots \} de graphes réguliers est une famille d'expanseurs s'il existe une constante \epsilon > 0 telles que h(G) \ge \epsilon pour chaque G_i \in \mathcal{G}[1]. Autrement dit, chaque graphe de la famille est expanseur dans un facteur \epsilon.

Tous les auteurs s'accordent dans cette définition sur le fait qu'elle ne s'applique qu'aux graphes réguliers, mais on aurait pu imaginer qu'elle s'applique indifféremment à n'importe quelle famille de graphes.

Plusieurs auteurs demandent également à ce que le degré d du graphe soit constant d'un membre de la famille à l'autre[2], mais il peut être intéressant d'avoir un degré qui évolue en fonction du nombre de sommets du graphe.

Contre-exemple[modifier | modifier le code]

La famille des graphes cycles n'est pas une famille d'expanseurs, puisque le taux d'expansion d'un graphe cycle tend vers 0 quand le nombre de sommets tend vers l'infini. Le fait que chacun des membres de la famille, pris individuellement, soit un graphe expanseur ne suffit pas.

Exemple[modifier | modifier le code]

Les familles d'expanseurs à d constant sont relativement difficiles à construire explicitement, et il est tout aussi malaisé de prouver qu'il s'agit effectivement de familles d'expanseurs et de calculer la constante correspondante. Gregori Margulis a exhibé la première de ces constructions en 1973, et c'est resté une des plus connues :

  • les sommets du graphe Gm sont des paires d'entiers entre 0 et m - 1 ;
  • les voisins du sommet (x, y) sont au nombre de 8 : (x + y, y), (x - y, y), (x, y + x), (x, y - x), (x + y + 1, y), (x − y + 1, y), (x, y + x + 1) et (x, y − x + 1), toutes ces opérations étant modulo m.

Par exemple, dans le graphe G9, le sommet (3, 4) a pour voisins (7, 4), (8, 4), (3, 7), (3, 1), (8, 4), (0, 4), (3, 8) et (3, 2).

Il s'agit là d'une famille d'expanseurs telle que \lambda_2 \leq 5 \sqrt{2} pour chacun des graphes de la famille[8].

Notes et références[modifier | modifier le code]

  1. a, b, c, d et e (en) Shlomo Hoory, Nathan Linial et Avi Widgerson. Expander graphs and their applications, an overview, Bulletin of the American Mathematical Society, volume 43, no 4, octobre 2006, p. 439-561
  2. a, b, c et d F. Jouve, Graphes à taux d'expansion optimal
  3. (en) Spielman (D.A.). Computationally efficient error-correcting codes and holographic proofs, Massachusetts Institute of Technology, thèse de PhD, mai 1995.
  4. Chez la plupart des auteurs, les arêtes de la frontière sont des arêtes orientées, bien que le graphe de départ soit non orienté. La définition donnée ici est simplifiée.
  5. a, b et c (en) S. Bobkov, C. Houdré et P. Tetali, λ, vertex isoperimetry and concentration, vol. 20,‎ 2000, {153–172 p. (lire en ligne), chap. 2}.
  6. (en) Oded Goldreich, Basic facts about expander graphs
  7. (en) Ho Yee Cheung, Lap Chi Lau, Kai Man Leung, Graph Connectivities, Network Coding, and Expander Graphs, Université chinoise de Hong Kong, août 2011
  8. (en) José Miguel Pérez Urquidi, Expander graphs and error correcting codes, thèse de master, Université de Bordeaux 1, juillet 2010.

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Jeff Cheeger, A lower bound for the smallest eigenvalue of the Laplacian. Problems in analysis, pages 195–199. Princeton Univ. Press, 1970.
  • (en) Gregori Margulis, Explicit constructions of expanders. Problemy Peredači Informacii, 1973.

Articles connexes[modifier | modifier le code]