• Aucun résultat trouvé

D´etection de communaut´e `a partir d’un ensemble de nœuds

Etant donn´e un nœud d’int´erˆet j, leur algorithme augmente l tant que : ΔKjl < α.

ΔKl

j correspond au changement du degr´e ext´erieur : ΔKjl = K

l j

Kjl−1, avec Kl

j correspondant aux nombres de liens entre les nœuds `a distance l de j et les nœuds `a distance l + 1. α est le param`etre de contrˆole du crit`ere d’arrˆet, un petit α permet d’avoir une communaut´e plus grande.

Bien sˆur cette m´ethode est loin d’ˆetre parfaite : un nœud d’int´erˆet probl´ematique peut faire que l’ensemble de d´epart couvre deux communaut´es ou plus (en effet, il suffit d’un seul lien vers une communaut´e lointaine pour que le r´esultat final soit peu pertinent). Ce-pendant, l’ensemble de d´epart reste une approximation de communaut´e ou d’ensemble de communaut´es et pourrait ˆetre utilis´e en conjonction avec d’autres algorithmes pr´esent´es pr´ec´edemment. Les auteurs pr´esentent ´egalement une m´ethode pour passer de ces com-munaut´es locales `a une partition du r´eseau en comcom-munaut´es qui sera d´etaill´ee dans la section 2.6.

