Transparents

Transcription

Transparents
TUTORIEL RESCOM
ANALYSE DE GRAPHES DE
TERRAIN ET STRUCTURES DE
COMMUNAUTÉS
Jean-Loup Guillaume – LIP6 / UPMC / CNRS
Expérience de Milgram (1967)

Objectif :
 Faire
transiter une lettre depuis le Nebraska à un agent
de change de Boston.
 Une personne initie la chaine.
 Transitions de la main à la main par des personnes que
l’on connait.
Expérience de Milgram (1967)

Résultats :




Remarques :



44 lettres arrivent sur 160.
Chemins avec 5 intermédiaires en moyenne.
D'où le "Six degrees of separation" pour le monde entier…
Chemin interrompu ≠ Il n’existe pas de chemin.
Chemin de longueur x ≠ Il n’existe pas de chemin de longueur <x
Conclusions :


Il existe des chemins courts.
Les intermédiaires arrivent à les trouver sans connaissance globale du
réseau.
Formalisation

Comment formaliser l’expérience de Milgram :
 Construction d'un
graphe représentant les connaissances
 On
connaît surtout des gens proches de soi (distance, travail,
âge, …)
 On connaît aussi quelques personnes plus éloignées (ou alors
toutes nos connaissances sont proches selon au moins un
critère ?)
 Méthode
de routage :
 Utilisation uniquement de
connaissances locales.
 Connaissance de la position de la destination.
Formalisation

Construction d'un graphe :
 Initialement une
grille (amis proches).
 On ajoute q voisins quelconques à chaque sommet (amis
lointains).
Formalisation

Technique de routage :
 Sa
position, celle de ses voisins, celle de la destination.
 Il envoie le message à son voisin le plus proche de la
destination.
Formalisation



Un seul lien supplémentaire pour chaque sommet u.
L'extrémité est choisie avec une probabilité
dépendant de sa distance à u (puissance de d).
Dans la majorité des cas, pas de chemins courts.
Kevin Bacon Game

Distance entre acteurs :
 Deux
acteurs sont reliés s’ils ont joué dans un même film.
 Distance entre acteurs ?
 Distance entre
Thierry Lhermitte et Josiane Balasko
 Distance entre Tom Cruise et Clint Eastwood ?
 Distance entre Mickey Mouse et Omar Sy ?

Similaire au nombre d'Erdös
Réponses

Thierry Lhermitte et Josiane Balasko ?


Clint Eastwood et Tom Cruise ?



Clint Eastwood / Morgan Freeman – Million dollar baby (2004)
Morgan Freeman / Tom Cruise – La guerre des mondes (2005)
Mickey Mouse et Omar Sy ?





Nuit d'ivresse, grosse fatigue, Les bronzés, …
Mickey avec Leonid Kinskey – Hollywood party (1934)
Leonid Kinskey avec Mickey Rooney – Manhattan Melodrama (1934)
Mickey-Rooney/Jean-Guy Fechner – Bons baisers de Hong Kong (1975)
Jean-Guy Fechner / Omar Sy – Le carton (2004)
http://oracleofbacon.org/
Formalisation

Graphe des acteurs simple à construire :
 http://www.imdb.com/interfaces

Ensuite il ne reste qu’à faire des calculs de plus
courts chemins.
 Le
graphe est assez gros
 Le calcul de tous les plus courts chemins peut prendre
du temps…
Fichiers P2P

Propagation d'un fichier d'utilisateurs en utilisateurs
 Cf
site http://www.complexnetworks.fr
Réseau téléphonique

Suivi de communications :
Date, heure, durée, type, correspondant
 Type d'appelant, mobilité, …
 http://senseable.mit.edu/

Relationship between key recovery agencies
after
Katrina
Community
detection:
an overview
© thinkNola.com and orgnet.com
09/03/2007
Community detection: an overview
09/03/2007
Beaucoup d’autres réseaux






informatique : internet, web, usages (P2P), …
sciences sociales : collaboration, amitié, contacts sexuels,
échanges, économie, …
biologie : cerveau, gènes, protéines, écosystèmes, …
linguistique : synonymie, co-occurrence, …
transport : routier, aérien, électrique, …
etc.
Contextes différents
Propriétés et problématiques communes
Quelques applications

