• Aucun résultat trouvé

Etant donn´e un lien dirig´e e = (s, t), on appelle s la source et t la destination du lien. La fonction succ(v) retourne tous les successeurs de v, c’est-`a-dire tous les nœuds w tels qu’il existe un lien (v, w) et la fonction pre(v) retourne tous les pr´ed´ecesseurs de v, c’est-`a-dire tous les nœuds w tels qu’il existe un lien (w, v).

Avec une distribution de degr´es fournie pour tous les nœuds d’un graphe non dirig´e, nous attribuons initialement `a chaque nœud le nombre d’extr´emit´es (stubs) qui doivent y ˆetre connect´ees afin que la distribution de degr´es soit r´ealis´ee. Durant la g´en´eration al´eatoire, les extr´emit´es sont reli´ees pour former des liens. Dans les cas des graphes dirig´es, on attache des extr´emit´es entrantes (in-stubs) et sortantes (out-stubs). Les fonctions ost(v) et ist(v) retournent respectivement le nombre restant d’extr´emit´es sortantes et entrantes de v.

8.3 Etat de l’art´

Dans cette section, nous pr´esentons l’´etat de l’art dans le domaine des mod`eles al´eatoires et des algorithmes de g´en´eration de graphes al´eatoires, afin de mieux mettre en lumi`ere les b´en´efices de l’approche que nous pr´esenterons par la suite.

8.3.1 Mod`eles de graphes al´eatoires

Dans le cadre du mod`ele de graphe al´eatoire d’Erdos-Renyi [60], les math´ematiques et la physique ont ´et´e les premi`eres disciplines `a ´etudier les graphes al´eatoires et les mod`eles probabilistes de g´en´eration de graphes al´eatoires. Ces ´etudes avaient initialement pour objectif d’´etudier les propri´et´es locales et globales des graphes quand n tendait vers l’infini. On peut lire [33] pour une ´etude plus compl`ete des travaux dans cette direction.

Le probl`eme majeur des graphes al´eatoires d´efinis par Erdos et Renyi dans le cadre de la mod´elisation de r´eseaux sociaux est que ces graphes poss`edent une distribution de degr´es

en loi de Poisson. Or, des ´etudes ont montr´e que la grande majorit´e des graphes de terrain ont une distribution fortement h´et´erog`ene qui suit asymptotiquement une distribution en loi de puissance. Ces r´eseaux sont souvent appel´es des r´eseaux sans-´echelle (scale-free networks) [26].

Ces observations et leurs cons´equences pratiques ont men´e `a l’´etude de nouveaux mod`eles de graphes al´eatoires qui peuvent ˆetre param´etr´es afin de mieux correspondre `a des distributions de degr´es donn´ees [155]. Il existe ´egalement des mod`eles respectant `a la fois une distribution de degr´es prescrite et d’autres propri´et´es topologiques [112]. Ces mod`eles sont tr`es int´eressants car ils peuvent ˆetre ´etudi´es formellement et permettent d’obtenir des r´esultats, notamment asymptotiques, sur les propri´et´es globales ou locales des graphes g´en´er´es.

`

A la suite de l’article de Watts et Strogatz [157], les chercheurs en analyse de r´eseaux sociaux ont pris l’habitude de comparer des r´eseaux r´eels `a des graphes g´en´er´es al´eatoirement afin d’identifier des diff´erences structurelles non triviales. Le param´etrage pour la g´en´eration de ces graphes pour un r´eseau donn´e, ainsi que l’´etude formelle de nouvelles propri´et´es d’int´erˆet sont des probl`emes de recherche g´en´eralement complexes.

C’est l’une des raisons pour lesquelles les ´etudes pratiques utilisent toujours des m´ethodes exploratoires et descriptives qui sont tr`es utiles pour d´ebuter une ´etude, mais ne permettent pas de tirer des conclusions fortes. L’´etat de l’art actuel utilise des instances de graphes g´en´er´es al´eatoirement et compare les propri´et´es de ces graphes avec celles de graphes r´eels (avec des m´ethodes de statistique descriptive). Ceci fournit des r´esultats suffisamment concluants sous r´eserve d’avoir assez d’´echantillons.

Nous ne souhaitons pas d´ecourager l’´etude des mod`eles al´eatoires. Mais, reconnaissant que leur utilisation est tr`es difficile et qu’il y a toujours de nombreuses propri´et´es pour lesquelles aucun r´esultat formel n’est disponible, nous nous concentrons sur des ´evaluations plus classiques avec des graphes g´en´er´es al´eatoirement.

8.3.2 G´en´eration de graphes al´eatoires

Tout d’abord il faut distinguer deux types de g´en´eration al´eatoire. La premi`ere, la g´en´eration d’instances de mod`eles, est utilis´ee pour des questions g´en´erales, par exemple l’´etude empirique des mod`eles ou l’impact des param`etres. Pour ces mod`eles, les r´eseaux peuvent ˆetre g´en´er´es tr`es efficacement [29] en utilisant les propri´et´es math´ematiques des distributions de degr´es. Le second type de g´en´eration n´ecessite une distribution de degr´es donn´ee que l’on souhaite obtenir exactement. Cela sert pour l’´evaluation de graphes de terrain particuliers et est l’objectif de ce chapitre. Cela n´ecessite d’utiliser une approche diff´erente que nous ´etudions dans la suite.

Milo et al. effectuent un tr`es bon survol de ce domaine [106] ; nous utiliserons leur terminologie pour la pr´esentation et la discussion de notre algorithme.

a b

d

c

Figure 8.1 – Exemple de graphe avec extr´emit´es pour la g´en´eration de liens.

Le mod`ele configurationnel

L’approche la plus classique est le mod`ele configurationnel, qui est bien r´esum´e par Newman [114]. La g´en´eration d’un graphe avec distribution de degr´es fix´ee est assez simple et s’effectue en choisissant al´eatoirement des paires d’extr´emit´es et en les connectant pour former des liens. Cet algorithme est la m´ethode d´evelopp´ee par d´efaut dans la plupart des outils disponibles qui permettent de g´en´erer des graphes avec distribution de degr´es fix´ee, par exemple NetworkX http://networkx.lanl.gov/ pour Python.

Cependant, cette m´ethode souffre d’un inconv´enient majeur pour les ´etudes pratiques car elle permet de g´en´erer des graphes avec des boucles (si un lien est cr´e´e avec deux extr´emit´es d’un mˆeme sommet) ou des liens multiples (si deux paires d’extr´emit´es sont choisies pour la mˆeme paire de sommets). Dans les r´eseaux r´eels ces propri´et´es sont souvent interdites i.e., les r´eseaux r´eels sont souvent des graphes simples1. L’utilisation de ce mod`ele ne permet pas des comparaisons rigoureuses. La figure 8.1 montre un graphe non dirig´e avec une distribution de degr´es fix´ee pour lequel on souhaite cr´eer des liens al´eatoires. Avec le mod`ele configurationnel, toute paire d’extr´emit´es peut ˆetre choisie, ce qui autorise initialement les 8 connexions diff´erentes. Si on se limite aux graphes simples, par contre, il y a seulement 5 connexions possibles. En effet, (b, b) et (d, d) cr´eeraient une boucle et (a, c) imposerait de cr´eer un lien multiple entre b et d par la suite.

Ce probl`eme d´ecroˆıt quand n augmente mais en utilisant le mod`ele configurationnel il faut toujours supprimer les boucles et les liens multiples a posteriori, ce qui a pour cons´equence de modifier la distribution de degr´es fournie initialement. Un algorithme bas´e sur une telle modification est ´evalu´e par Milo et. al. [106], sous le nom de matching al-gorithm. La cr´eation de liens multiples n’arrˆete pas l’algorithme mais de tels liens sont rejet´es. Cela augmente la probabilit´e de se rapprocher de la distribution prescrite. Cepen-dant le rejet des liens multiples a pour cons´equence la perte de l’uniformit´e des graphes g´en´er´es. Viger et Latapy [153] ont montr´e empiriquement que cela introduit un biais dans les propri´et´es du graphe g´en´er´e. Au contraire, Milo et al. d´efendent que les cons´equences sont relativement faibles dans leurs exp´eriences. Ils recommandent cependant d’utiliser une

M´ethode de Monte-Carlo par chaˆınes de Markov (Markov Chain Monte Carlo (MCMC) en anglais).

M´ethode de Monte-Carlo par chaˆınes de Markov Comme affirm´e par Viger et Latapy [153] :

Although it has been widely investigated, it is still an open problem to directly generate such a random graph, or even to enumerate them in polynomial time [...]