2.5 D´etection de communaut´e `a partir d’un ensemble

de nœuds

Nous avons d´ej`a montr´e que les m´ethodes cherchant une communaut´e `a partir d’un nœud pouvaient ˆetre modifi´ees pour chercher une communaut´e `a partir d’un ensemble de nœuds (il s’agit du probl`eme de la compl´etion d’un ensemble de nœuds en une commu-naut´e). Cependant, il existe des m´ethodes compl`etement d´edi´ees `a cette tˆache, nous les d´etaillons ici.

2.5.1 Algorithme nibble pour compl´eter une communaut´e

Dans [17], les auteurs s’autorisent `a utiliser l’algorithme nibble en red´emarrant al´eatoirement d’un nœud faisant partie d’un ensemble d’int´erˆet plutˆot que d’un seul nœud d’int´erˆet. Ils montrent alors formellement que tout ensemble de nœuds constitu´e d’une partie cons´equente d’un ensemble de nœuds avec une conductance faible sera compl´et´e en un ensemble de nœuds avec une conductance faible : cette observation est tr`es utile lorsque l’on cherche `a compl´eter en une communaut´e un ensemble de nœuds qui s’en approche.

2.5.2 Sous-graphe de proximit´e

Dans le but de trouver un petit sous-graphe connexe et ´etroitement reli´e `a quelques nœuds d’int´erˆet, plusieurs articles ont d´evelopp´e des fonctions de qualit´e bas´ees sur la proximit´e aux nœuds d’int´erˆet ; nous d´etaillons ici ces proximit´es et fonctions de qualit´e.

Dans [61], les auteurs d´efinissent le probl`eme de sous-graphe de connexion (connection subgraph problem) : ´etant donn´e un graphe G, deux nœuds s et t dans G et un budget b, le but est de trouver un sous-graphe connexe H de taille au plus b contenant s et t qui maximise une fonction de qualit´e g(H). Ils sugg`erent une fonction g(H) bas´ee sur le courant ´electrique : ils essayent de trouver le sous-graphe H de taille b qui conduit le plus de courant ´electrique de s `a t sous une certaine perte (un param`etre contrˆolant la perte est fix´e arbitrairement). Les auteurs d´eveloppent une heuristique bas´ee sur la programmation dynamique ainsi qu’un algorithme d’approximation pour traiter des grands graphes. Pour l’algorithme d’approximation ils s´electionnent un sous-graphe beaucoup plus grand que b (la taille du r´esultat souhait´e), mais beaucoup plus petit que la taille du graphe complet et appliquent leur heuristique dessus.

Dans [84] les auteurs cherchent `a trouver un graphe de proximit´e, qui est une g´en´eralisation du probl`eme pr´ec´edent `a plus de deux nœuds. ´Etant donn´es deux nœuds s et t, les auteurs pr´esentent la Cycle-Free Escape Probability : CF EPG(s, t) qui est la probabi-lit´e qu’un marcheur al´eatoire dans le graphe G partant de s arrive `a t sans visiter un nœud deux fois (d’o`u le terme cycle-free). Ils essayent ensuite de trouver le sous-graphe H qui maximise (CF EPH(s,t))α

n o`u n est le nombre de nœuds dans H. Ce probl`eme est une relaxation du probl`eme o`u l’on cherche `a trouver le sous-graphe H de taille k tel que CF EPH(s, t) est maximal et il permet de fixer la taille voulue pour le sous-graphe de mani`ere moins stricte. Pour calculer CF EPH(s, t), ils utilisent une approximation bas´ee sur le calcul des k chemins les plus courts sur le mˆeme sous-graphe H mais avec les arˆetes pond´er´ees in-telligemment. Ils utilisent ensuite une heuristique pour trouver le meilleur sous-graphe H. Ils g´en´eralisent leur approche pour un ensemble de nœuds S plus grand que 2 : trouver le sous-graphe H qui maximise la somme de CF EPH(s, t) pour toute paire de nœuds dans S.

Dans [149] les auteurs cherchent un sous-graphe connexe de taille b contenant des nœuds qui sont “proches” d’au moins K nœuds parmi les nœuds de l’ensemble donn´e en entr´ee. Pour cela, comme dans [61], ils mettent au point une fonction de qualit´e pour quantifier la pertinence d’un sous-graphe donn´e en fonction des proximit´es aux nœuds d’int´erˆet. Pour cela, ils utilisent les marches al´eatoires avec t´el´eportation au nœud d’int´erˆet (le pagerank enracin´e) et normalisent chaque entr´ee de la matrice de transition par un facteur d1α, o`u d est le degr´e du nœud d’arriv´ee ; le but est que les nœuds de fort degr´e ne drainent tous les marcheurs al´eatoires. Ils avantagent ainsi les chemins passant par des nœuds de faible degr´e. Leur m´ethode a donc deux param`etres : α et la probabilit´e de se t´el´etransporter au nœud d’int´erˆet (tous deux fix´es arbitrairement `a 0.5 dans l’article). Les auteurs combinent alors les scores obtenus par les pageranks enracin´es normalis´es en faisant ce qu’ils appellent un “K softAND” : la proximit´e d’un nœud `a l’ensemble de nœuds donn´e en entr´ee est donn´ee par la probabilit´e que ce nœud ait au moins K marcheurs al´eatoires et ils d´eveloppent une heuristique pour l’optimiser.

2.5.3 Fonctions nœud-monotones

Dans [140], les auteurs cherchent `a r´esoudre le probl`eme suivant : ´etant donn´e un graphe G = (V, E), un ensemble de nœuds d’int´erˆets Q⊆ V , et un nombre d, leur but est de trouver un sous-graphe induit H = (VH, EH) de G tel que :

1. VH contient Q (Q⊆ VH ) ; 2. H est connexe ;

3. DH(Q)≤ d ; et

4. f (H) est maximum parmi toutes les solutions possibles pour H. En posant DH(Q, v) = �

q∈Q

dH(q, v) avec dH(q, v) la distance dans le sous-graphe H entre les nœuds v et q, DH(Q) = max

v∈H DH(Q, v). f (H) est une fonction mesurant la qualit´e du graphe H en tant que communaut´e (ici on ne consid`ere pas l’ext´erieur du sous-graphe pour ´evaluer sa qualit´e). Ce probl`eme correspond donc `a une formulation de la compl´etion d’un ensemble de nœuds en une communaut´e. d est un param`etre contrˆolant la taille du graphe en sortie. Remarquons qu’au lieu d’utiliser la distance, on peut utiliser une mesure de proximit´e afin de tenir compte de la redondance des liens et d’avoir une s´election plus discriminante que la distance (`a valeur enti`ere et peu ´elev´ee dans les r´eseaux r´eels).

Pour une fonction f (H) = minv∈Hg(H,v) o`u g est une fonction nœud-monotone3 et en ne consid´erant pas la contrainte 3, les auteurs pr´esentent un algorithme d’optimisation glouton optimal.

Celui-ci commence avec un ensemble contenant tous les nœuds. `A chaque it´eration on enl`eve le nœud v ayant un g(H, v) minimum jusqu’`a ce qu’un des nœuds d’int´erˆet ait un g(H, v) minimum ou jusqu’`a ce que l’ensemble des nœuds d’int´erˆet soit d´econnect´e. On retourne le sous-graphe ayant eu le f (H) le plus ´elev´e durant l’optimisation.

Par exemple, pour g(H, v) d´efinie comme le degr´e du nœud v dans le sous graphe H, f (H) est alors le degr´e minimum des nœuds du sous graphe H dans le sous-graphe H (ce qui peut effectivement ˆetre vu comme une fonction ´evaluant la qualit´e du sous-graphe H en tant que communaut´e).

2.5.4 Trouver des communaut´es imbriqu´ees

Lorsque l’on souhaite compl´eter un ensemble de nœuds en une communaut´e, on doit faire face `a un dilemme : (i) s´electionner une communaut´e dense, mais petite, contenant l’ensemble de nœuds ou (ii) s´electionner une communaut´e moins dense, mais plus grande. C’est ce qu’avancent les auteurs de [147] et, de mani`ere `a ´eviter ce dilemme, ils proposent de chercher une s´equence de communaut´es imbriqu´ees. Ainsi, ´etant donn´e un ensemble de nœuds S et un entier k, les auteurs cherchent une s´equence de k communaut´es Si telles 3. Une fonction f est nœud-monotone non-croissante si pour tout graphe G, pour tout sous-graphe H de G et pour tout nœud v de H, on a f (H, v)≤ f(G, v). Les fonctions nœud-monotones non-d´ecroissantes sont d´efinies de mani`ere similaire.

que (S = V1 ⊆ V1 ⊆ ... ⊆ Vk = V ). Ils font en sorte que la densit´e d´ecroisse et qu’elle soit le plus uniforme possible `a l’int´erieur de chaque communaut´e trouv´ee. Les auteurs d´eveloppent alors une fonction de qualit´e pour ´evaluer une telle s´equence de communaut´es et proposent de s´eparer son optimisation en deux sous-probl`emes : (i) trier les nœuds et (ii) segmenter les nœuds tri´es en k ensembles. Le tri est bas´e sur une d´ecomposition en k-cores du graphe apr`es l’avoir pond´er´e en fonction du pagerank enracin´e sur les nœuds d’int´erˆet.

2.6 Des communaut´es locales aux communaut´es