Informatique :





Sociologie :



Réseaux : routage, protocoles, sécurité
P2P : conception de systèmes, déviances
Web : indexation, moteurs de recherche
Dessin de graphes, etc.
Diffusion d'innovations, rumeurs
Identification de groupes de personnes
Epidémiologie :

Diffusion de virus, vaccination
Méthodologie

Utilisation d’outils formels
Théorie des graphes
 Analyse statistique
 Modélisation probabiliste


Études expérimentales


Simulation, …
Étude de cas concrets
Comprendre en profondeur certains réseaux
 Extraction de concepts généraux

Dans ce tutoriel

Métrologie :


Analyse :


Peut-on créer des réseaux artificiels similaires ?
Algorithmique :


A quoi ressemblent-ils ?
Modélisation :


Comment mesurer les réseaux réels ?
Comment calculer des choses sur ces grands graphes ?
Avec de la dynamique quand c'est possible
Dans ce tutoriel

Métrologie :


Analyse :


Peut-on créer des réseaux artificiels similaires ?
Algorithmique :


A quoi ressemblent-ils ?
Modélisation :


Comment mesurer les réseaux réels ?
Comment calculer des choses sur ces grands graphes ?
Avec de la dynamique quand c'est possible
ANALYSE
Analyse

Objectifs de l’analyse (statistique) :
Description (statistique)
 Obtenir de l’information (pertinente)
 Interprétation des résultats obtenus


Comment ?
Ensemble de propriétés connues
 Corrélations entre ces propriétés
 Comparaison avec des graphes aléatoires
 Observation de la croissance des graphes, …

Propriétés classiques

Distance moyenne :
À
quelle distance sont les sommets les uns des autres ?
 Six degrees of
separation
Propriétés classiques

Densité :
 Proportion de

liens existant dans le graphe
Clustering (densité locale) :
 Les
amis de mes amis…
Propriétés classiques

Distribution des degrés (nombre de voisins) :
 Taille
Vs. salaire des individus ?
Propriétés classiques

Composantes connexes :
 Ensemble
maximal de sommets tel qu'il existe un chemin
entre toute paire de sommets de l'ensemble
 Graphe connexe = une seule composante connexe
 On
peut router de tout le monde à tout le monde
Propriétés classiques

Communautés = sous-groupes :
 Denses :
beaucoup de liens dans les groupes
 Peu connectés les uns aux autres
Propriétés classiques

Autres propriétés :
 Centralité
 Nombre de
plus courts chemins passant par un sommet, etc.
 Corrélations entre
propriétés
 Degré-degré
 Degré-clustering
 Taille
des cliques, cliques biparties, etc.
Propriétés communes aux GdT






Faible densité
Fort clustering (forte densité locale)
Faible distance moyenne
Distribution des degrés très hétérogène
Une composante géante
Présence de communautés
Tous les graphes ne partagent pas ces propriétés
??
Analyse dynamique
Première approche :
 Suivi
dans le temps de propriétés statiques.
 Variations de la propriété étudiée.
Nombre de
participants attentifs

Analyse dynamique

Première approche :
 Suivi
dans le temps de propriétés statiques.
 Variations de la propriété étudiée.
 Pas toujours suffisant pour décrire la dynamique :
 Exemple :
durée de vie des sommets et des liens.
Connexité temporelle


Connexité sur un graphe statique : simple
Connexité sur un graphe dynamique :
 Possibilité d'attendre
sur un sommet (cf DTN)
 Le graphe peut ne jamais être connexe
 Plus court chemin = temps ou distance ?
Analyse dynamique

Manque de propriétés pour décrire la dynamique
 On
voudrait par exemple distinguer une dynamique
normale d'une dynamique anormale (événements)…
 Beaucoup de choses à créer.
ANALYSE – EXEMPLE
RÉSEAUX DE CONTACTS DTN
Étude de cas

Conférence Infocom 2005 :



Capteurs bluetooth :




54 capteurs (11 en panne, 2 perdus)
3 jours (254 151 sec)
Recherche de contacts (5s)
Attente (108-132s)
Pas de géolocalisation
Données :


Un ensemble de liens à chaque instant
Liens non symétriques
Évolution du réseau

Effets sociologiques :
Jours, nuits, repas, pauses…
 Beaucoup de petites variations. 50% de sommets isolés
 Au maximum 34 sommets connectés

Jour
# sommets connectés/temps
Nuit
# liens/temps
Sur une journée
Durée des contacts

Distribution hétérogène (en "loi puissance")
 Certains
liens sont très présents, d’autres pas :
 Liens fréquents utilisables pour router
 Liens non
fréquents pour atteindre des zones particulières
Composantes connexes

À chaque instant, composantes connexes :
Composantes connexes

Ensemble de composantes :
 Petites composantes
: densité variable.
 Grosse composantes : faible densité :

max(nb_liens) ~ 4.5*nb_sommets
Identifier les groupes sociaux

Recherche de groupes fréquents fortement connectés :

19 : entre dans le groupe 13, va dans 9 puis dans 10
Dans ce tutoriel

Métrologie :


Analyse :


Peut-on créer des réseaux artificiels similaires ?
Algorithmique :


A quoi ressemblent-ils ?
Modélisation :


Comment mesurer les réseaux réels ?
Comment calculer des choses sur ces grands graphes ?
Avec de la dynamique quand c'est possible
MODÉLISATION
Générer des graphes réalistes

Propriétés observées normales ?
 Comparer
avec un graphe aléatoire ayant certaines
propriétés

Mais encore…
 Simuler des
phénomènes (attaques, diffusion, …)
 Évaluer des protocoles, des algorithmes, …
 Comprendre
 Prévoir
Tout aléatoire


Créer n sommets
Ajouter m liens au hasard
Notion de propriété attendue

Exemple : graphe aléatoire, n = m = 4950
 Résultat (réel)
: clique de 100 sommets (les autres ont
degré 0)
 Étonnant ?
degré 0 : q ~ (1 − 2/n )^n ∼ 0.14.
 Nombre attendu de sommets de degré 0 : nq ∼ 683
 Assez peu probable
 Probabilité d’avoir
Propriétés observées






Densité
Connexité
Distance moyenne, diamètre
Distribution des degrés
Clustering (densité locale)
Structure communautaire
Propriétés observées






Densité : fixée par n et m
Connexité : composante géante de taille O(n)
Distance moyenne, diamètre : log(n)
Distribution des degrés : homogène
Clustering (densité locale) : proche de 0
Structure communautaire : aucune a priori
Distribution de degrés

Attachement préférentiel (rich get richer) :
 Ajout
de sommets un à un.
 Ajout de lien vers des sommets déjà connectés.
 Probabilité liée

au degré de la cible
Génère une distribution des degrés en loi puissance
Distribution de degrés

Modèle configurationnel :
 On
prend n sommets
 On fixe le degré de chaque sommet
 On ajoute les liens au hasard en respectant les degrés

Ces modèles ne génèrent pas de clustering !
Coefficient de clustering

Mélanger un graphe très rigide :
 Donne
du clustering et une distance moyenne courte
 Ne donne pas de degrés hétérogènes !
Modélisation

Le nombre de modèle est très élevé :
 Capture
de propriétés de base.
 Modèle avec contraintes supplémentaires (plongement
par exemple).

Dans tous les cas :
 Ne
pas oublier qu'un modèle est une approximation.
 Certains modèles produisent des propriétés non
voulues…
Modèle dynamique

Équivalents naturels du modèle aléatoire ?
 Succession de
 perte des
corrélations entre les étapes
 Changements

graphes aléatoires indépendants
aléatoires ?
Nécessite de savoir ce qu'on veut faire :
 Analyse…
Modèle dynamique

Modèle simple on-off


Les durées de vies suivent les distributions mesurées.
Composantes connexes :
Principalement arborescentes.
 Résultats similaires pour le nombre de CC, leur durée de vie,
…

Modèle dynamique

On voudrait donc avoir des composantes connexes plus
denses :
Création de lien de préférence dans les composantes
connexes…
 Plus simplement on crée de préférence des triangles.


Problèmes :
Le modèle devrait avoir un caractère explicatif
 Quelles propriétés sont nécessaires ?
 Quelles propriétés obtient-on gratuitement (qu'on le veuille
ou pas) ?

MODÉLISATION – EXEMPLE
ROBUSTESSE
Application : robustesse

Étude des phénomènes visant des sommets :




Deux types d’atteintes



Internet : pannes ou attaques sur routeurs.
Réseaux sociaux : maladies, rumeurs, …
Échanges d’e-mails : virus informatiques.
Pannes : aléatoires.
Attaques : ciblées.
But : Comprendre ces phénomènes pour pouvoir :


Prédire.
Construire des stratégies d’attaque/défense.
Impact d'une panne/attaque

Critères :
 Basés sur
la distance.
 Tailles des composantes connexes.
…
Résultats

Panne = suppression aléatoire.
Attaque = suppression ciblée (degré).

Qui vacciner pour limiter une épidémie ?

Dans ce tutoriel

Métrologie :


Analyse :


Peut-on créer des réseaux artificiels similaires ?
Algorithmique :


A quoi ressemblent-ils ?
Modélisation :


Comment mesurer les réseaux réels ?
Comment calculer des choses sur ces grands graphes ?
Avec de la dynamique quand c'est possible
MÉTROLOGIE
Construire une carte (pour les nuls)

Créer une carte de France avec google-maps
 Depuis
"5 place jussieu, 75005"
Construire une carte (pour les nuls)

Créer une carte de France avec google-maps
 Depuis
"5 place jussieu, 75005"
 Pas de limite sur le nombre de destinations
Métrologie de l’internet

Processus de mesure :
 Traceroute
~ (plus courts) chemins de plusieurs sources
vers plusieurs destinations

Réseau : (non) orienté, pondéré (RTT, …)
Métrologie de l’internet

Processus de mesure :
 Traceroute
~ (plus courts) chemins de plusieurs sources
vers plusieurs destinations

Réseau : (non) orienté, pondéré (RTT, …)
Métrologie de l’internet

Processus de mesure :
 Traceroute
~ (plus courts) chemins de plusieurs sources
vers plusieurs destinations

Réseau : (non) orienté, pondéré (RTT, …)
Métrologie

En général :
 Impossibilité de

mesurer l'objet réel directement
Questions à se poser :
 Qui
a fait la mesure ?
 Quelle proportion de l’objet a été mesurée ?
 Combien de temps la mesure a-t'elle duré ?
 Y-a-t’il des contraintes spécifiques ?
 Technologiques, biologiques, …
 La
mesure peut-elle être reproduite ?
Métrologie



Étude du biais introduit par l’observation
Que dire de l’objet réel à partir de l’observation ?
Nouveaux protocoles de mesures, etc.
observation
G
G’
?

Évaluer la représentativité des "cartes"
MÉTROLOGIE – EXEMPLE
INTERNET
Une approche

On simule la mesure sur un graphe aléatoire

Modélisation du processus de mesure :
Internet : traceroute = chemins courts
 Web : crawl = parcours en largeur


Modélisation du réseau :
Graphes aléatoires
 Respect des degrés, du clustering ou autre
…

Une approche

Influence de :
 Nombre
de sources et destinations
 Propriétés du réseau
 Localisation des sources et destinations

sur le résultat obtenu ?
Que voit-on ?

D'une source vers tout le monde
Que voit-on ?

D'une source vers tout le monde :
 Liens


rouge découverts (sur des plus courts chemins)
On répète pour les autres destinations.
Que voit-on ?
Exemple : une source, k destinations

Graphe aléatoire, tous les chemins :
Variation de la densité
Que voit-on ?

D'une source vers tout le monde :
 Liens
rouge découverts (sur des plus courts chemins)
 Liens noirs invisibles
1
2
3
4
Variation de la densité
Distribution des degrés

Différences entre l'original et la mesure :
Beaucoup de sommets de faible degré
 Peu de sommets de fort degré


Mauvaise estimation de la propriété réelle !
ALGORITHMIQUE
Besoin d’algorithmes spécifiques ?

Gros problème = taille :
Internet = Millions de sommets (routeurs)
 Facebook = 500 millions d’utilisateurs actifs
 Web = Google connait plus de 1000 milliards d’URL
distinctes (pas de pages distinctes)


Il est non trivial de :
Stocker le graphe en mémoire
 Faire des calculs sur le graphe

Exemples

Diamètre d'un graphe :
Complexité théorique : O(nm)
 Approximation (sans garantie) par borne sup et inf en
O(m)


Compter les triangles d’un graphe (clustering) :
naïvement O(n*n*n)
 O(m*n^1/a) si distribution des degrés en loi puissance
d'exposant a

Exemples

Beaucoup de problèmes spécifiques aux graphes
de terrains :
Prise en compte des propriétés
 Algorithmes peu efficaces en général, efficaces sur les
graphes de terrain.


Exemple :


Détection de communautés : NP-complet
Calcul de communautés en temps linéaire (non prouvé).
TUTORIEL RESCOM
DÉTECTION DE
COMMUNAUTÉS
Jean-Loup Guillaume
Détection de communautés

Objectif :


Applications :




Identifier automatiquement des groupes pertinents.
Comprendre la structure des réseaux.
Détecter des communautés spécifiques
Amélioration de moteurs de recherche, systèmes P2P, …
Challenges :



Nombre de communautés inconnu.
Communautés de taille variable.
Passage à l’échelle : milliards de sommets.
Orange Labs
Data-mining
Inconnus
Inconnus
Louvain + algo
Jussieu
Perso
Qu’est-ce qu’une communauté ?

Un ensemble de sommets d’un graphe qui
partagent quelque chose :
 Amis,
collègues, …
 Personnes avec des intérêts similaires.
 Pages web avec un même contenu.
…
Lien avec la structure du réseau ?
Sous-graphes cohésifs

Composantes connexes ou k-connexes :


Cliques :


Au moins (1) k chemins disjoints entre chaque paire de sommets.
Sous-graphes complètement connectés ou cliques recouvrantes.
n-cliques:

Sous-graphes G’ avec distance inférieure à n dans G.
Peut être
déconnecté
Diamètre
peut être>n
Sous-graphes cohésifs (suite)

n-clan
 n-clique

de diamètre n
n-club:
 Sous-graphe maximal
de diamètre n.
Calcul

Complexité :
Souvent NP-complet : Cliques, k-plex…
 Parfois polynomial : LS, Lambda sets (n4 ou moins)…
 Passage à l’échelle : web ~ 1010 sommets !
 Nombre de communautés, tailles, …


Communautés recouvrantes :
Un sommet peut être dans plusieurs communautés.
 Certaines définitions sont recouvrantes : Cliques…
 Ou pas : K-cores…
 Ici on oubliera ce problème

Qualité d’un algorithme ?

Validation ad-hoc :
 On

dispose de données pour valider la décomposition.
On utilise une fonction de qualité :
 Juge
une partition et lui attribue un score
 Exemple : la modularité
Structure communautaire


Principe de base : une communauté est un sousgraphe dont les sommets sont plus liés entre eux
qu’avec le reste du réseau.
Modularité : mesure comparant le nombre de liens
dans un groupe de sommets à ce que l’on attendrait
pour un graphe aléatoire similaire.
 Différence entre
 Nombre de
liens dans un module et
 Nombre attendu de liens dans un graphe similaire.
Définition
2

d 
ls  d s  
1 
Q    ls 

   

L s 1 
4 L  s 1  L  2 L  
ls : nombre de liens dans le groupe s
L : nombre de liens dans le graphe
m



2
s
m
Modularité : est-ce que le groupes sont plus denses que
ce qu'on l'on attendrait ?
Permet de savoir si un graphe est modulaire.
 Permet surtout de comparer l'efficacité des algorithmes.

DIFFÉRENTS ALGORITHMES
DE DÉTECTION DE
COMMUNAUTÉS
Jean-Loup Guillaume
Slide de Pascal Pons
Clustering hiérarchique
Clustering hiérarchique (suite)

Algorithme générique :
1.
2.
3.
4.
Chaque sommet est dans une communauté.
Calculer une distance entre chaque paire de communautés.
Fusionner les deux plus proches.
Revenir à l'étape 2.

Uniquement besoin d'une distance entre sommets

Distance entre communautés = distance entre sommets +

Min, max, moyenne, centre de gravité, …
Méthode gloutonne

À chaque étape fusionner les deux
sommets/communautés pour maximiser la
modularité.
Chemins aléatoires

