3.3 Graphes scale free
Beaucoup de graphes réels ont une distribution des degrés des noeuds qui s’ajuste correctement sur une loi de puissance. On dit aussi que ces réseaux sont invariants d’échelle ou scale free (Lhomme (2012)).
3.3.1 Loi de puissance des degrés
La loi de puissance est à queues lourdes et s’ajuste bien à beaucoup de graphes observés.
Dans les années 2000, beaucoup de publications se sont concentrées sur ce phénomène de loi de puissance de la distribution des degrés, caractérisant par exemple l’exposant de la loi de puissance de réseaux observés. Le mauvais ajustement du modèle \(G(n,p)\) sur la loi des degrés a donné lieu à de nouveaux modèles, fondés uniquement sur cette distribution des degrés. Ces modèles graphe aléatoires appliquent le même principe que pour le modèle d’Erdös-Rényi \(\mathcal G(n,M)\): on définit une collection de graphes et la munit de la loi uniforme sur tous les éléments de cette collection.
On peut définir un modèle de graphes aléatoire de loi de puissance des degrés en considérant des graphes aléatoires sur \(n\) noeuds tels que les variables aléatoires \(D_1,\dots, D_n\) sont i.i.d selon une loi de puissance pour un \(\gamma\) donné. Plus précisément,
- On tire une suite \(\underline{d}=(d_1,\dots, d_n)\) de degrés selon la loi de puissance.
- On génère un graphe dont la suite de degrés est \(\underline{d}\).
Ces deux étapent nécessistent un peu plus de réflexion.
3.3.2 Suite de degrés réalisable
Une suite \(\underline{d}=(d_1,\dots, d_n)\) où les \(d_i\) sont des réalisations i.i.d. de la loi de puissance n’est pas toujours une suite réalisable de degrés d’un graphe. Par exemple, il n’y a pas de graphe dont la suite des degrés est \(\underline{d}=(1,0,0,0)\).
Pour un graphe non dirigé, simple, nous avons déjà vu que \[|V|\bar d= 2|E|.\] Autrement dit, la somme de degrés de noeuds est toujours un nombre pair.
En effet, la suite des degrés \((d_1,\dots, d_n)\) d’un graphe est très contrainte. Erdős and Gallai (1961) ont montré la propriété suivante (voir aussi Chapitre 6, Théorème 4, Berge (1976)).
Malheureusement, une suite de variables aléatoires
\(D_1,\dots, D_n\) i.i.d de la loi de puissance
a peu de chances de satisfaire les conditions du théorème d’Erdös-Gallai et donc soit réalisable en
tant que suite de degrés d’un graphe.
3.3.3 Simulation de graphe avec degrés donnés
Il existe plusieurs algorithmes pour générer un graphe avec une suite de degrés \(\underline{d}\) donnée (ou presque). Nous présentons ici les modèles à degrés fixés, \(FD(\underline{d})\), et à degrés aléatoires, \(RD(\underline{d})\),
3.3.4 Modèle à degrés fixés
Soit \(\underline{d}=(d_1,\dots, d_n)\) une suite réalisable de degrés de noeuds. On introduit le modèle à degrés fixés \(FD(\underline{d}\) ou fixed-degree model.
Dans le modèle \(F\!D(\underline{d})\), tous les graphes ont exactement la suite de degrés \(\underline{d}\).
Pour simuler une réalisation de ce modèle il y a deux algorithmes détaillés ci-dessous: l’algorithme de matching et l’algorithme re-branchement. L’algorithme de matching créer d’abord une urne rempli de noeuds où chaque noeud \(i\) est répeté selon sont degré, i.e. \(d_i\) fois. Ensuite, on tire dans cette urne des paires de noeuds et on met une arête entre les noeuds de chaque paire. Le problème est de tirer deux boules qui représentent le même noeud \(i\), car selon cet algorithme on ajouterait alors une boucle, ce qu’on ne veut pas. On ne peut pas simplement remettre deux boules identiques pour en tirer deux autres. Cela créerait un biais car on aurait plus la loi uniforme sur l’ensemble de graphes dont la suite de degrés est \(\underline d\). Il faut alors recommencer toute la procédure. Ainsi, le temps de calcul de l’algorithme peut être élevé.
Algorithme. Algorithme de matching.
Entrée: Suite réalisable de degrés de noeuds \(\underline{d}=(d_1,\dots, d_n)\).
Sortie: Liste d’arêtes Edge.List
.
Procédure:
Intialisation:
Edge.List
\(\leftarrow\emptyset\),Node.List
\(\leftarrow\emptyset\), \(\underline{d}^*=\underline{d}\)Créer fake
Node.List
: For (\(i \in \{1,\dots,n\}\)) \(\{\)While (\(d_i^* \ge 1\)) \(\{\)
Node.list
\(\leftarrow\) concatenate(Node.List
,i)\(d_i^* \leftarrow d_i^*-1\)
\(\}\) \(\}\)
Créer
Edge.List
:While (
Node.List
is not empty) \(\{\)Tirer \(i,j\) uniformément dans
Node.List
et sans remiseEdge.List
\(\leftarrow\) concatenate(Edge.List
, \(\{i,j\}\))Node.List
\(\leftarrow\)Node.List
\(\backslash\{i,j\}\) (enlever les deux noeuds utilisés de la liste)\(\}\)
Test graphe simple:
Si
Edge.List
contient des boucles ou des arêtes multiples, la sortie est non valide. On reinitialiseEdge.List
\(\leftarrow\emptyset\) et on recommence l’étape précédente.
L’algorithme de re-branchement (ou rewiring algoirthm ou switching algorithm) est plus efficace que l’algorithme de matching, mais il fonctionne uniquement à partir d’un graphe déjà existant qui possède la suite de degrés qu’on s’est fixée. De plus, il nécessite un paramètre : le nombre d’itérations. Empiriquement, on fixe ce nombre à environ 100 fois le nombre d’arêtes du graphe.
Algorithme. Algorithme de re-branchement.
Entrée : Edge.List
, Node.List
.
Sortie : Edge.List
Procédure :
While (Nb.iter
\(\ge 1\)) \(\{\)
Choisir \(e_1=\{u_1,v_1\}\) et \(e_2=\{u_2,v_2\}\) uniformément dans Edge.List
Proposer la création de \(e_1'=\{u_1,v_2\}, e_2'=\{u_2,v_1\}\)
Si aucune boucle ni arête multiple créée : remplacer \(e_1,e_2\) par \(e_1',e_2'\) dans Edge.List
Nb.iter
\(\leftarrow\) Nb.iter
-1
\(\}\)
Le comportement du modèle \(FD(\underline{d})\) peut être étudié à l’aide de simulations numériques, mais c’est coûteux.
3.3.5 Modèle à degrés aléatoires
Etant moins exigeant sur la suite de degrés du graphe généré, on peut définir un modèle, le modèle à degrés aléatoires \(RD(\underline{d})\) ou random-degree model, qui a l’avantage que la simulation est directe.
Les degrés \(D_i\) d’un graphe du modèle \(RD(\underline{d})\) sont seulement approchés par la suite \(\underline{d}\). En effet, \[\mathbb E[D_i]= \sum_{j\neq i}\mathbb E[A_{ij}]= \sum_{j\neq i} p_{ij}= \frac {d_i}{C} \sum_{j\neq i} d_j =\frac {d_i(2|E|-d_i)}{C}. \] En prenant \(d_i\) pas trop grand et \(C\simeq 2|E|\), on obtient \(\E[D_i]\simeq d_i\).
Remarques.
Le modèle de loi de puissance des degrés n’est pas constructif ni simplement simulable: si on tire une suite de \(D_i\) comme indiqué, on a peu de chances que la réalisation satisfasse les conditions du théorème d’Erdös-Gallai et donc soit réalisable en tant que suite de degrés d’un graphe.
Il faut garder à l’esprit que les degrés des noeuds sont une caractérisation très partielle du réseau et que des réseaux très différents peuvent avoir des suites de degrés de noeuds très similaires.
References
Berge, Claude. 1976. Graphs and Hypergraphs. Revised. North-Holland Publishing Co., Amsterdam-London; American Elsevier Publishing Co., Inc., New York.
Erdős, P., and T. Gallai. 1961. “Graphs with points of prescribed degree. (Graphen mit Punkten vorgeschriebenen Grades.).” Mat. Lapok 11: 264–74.
Lhomme, Serge. 2012. “Les modèles de graphes théoriques.” https://halshs.archives-ouvertes.fr/halshs-00773006.