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 ?
Documents pareils
Cours Syrres Réseaux sociaux - Jean-Loup Guillaume website
Internet = Millions de sommets (routeurs).
Facebook = 350 millions d’utilisateurs actifs.
Web = Google connait plus de 1000 milliards d’URL distinctes (pas de