Chemins aléatoires de longueur fixée :
Chemins courts : pas assez d’information.
 Chemins longs : aucune information (proba~degré).

t=3
0
1
2
rij 
n

k 0
P
 Pjkt 
d (k )
t
ik
2
Approches spectrales

Laplacien ou Normal matrix de G.
L  D A

N  D 1 A
SI les communautés sont claires :

Vecteurs propres permettent de trouver les communautés.

Sinon il faut une distance entre les vecteurs.

Approches à base de matrices de similarité K :
Matrices plus complexes (semi définies positives).
 Distances simples à partir de K.

Adapté d’un slide de Pascal Pons
Approches divisives
Community detection: an overview
Approches divisives (suite)

Algorithme générique :
1.
2.
3.

Calculer un score (?) d’inter-communautarisme pour
chaque lien.
Supprimer le lien le plus fort.
Revenir à l'étape 1.
Uniquement besoin d'un score.
Approches divisives (suite)

Algorithme générique :
1.
2.
3.
Calculer un score (?) d’inter-communautarisme pour
chaque lien.
Supprimer les lien le plus fort.
Revenir à l'étape 1.

Uniquement besoin d'un score.

Attention : il faut recalculer le score à chaque fois
~0
8
Centralité


Un lien entre deux communautés sera plus
certainement utilisé si l’on cherche un chemin entre
deux sommets
Centralité des plus courts chemins :
 Nombre

de plus courts chemins utilisant un lien donné.
Centralité des chemins aléatoires :
 Nombre
de fois qu’un lien est utilisé dans un chemin
aléatoire.
Efficacité


1
1
1
E



 dist (i, j )  N .( N  1) i , j dist (i, j )

Centralité
c{i , j} 
E{i , j}
E
E (G)  E (G \ {i, j})

E (G)
Et beaucoup d’autres







Recuit simulé
Algos génétiques
Équations de Kirchhoff
Wu and Huberman, Eur Phys B 38, 2004
Modèle de Potts
Reichardt and Bornholdt, Phys Rev Lett 93, 2004
…
Table from cond-mat/0505245
Complexité
Conclusion

Deux approches principales :
Similarité entre sommets.
 Liens inter-communautaires.
 Mais pas seulement.


Cas dirigé et pondéré :


Trivial la plupart du temps.
Cas recouvrant (appartenance à plusieurs
communautés)

Non trivial
TUTORIEL RESCOM
COMMUNAUTÉS
DYNAMIQUES
Jean-Loup Guillaume
Communautés dynamiques

Approche naturelle :


Calcul des communautés à chaque instant de manière indépendante.
Suivi des communautés d'un instantané à l'autre.
t
t+1
t+2
Communautés dynamiques

Approche naturelle :



Calcul des communautés à chaque instant de manière indépendante.
Suivi des communautés d'un instantané à l'autre.
Problèmes :

Complexité :


t
Taille du graphe.
Nombre d'instantanés.
t+1
t+2
Communautés dynamiques
Approche naturelle :



Calcul des communautés à chaque instant de manière indépendante.
Suivi des communautés d'un instantané à l'autre.
Problèmes :


Complexité.
Stabilité :


Nombreuses partitions de même
qualité.
Nombreuses modifications de la
partition pour une petite
modification de topologie.
Louvain
0,2
Proportion

0,1
0
0
2000
Nombre de modifications
(sur 9376 sommets)
4000
Communautés dynamiques

Approche naturelle :



Calcul des communautés à chaque instant de manière indépendante.
Suivi des communautés d'un instantané à l'autre.
Problèmes :



Complexité.
Stabilité.
Suivi :

Associer les groupes à t et à t+1.
Approches suivies

Modifier la définition de communauté pour simplifier le suivi

Cliques avec recouvrement.
Palla, Barabasi and Vicsek, Nature 2007
Approches suivies


Modifier la définition de communauté pour simplifier le suivi
Se restreindre aux zones très stables

Communautés non affectées par la dynamique.
Hopcroft, Khan, Kulis and Selman, PNAS 2004
Approches suivies



Modifier la définition de communauté pour simplifier le suivi
Se restreindre aux zones très stables
Construire un graphe temporel


