Hypercube (graphe) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Galerie

Variantes

L'hypercube était très utilisé pour les architectures de machines parallèles, et certaines de ses propriétés étaient jugées perfectibles dans ce cadre. Le principal problème est la croissance d'un hypercube, où le nombre de sommets doit doubler d'une dimension à l'autre : dans une machine, plus de flexibilité est désirable afin de pouvoir ajouter quelques processeurs. Plusieurs aspects sont aussi liés à sa réalisation par des circuits électroniques. Premièrement, l'hypercube n'est pas planaire et aura donc des chevauchements dans le circuit : en réduire le nombre simplifie le circuit. Deuxièmement, l'hypercube est défini comme un graphe non-orienté, mais « un réseau basé sur une orientation \vec{G} de G utilise la moitié du nombre de broches et câbles par rapport à G » : il est donc intéressant de trouver une orientation conservant des performances similaires. Enfin, il peut être désirable de réduire les distances dans l'hypercube pour les performances en termes de communications.

L'hypercube comme bloc de base

HCN(2,2) formé de 22 = 4 hypercubes Q2, chacun constituant un cluster dont le numéro est encadré.

Un hierarchical cubic network HCNn,n est formé de 2n n-cubes, où chaque cube est désigné comme un cluster. Chacun de ces clusters est utilisé comme un bloc de base, et chaque nœud d'un cluster a un lien supplémentaire le reliant à un autre cluster ; ces liens sont déterminés par l'algorithme suivante pour le graphe G = (V,E) composé de 2n n-cubes, où (I,J) désigne le sommet J du cluster I et \bar{i} est le complément bit à bit de i :

\begin{array}{crl} \rm \text{pour } i = 0..2^n-1 & \rm & \rm \\ & \text{pour } j = 0..2^n-1 & \\ & & \text{si } i \neq j, E(G) \leftarrow E(G) \uplus \{e_{ij},e_{ji}\} \\ & & \text{sinon}, E(G) \leftarrow E(G) \uplus \{e_{i \bar{i} }, e_{j \bar{j} }\} \end{array}

Les auteurs montrèrent que, à tailles égales, ce graphe a un diamètre d'un quart plus faible que celui de l'hypercube, et la moitié du nombre de liens. Cependant, dans certaines situations la diffusion est plus lente que sur un hypercube, et avoir un graphe moins dense revient à être plus exposé lorsque des pannes surviennent sur les liens.

Cubes de Fibonacci

Une autre variante ayant été depuis particulièrement étudiée est le Cube de Fibonacci. Les conditions fondamentales du cube de Fibonacci de dimension n, noté FCn, sont les mêmes que celles de l'hypercube : chaque sommet porte une étiquette de longueur n sur un alphabet A = {0,1}, et deux sommets sont adjacents si leurs étiquettes ne différent que d'un symbole. Cependant, on rajoute une contrainte : une étiquette valide ne peut avoir deux 1 consécutif. Ainsi, ci-dessous, on voit que les cubes de Fibonacci FC1,FC2,FC3,FC4 peuvent se retrouver comme sous-graphes des hypercubes Q1,Q2,Q3,Q4 en éliminant les étiquettes contenant deux 1 consécutifs.

Les cubes de Fibonacci FC1,FC2,FC3,FC4 comme sous-graphes des hypercubes Q1,Q2,Q3,Q4.

La construction par récurrence peut-être définie par une grammaire formelle en énonçant les étiquettes valides pour les sommets, puis en considérant le graphe FCn comme le sous-graphe de l'hypercube Qn induit par les sommets valides V(FCn) :

\begin{cases} V_0 = \epsilon \\ V_1 = \{0,1\} \\ V_i = \{0 \alpha | \alpha \in V_{i-1}\} \cup \{10 \alpha | \alpha \in V_{i-2}\}, \forall i > 2 \end{cases}

Hypercubes recâblés

Dans le cas où réduire la distance soit le principal objectif, il est courant d'utiliser des procédures de recâblage comme on le voit encore dans le cas de l'effet petit monde. De nombreuses procédures ont été proposées, et les plus significatives sont résumées dans le tableau ci-dessous avec leurs performances sur la distance maximale (i.e. le diamètre) et moyenne ainsi que le nombre de recâblages nécessaire. Le nom de chacune des procédures est conservé à partir des articles d'origines, où twisted signifie recâblé, et suivi de l'année à laquelle la procédure fut publiée.

Listes de variantes de l'hypercube par recâblage. Le temps de routage est toujours en O(n).
Nom Diamètre Distance moyenne Nombre d'arêtes recâblées
Hypercube n \frac{n}{2} 0
Twisted cube (1987) \frac{n+1}{2} \approx \frac{3n}{8} (n − 1)2n − 4
Twisted hypercube (1991) n − 1 \approx \frac{n}{2} - \frac{1}{8} 2n − 1
Twisted N-cube (1991) n − 1 \approx \frac{n}{2} 2
Generalized twisted cube (1993) \frac{2n}{3} \approx \frac{11n}{24} n2^{\lfloor n/3 \rfloor}
0-Möbius Cube (1995) \frac{n+2}{2} \approx \frac{n}{3} (n − 2)2n − 1

Graphe libre d'échelle par contraction

L'hypercube Q2 a été contracté dans Q4 et deux coordonnées remplacées par « _ ».

Dans les années 2000, de nombreux modèles furent proposés pour prendre en compte des caractéristiques communes à de nombreux réseaux. Deux des principales caractéristiques sont l'effet petit monde et l'effet libre d'échelle. Il est possible de modifier un hypercube afin d'obtenir l'effet libre d'échelle, tout en continuant à bénéficier de sa propriété de routage local. Pour cela, des sommets sont contractés à la condition qu'ils ne diffèrent que sur une coordonnée qui sera remplacé par un joker « _ ». Après une séquence de contractions, c'est-à-dire plusieurs contractions successives, il est toujours possible de trouver un chemin d'un sommet A à un sommet B en utilisant leurs coordonnés et en remplaçant les jokers « _ » par les coordonnées de B.

La condition de ne différer que sur une coordonnée tout en opérant une séquence de contractions conduit à ce qu'un sous-hypercube soit contracté, et le degré du sommet s résultant de la contraction d'un hypercube Qp dans Qn, 1 < p < n est :

d_{q_p}(s) = 2^{p}(n-p)

En résumé, l'effet libre d'échelle est obtenu par contraction de sous-hypercubes de grande taille et les algorithmes de navigation n'ont pas besoin d'être modifiés.

Page générée en 1.642 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise