D´
etection de structures de communaut´
es
dans les grands r´
eseaux d’interactions
Pascal Pons
LIAFA (CNRS – Universit´
e Paris 7), 2 place Jussieu 75251 Paris Cedex 05
Les parties localement denses de graphes globalement peu denses (communaut´
es) apparaissant dans la plupart des
r´
eseaux d’interactions r´
eels jouent un rˆ
ole important dans de nombreux contextes. Nous proposons une mesure de la
similarit´
e structurelle (au sens des communaut´
es) entre sommets bas´
ee sur des marches al´
eatoires. Nous montrons en-
suite comment calculer efficacement cette distance. Nous l’utilisons alors dans un algorithme de clustering hi´
erarchique
qui fonctionne en temps O(mn2)et en espace O(n2)dans le pire des cas, cependant il tire profit des caract´
eristiques
des r´
eseaux r´
ealiste, la complexit´
e en temps pour la plupart des cas pratiques est alors de O(n2log n)(net msont res-
pectivement le nombre de sommets et d’arˆ
etes du graphe). Les r´
esultats exp´
erimentaux montrent que notre algorithme
produit des structures de communaut´
es de meilleures qualit´
e que celles obtenue grˆ
ace aux algoritmes existants, tout en
restant comp´
etitif du point de vue du temps de calcul.
Keywords: communaut´
es, grands r´
eseaux d’interactions, marches al´
eatoires, clustering
1 Introduction
L’existence dans les r´
eseaux d’interactions de zones plus dens´
ement connect´
ees que d’autres d´
ecoule
souvent de la pr´
esence dans le graphe d’une structure de communaut´
es. Ce type de structure intervient dans
de nombreux r´
eseaux d’interactions et apporte de l’information sur leur organisation. Les communaut´
es
peuvent avoir des interpr´
etations diff´
erentes suivant le type de r´
eseau consid´
er´
e (r´
eseaux sociaux, r´
eseaux
biologiques, r´
eseaux d’information, r´
eseaux de t´
el´
ecommunication, ...).
La notion de communaut´
e dans un graphe est cependant difficile `
a d´
efinir formellement. C’est pourquoi
toutes les approches r´
ecentes ont utilis´
e une notion intuitive des communaut´
e : une communaut´
e est alors
vue comme un ensemble de sommets dont la densit´
e de connexions internes est plus forte que la densit´
e de
connexions vers l’ext´
erieur (sans pour autant d´
efinir de seuil formel). Le but est alors de trouver une partition
des sommets en communaut´
es v´
erifiant ce crit`
ere (sans savoir a priori le nombre de telles communaut´
es).
Le domaine a r´
ecemment rec¸u un vif regain d’int´
erˆ
et avec l’arriv´
ee de nouveaux algorithmes pouvant ˆ
etre
class´
ees en deux grandes familles :
Les approches s´
eparatives [GN02, NG04, RCC+04] scindent le graphe en plusieurs communaut´
es en
retirant progressivement les arˆ
etes reliant deux communaut´
es distinctes. Les arˆ
etes sont retir´
ees une `
a
une, `
a chaque ´
etape les composantes connexes du graphe obtenu sont identifi´
ees `
a des communaut´
es.
Le processus est r´
ep´
et´
e jusqu’au retrait de toutes les arˆ
etes. On obtient alors une structure hi´
erarchique
de communaut´
es. Les m´
ethodes existantes diff`
erent par la fac¸on de choisir les arˆ
etes `
a retirer.
Les approches agglom´
eratives [New04, DMn04] utilisent une approche s’apparentant `
a celle du clus-
tering hi´
erarchique dans lesquelles les sommets sont regroup´
es it´
erativement en communaut´
es. Notre
approche en fait partie.
2 Evaluation de la similarit´
e et de la diff´
erence des sommets grˆ
ace
`
a des marches al´
eatoires courtes
Nous consid´
erons un graphe non orient´
eG= (V,E)poss´
edant n=|V|sommets et m=|E|arˆ
etes. Afin
de pouvoir grouper les sommets du graphe par communaut´
es, nous allons introduire une distance entre
Pascal Pons
sommets (qui ´
evalue leur proximit´
e structurelle) bas´
ee sur des marches al´
eatoires dans le graphe.
2.1 Marches al´
eatoires dans un graphe
Nous allons nous int´
eresser `
a un processus de marche al´
eatoire (ou de diffusion) dans le graphe G. Le
temps est discr´
etis´
e (t=0,1,2,...). `
A chaque instant, un marcheur est localis´
e sur un sommet et se d´
eplace
`
a l’instant suivant vers un sommet choisi al´
eatoirement et uniform´
ement parmi les sommets voisins. La suite
des sommets visit´
es est alors une marche al´
eatoire, et la probabilit´
e de transition du sommet iau sommet j
est `
a chaque ´
etape : Pi j =Ai j
d(i)(o`
uAest la matrice d’adjacence du graphe et d(i)le degr´
e du sommet i).
Ceci d´
efinit la matrice de transition Pde la chaˆ
ıne de Markov correspondante. Nous pouvons aussi ´
ecrire
P=D1Aen introduisant la matrice diagonale des degr´
es des sommets D(Dii =d(i)et Di j =0 pour i6=j).
Nous noterons Pt
i j = (Pt)i j la probabilit´
e d’aller du sommet iau sommet jen t´
etapes.
2.2 Communaut´
es et marches al´
eatoires courtes
Nous allons consid´
erer des marches al´
eatoires de longueur fix´
ee tsuffisamment courte pour ne pas at-
teindre le r´
egime stationnaire mais suffisamment longue pour collecter des informations globales sur le
voisinage du point de d´
epart de la marche (en pratique nous prenons 3 t6). Nous supposons donc
connaˆ
ıtre pour tous sommets iet jles probabilit´
es Pt
i j d’aller de i`
ajen tpas. Chaque probabilit´
ePt
i j
apporte de l’information sur iet j. Ainsi si nous voulons comparer deux sommets iet jnous utiliserons
l’information fournie par les probabilit´
es Pt
ik,Pt
jk,Pt
ki et Pt
k j pour tout sommet k. Cependant, il est facile de
montrer que d(i)Pt
i j =d(j)Pt
ji, cette relation nous montre que ces deux probabilit´
es apportent exactement
la mˆ
eme information.
Pour comparer les sommets iet jnous pourrons donc nous contenter de comparer les vecteurs Pt
i.et Pt
j.
correspondant aux lignes iet jde la matrice Pt. Pour cel`
a nous nous appuyons sur le fait que les sommets
d’une mˆ
eme communaut´
e ont tendance `
a “voir” les sommets ´
eloign´
es de la mˆ
eme fac¸on, ainsi si iet jsont
dans la mˆ
eme communaut´
e et kdans une autre communaut´
e il y a de fortes chances que Pt
ik 'Pt
jk. Nous
devons aussi tenir compte de l’influence du degr´
ed(j)du sommet d’arriv´
ee sur la probabilit´
ePt
i j (cette
probabilit´
e est d’ailleurs directement proportionnelle au degr´
e lorsque t). Dans cette optique, nous
introduisons la distance ri j suivante :
ri j =sn
k=1
(Pt
ik Pt
jk)2
d(k)=
D1
2Pt
i.D1
2Pt
j.
(1)
Nous g´
en´
eralisons naturellement cette distance entre les communaut´
es (ensembles de sommets) en utili-
sant les probabilit´
es P
C.=1
|C|iCPi.pour toute communaut´
eCV.
Th´
eor`
eme 1 La distance ri j s’exprime directement en fonction des vecteurs propres `
a droite vαde P as-
soci´
es aux valeurs propres λα.
r2
i j =
n
α=2
λ2t
α(vα(i)vα(j))2(2)
Cette formule ´
etablit un lien entre notre distance et les propri´
et´
es spectrales de la matrice de transfert, ainsi
son comportement est principalement domin´
e par les vecteurs propres de Pli´
es aux plus grandes valeurs
propres. Soulignons que de nombreux travaux ont montr´
e ou constat´
e que les propri´
et´
es structurelles du
graphe sont captur´
ees par ces vecteurs propres [SEMS04, DMn04]. Cependant ces approches ont toutes
l’inconv´
enient de devoir calculer explicitement les valeurs propres et les vecteurs propres associ´
es. Notre
approche s’appuie sur les mˆ
emes fondements th´
eoriques mais vise `
a s’affranchir du calcul p´
enalisant des
valeurs propres, comme nous allons le voir dans le paragraphe suivant.
2.3 Calcul de la distance
La d´
efinition donn´
e par l’´
equation (1) de ri j permet un calcul en O(n)`
a partir des probabilit´
es Pik et
Pjk. Le calcul exact de ces diff´
erentes probabilit´
es peut ˆ
etre fait en calculant la matrice Pt. Les graphes
rencontr´
es en pratique sont g´
en´
eralement peu denses, il est alors judicieux de calculer chaque vecteur Pt
i.
D´
etection de structures de communaut´
es dans les grands r´
eseaux d’interactions
en multipliant tfois le vecteur P0
i.(P0
i.(k) = P0
ik =δik) par PT. Chaque multiplication demande O(m), le
calcul de chaque Pt
i.demande donc un temps O(tm).
Suivant la ressource m´
emoire, nous pourrons soit calculer tous les vecteurs probabilit´
es en un temps
O(tnm)et les stocker en m´
emoire pour pouvoir ensuite faire chaque calcul de distance en un temps O(n),
ou bien calculer `
a la vol´
ee chaque distance en un temps O(tm).
3 Description de l’algorithme
Le but est maintenant de construire une structure de communaut´
es en accord avec notre distance. Nous
allons pour ceci proposer une variante de la m´
ethode de clustering hi´
erarchique de Ward.
3.1 Principe de notre algorithme
Nous allons partir d’une partition du graphe en ncommunaut´
es contenant chacune un seul sommet et fu-
sionner successivement des communaut´
es jusqu’`
a obtenir une seule communaut´
e correspondant au graphe
entier de la fac¸on suivante :
Choisir deux communaut´
es `
a fusionner selon la proc´
edure d´
ecrite en 3.3.
Fusionner ces deux communaut´
es en une nouvelle communaut´
e.
Mettre `
a jour les distances entre communaut´
es.
Calculer et m´
emoriser un param`
etre de qualit´
eQpr´
esent´
e en 3.2
Nous obtenons ainsi une suite de npartitions des sommets en communaut´
es P0...Pn1parmi lesquelles il
va falloir choisir la meilleure (maximisant Q).
3.2 Evaluation de la qualit ´
e d’une partition du graphe en communaut´
es
Nous utilisons pour ´
evaluer la qualit´
e de la partition Pkla modularit´
eQ(Pk) = Qkintroduite dans [NG04,
New04] :
Qk=
CPk
(eCa2
C)(3)
o`
ueCest la fraction d’arˆ
etes internes `
a la communaut´
eCet aCest la fraction d’arˆ
etes ayant une extr´
emit´
e
dans la communaut´
eC. Cette quantit´
e est calculable en un temps O(m)et peut ˆ
etre mise `
a jour apr`
es
chaque fusion en O(1). Nous retenons comme r´
esultat de notre algorithme la partition du graphe poss´
edant
la meilleure modularit´
e.
3.3 Choix des communaut´
es `
a fusionner
Pour diminuer le nombre de cas `
a consid´
erer et ainsi la complexit´
e, nous envisagerons uniquement les
fusions de communaut´
es ayant au moins une arˆ
ete entre elles. Nous utilisons ensuite le principe de l’algo-
rithme de clustering hi´
erarchique suivant la m´
ethode de Ward [War63]. Cette m´
ethode fusionne les com-
munaut´
es de telle sorte `
a minimiser `
a chaque ´
etape la moyenne σde la distance au carr´
e de chaque sommet
`
a sa communaut´
e :
σ(Pk) = 1
n
CPk
iC
r2
iC (4)
Nous devons alors connaitre `
a chaque ´
etape les valeur ∆σ des variations de σapr`
es chaque fusion possibles
de communaut´
es. Celles-ci peuvent ˆ
etre efficacement obtenues grˆ
ace au th´
eor`
eme suivant :
Th´
eor`
eme 2 La variation ∆σ(C1,C2)de σlors d’une fusion de deux communaut´
es C1et C2en une nouvelle
communaut´
e C1C2est :
∆σ(C1,C2) = 1
n
|C1||C2|
|C1|+|C2|r2
C1C2(5)
Pascal Pons
3.4 Complexit ´
e
Le calcul initial des probabilit´
es Pt
i.pour tous les sommets ise fait en O(tmn).`
A chaque ´
etape de fusion,
le maintien de la structure de donn´
ee codant les communaut´
es se fait apr`
es chaque fusion en temps constant
et le calcul de Pt
(C1C2).se fait en temps O(n). Ces deux ´
etapes demandent donc pour les n1´
etapes
un temps total en O(n2). La partie la plus coˆ
uteuse est le calcul des nouvelle valeurs de ∆σ(C1C2,C3).
`
A chaque fusion, il faut recalculer les distances entre la nouvelle communaut´
e cr´
e´
ee et chacune de ses
communaut´
es voisines en temps O(n).
Th´
eor`
eme 3 Le nombre total de calculs de distances effectu´
e lors des fusion est au plus 2Hm o`
u H est la
hauteur de la structure arborescente des communaut´
es trouv´
ees par l’algorithme.
La complexit´
e totale de l’algorithme est donc O(mnH), soit O(mn2)dans le pire des cas. Cependant les
graphes r´
ealistes sont peu denses (m = O(n)) et leurs communaut´
es s’organisent g´
en´
eralement de mani`
ere
hi´
erarchique, de plus l’algorithme de Ward que nous utilisons a tendance `
a cr´
eer des communaut´
es de
tailles ´
equilibr´
ees. Ces deux remarques font qu’en pratique la structure arborescente hi´
erarchique des com-
munaut´
es s’approche du cas favorable o`
uH=O(logn)qui correspond `
a une performance de l’algorithme
O(n2logn).
4 Conclusion
Nous avons propos´
e et impl´
ement´
e (disponible sur [www]) un algorithme efficace de d´
etection de com-
munaut´
es dans les grands r´
eseaux d’interactions bas´
e sur l’´
etude des marches al´
eatoires dans les graphes.
Notre approche s’applique `
a des graphes de grandes tailles qui ne pouvaient pas ˆ
etre trait´
es par la plupart
des algorithmes existants. Ainsi, nous avons pu obtenir les structures de communaut´
es de graphes de tailles
allant jusqu’`
a 100 000 sommets. Cette courte pr´
esentation ne peut malheureusement contenir ni les nom-
breuses am´
eliorations et optimisations que nous avons propos´
ees ni les tests de comparaison que nous avons
effectu´
es. Ces tests ont soulign´
e la qualit´
e des partitions trouv´
ees par notre algorithme par rapport `
a celles
trouv´
ees par les autres algorithmes existants.
R´
ef´
erences
[DMn04] Luca Donetti and Miguel A. Mu˜
noz. Detecting network communities : a new systematic and
efficient algorithm. arXiv :cond-mat/0404652, 2004.
[GN02] M. Girvan and M. E. J. Newman. Community structure in social and biological networks.
PNAS, 99(12) :7821–7826, 2002.
[New04] M. E. J. Newman. Fast algorithm for detecting community structure in networks. Physical
Review E (Statistical, Nonlinear, and Soft Matter Physics), 69(6) :066133, 2004.
[NG04] M. E. J. Newman and M. Girvan. Finding and evaluating community structure in networks.
Physical Review E (Statistical, Nonlinear, and Soft Matter Physics), 69(2) :026113, 2004.
[RCC+04] Filippo Radicchi, Claudio Castellano, Federico Cecconi, Vittorio Loreto, and Domenico Parisi.
Defining and identifying communities in networks. PNAS, 101(9) :2658–2663, 2004.
[SEMS04] Ingve Simonsen, Kasper Astrup Eriksen, Sergei Maslov, and Kim Sneppen. Diffusion on com-
plex networks : a way to probe their large-scale topological structures. Physica A : Statistical
Mechanics and its Applications, 336(1-2) :163–173, May 2004.
[War63] Joe H. Ward. Hierarchical grouping to optimize an objective function. Journal of the American
Statistical Association, 58(301) :236–244, 1963.
[www] http://www.liafa.jussieu.fr/˜pons/.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !