Cecile Bothorel et Mohamed Bouklit
n=|V|sommets et m=|E|hyperarˆ
etes. En raison de leur faible densit´
e en pratique, nous avons choisi
de repr´
esenter les hypergraphes sous la forme d’un graphe biparti reliant les sommets aux hyperarˆ
etes
(auxquelles ils appartiennent). La complexit´
e de cette repr´
esentation coˆ
ute O(m+n+k)espace (kd´
esignant
le nombre d’arˆ
etes de ce graphe biparti). Comme nous consid´
erons uniquement des hypergraphes connexes
(k≥m+n−1), on en d´
eduit une complexit´
e spatiale en O(k)espace.
Nous nous int´
eressons dans cet article au probl`
eme de la d´
etection de structure des communaut´
es dans
les hyper-r´
eseaux d’interactions. Notre algorithme g´
en´
eralise celui de Girvan et Newman [NG04]. Apr`
es
avoir d´
etaill´
e notre algorithme de detection de communaut´
es dans les hyper-r´
eseaux d’interactions, nous
pr´
esentons les r´
esultats sur des hypergraphes de cooccurence de tags obtenus `
a partir du collectif en ligne
de partage de photos Flickr [Fli].
2 Description de l’algorithme
2.1 Principe de l’algorithme
Notre algorithme g´
en´
eralise celui de Girvan et Newman aux hypergraphes [NG04]. Nous allons partir
de la partition de l’hypergraphe contenant une seule communaut´
e (correspondant `
a l’hypergraphe entier)
et scinder successivement les communaut´
es jusqu’`
a obtenir ncommunaut´
es contenant chacune un seul
sommet de la fac¸on suivante :
– Calculer la centralit´
e d’interm´
ediarit´
e de chaque sommet et de chaque
hyperarˆ
ete d´
ecrite en section 2.2 (complexit´
e : O(nk))
– Retirer l’hyperarˆ
ete de centralit´
e maximale (complexit´
e : O(k))
– Calculer une partition de l’hypergraphe en communaut´
es¶(complexit´
e : O(k))
– Calculer et m´
emoriser un param`
etre de qualit´
eQpr´
esent´
e en section 2.3 (complexit´
e : O(klogk))
Nous obtenons ainsi, apr`
es mit´
erations, une suite de mpartitions des sommets en communaut´
es P0, ...Pm−1
parmi lesquelles il va falloir choisir la meilleure (maximisant Q). La complexit´
e d’une it´
eration ´
etant en
O(nk+klogk)temps, il en d´
ecoule donc que la complexit´
e totale de l’algorithme est en O(m(nk+klogk))
temps dans le pire des cas.
2.2 Calcul de la centralit´
e d’interm´
ediarit´
e
La centralit´
e d’interm´
ediarit´
e d’un sommet ou d’une hyperarˆ
ete u(que l’on notera B(u)) est la proportion
de plus courts hyperchemins passant par u. Pour ce faire, adoptant une approche similaire `
a Girvan et
Newman, nous allons calculer pour chaque sommet et chaque hyperarˆ
ete de l’hypergraphe sa centralit´
e
d’interm´
ediarit´
e dite locale `
av. La centralit´
e d’interm´
ediarit´
e locale `
avd’un sommet ou d’une hyperarˆ
ete
u(que l’on notera Bv(u)) est la proportion de plus courts hyperchemins partant de vpassant par u. On en
d´
eduit que : B(u) = ∑
v∈VBv(u). Cela revient en fait `
a faire circuler un flot ´
egal `
a 1 le long des hyperchemins
de u`
avpour tout sommet u. Les valeurs de flots obtenues pour chaque sommet et chaque hyperarˆ
ete
correspondent aux centralit´
es locales recherch´
ees.
L’algorithme effectue donc nit´
erations correspondant au calcul de la centralit´
e d’interm´
ediarit´
e locale `
a
vde chaque sommet et de chaque hyperarˆ
ete de l’hypergraphe de la fac¸on suivante :
1. on calcule dans un premier temps, en O(k)temps, l’ensemble des plus courts hyperchemins partant
de v`
a l’aide d’un parcours en largeur modifi´
e de l’hypergraphe H. La figure 1.b montre l’ensemble
des hyperchemins partant de adans l’hypergraphe repr´
esent´
e`
a la figure 1.a. Plus pr´
ecis´
ement, on
associe `
a chaque sommet et `
a chaque hyperarˆ
ete de l’hypergraphe l’ensemble de ses pr´
ed´
ecesseurs
sur ces hyperchemins. On peut constater par exemple que l’hyperarˆ
ete Da pour pr´
ed´
ecesseurs cet d.
2. on calcule dans un second temps, en O(k)temps, les centralit´
es locales de chaque hyperarˆ
ete et de
chaque sommet qui sont respectivement initialis´
ees `
a 0 et `
a 1. Plus pr´
ecis´
ement, on traite l’ensemble
des sommets et des hyperarˆ
etes udans l’ordre inverse du parcours en largeur (f g D C e d c b B A a
dans notre cas repr´
esent´
e`
a la figure 1.c) :
¶Les composantes connexes de l’hypergraphe ´
etant identifi´
ees `
a des communaut´
es, il suffit d’effectuer un calcul de composantes
connexes `
a l’aide d’un parcours en largeur.