Cette ´enum´eration a ´et´e accomplie par Snijders [139] mais, `a cause de la complexit´e temporelle exponentielle, la plupart des chercheurs se sont tourn´es vers les m´ethodes de Monte Carlo pour la g´en´eration de graphes al´eatoires.

Selon Milo et al. [106], la m´ethode la plus rapide est Markov Chain Monte Carlo (MCMC). Cette m´ethode a l’avantage suppl´ementaire de permettre la cr´eation de graphes simples, et mˆeme connexes si n´ecessaire au prix d’un temps de g´en´eration accru. Ces al-gorithmes de type MCMC ne permettent pas de cr´eer directement des graphes al´eatoires mais proc`edent de la mani`ere suivante :

1. g´en´erer un graphe simple respectant la distribution de degr´es prescrite ; 2. le rendre connexe avec des permutations de liens si n´ecessaire ;

3. effectuer une suite de permutations de liens jusqu’`a ce que le graphe semble suffi-samment al´eatoire. C’est un m´elange (shuffling) du graphe.

L’´etape 1 peut ˆetre r´ealis´ee avec l’algorithme de Havel-Hakimi [72] qui r´ealise exacte-ment la distribution voulue de mani`ere d´eterministe. Si la connexit´e du graphe n’est pas obligatoire, Viger et Latapy [153] ont valid´e empiriquement que O(m) ´echanges de liens suffisent pour avoir un ´echantillonage uniforme, mais la preuve est toujours un probl`eme ouvert. Milo et al. [106] ont estim´e que le facteur constant de cette borne est environ 100. De plus ils d´ecrivent une impl´ementation na¨ıve avec connexit´e garantie dont la complexit´e est en O(m2). Cet algorithme na¨ıf est appel´e switching algorithm. Viger et Latapy [153] proposent une am´elioration en O(m· log(m)) pour les graphes non dirig´es en se basant sur des validations empiriques mais sans preuve formelle. L’utilisation de l’am´elioration pour les graphes dirig´es n’est pas ´etudi´ee.

La m´ethode a ´et´e g´en´eralis´ee par Tabourier et al. [145] afin de conserver des propri´et´es du graphe autres que la distribution des degr´es, comme par exemple le nombre de triangles. La m´ethode peut n´ecessiter de faire des inversions de liens avec plus de 2 liens et de rejeter une inversion si elle change la propri´et´e voulue.

Bien que notre proposition n’offre pas une meilleure complexit´e que MCMC et qu’elle ne g´en`ere pas que des graphes connexes, nous voyons deux avantages `a notre m´ethode par rapport `a MCMC. Tout d’abord, notre algorithme est beaucoup plus simple `a impl´ementer et pourrait donc remplacer les matching algorithms dans les logiciels. Ensuite, il est beau-coup plus simple d’introduire des r`egles de connectivit´e sp´ecifiques dans des algorithmes de g´en´eration directe qu’avec des inversions de liens. Avec ces derni`eres approches il faut

a b

d

c

Figure 8.2 – Exemple de graphe durant le processus de g´en´eration.

en effet contraindre les ´echanges autoris´es pour garantir que les graphes restent simples. Pour ces raisons nous pensons qu’il reste encore des verrous `a lever pour la conception d’algorithmes de g´en´eration directe.

´

Echantillonnage s´equentiel

Un algorithme d’´echantillonnage s´equentiel est propos´e par Blitzstein et Diaconis [31]. Comme notre proposition, il g´en`ere un graphe s´equentiellement en for¸cant un ordre pour une extr´emit´e des nouveaux liens et en choisissant au hasard l’autre extr´emit´e. En cons´equence, il ne permet pas d’´echantillonner uniform´ement. Notre m´ethode est une al-ternative viable pour deux raisons. Tout d’abord la m´ethode de Blitzstein et Diaconis est uniquement d´ecrite et prouv´ee pour les graphes non dirig´es, mˆeme si une adaptation semble possible. Ensuite, leur m´ethode n´ecessite de v´erifier `a chaque ´etape si la cr´eation du lien va permettre d’atteindre la distribution de degr´es voulue, ce qui ralentit l’ex´ecution `a une complexit´e en O(m· n2) et est moins efficace que les autres m´ethodes et en particulier, la nˆotre.

Un algorithme d’´echantillonnage s´equentiel est propos´e par Del Genio et al. [54] qui est plus rapide que le pr´ec´edent : il est en O(m· n) ; par contre il ne permet pas d’avoir un ´echantillonage uniforme, mais la probabilit´e d’avoir une configuration donn´ee peut ˆetre calcul´ee, ce qui permet de faire des moyennes pond´er´ees en g´en´erant plusieurs graphes lorsque l’on s’int´eresse `a des propri´et´es particuli`eres. L’algorithme est g´en´eralis´e `a des graphes dirig´es par Kim et al. [81].