Ajouter des liens temporels entre les instantanés.
Utiliser n'importe quel algorithme pour les graphes statiques.
Jdidia, Robardet and Fleury, ICDIM 2007
t
t+1
t+2
Approches suivies



Modifier la définition de communauté pour simplifier le suivi
Se restreindre aux zones très stables
Construire un graphe temporel


Ajouter des liens temporels entre les instantanés.
Utiliser n'importe quel algorithme pour les graphes statiques.
Jdidia, Robardet and Fleury, ICDIM 2007
t
t+1
t+2
Approches suivies




Modifier la définition de communauté pour simplifier le suivi
Se restreindre aux zones très stables
Construire un graphe temporel
Modifier la fonction de qualité

Prise en compte de la qualité instantanée et de la stabilité.
D. Chakrabarti, R. Kumar, and A. Tomkins, SIGKDD 2006.
Y. Lin et al, Transactions on Knowledge Discovery from Data
Approches suivies





Modifier la définition de communauté pour simplifier le suivi
Se restreindre aux zones très stables
Construire un graphe temporel
Modifier la fonction de qualité
Approche fouille de données


Recherche de groupes de liens denses et fréquents.
Suivi d'individus dans les groupes.
Borgnat, Fleury, Guillaume, Robardet and Scherrer, Computer Networks 2008
Approches suivies - limitations

Modifier la définition de communauté pour simplifier le suivi


Se restreindre aux zones très stables


Plusieurs façons de construire le graphe et aucune vraiment
satisfaisante.
Modifier la fonction de qualité


Proportion de zone stable et quid du reste du graphe ?
Construire un graphe temporel


Une seule proposition très restrictive.
Définition de qualité temporelle non triviale.
Approche fouille de données

Problème de passage à l'échelle.
Approches étudiées - stabilisation

Stabilité imposée dans l'algorithme :



Le calcul à l'instant 't' prend en compte celui de l'instant 't-1'
Utilisation de Louvain avec initialisation
Résultats préliminaires :

Perte de qualité minimale.
Approches étudiées - stabilisation
Stabilité imposée dans l'algorithme :



Le calcul à l'instant 't' prend en compte celui de l'instant 't-1'
Utilisation de Louvain avec initialisation
Résultats préliminaires :


Perte de qualité minimale.
Très fort gain de stabilité.
0,2
Louvain modifié
Proportion

Louvain
0,1
0
1
10
100
1000
Nombre de modifications
10000
Approches étudiées - stabilisation

Stabilité imposée dans l'algorithme :



Résultats préliminaires :



Le calcul à l'instant 't' prend en compte celui de l'instant 't-1'
Utilisation de Louvain avec initialisation
Perte de qualité minimale.
Gain de stabilité.
Pour aller plus loin :


Compromis
stabilité/qualité.
Détection d'événements :

Liens entre les
modifications de topologie
et les modifications de la
partition.
Approches étudiées - intégrale

Optimisation globale :
 Une
seule partition sur toute la durée.
 Complètement stable.

Résultats :
 Définition +
algo.
 Bonne qualité.
Approches étudiées - intégrale

Optimisation globale :
 Une
seule partition sur toute la durée.
 Complètement stable.
Résultats :
Temps

 Définition +
algo.
 Bonne qualité.
 Suivi de communautés.
Sommets
Approches étudiées - intégrale

Calculer une seule partition n'est pas optimal :
 De
temps en temps on voudrait repartir à 0…
Approches étudiées - intégrale

Calculer une seule partition n'est pas optimal :
 De
temps en temps on voudrait repartir à 0…
Conclusions

Les méthodes classiques ne sont pas utilisables directement :


Nombreuses approches permettant de stabiliser… mais pas
uniquement.


Problème de stabilité.
De nouvelles approches pour la détection de communautés.
Objectifs à terme :


Obtenir des méthodes de suivi de communautés dynamiques.
Comprendre/analyser la structure des communautés dynamiques.
Dans ce tutoriel

Métrologie :
 Comment

Analyse :
A

mesurer les réseaux réels ?
quoi ressemblent-ils ?
Modélisation :
 Peut-on créer

des réseaux artificiels similaires ?
Algorithmique :
 Comment
calculer des choses sur ces grands graphes ?