Computing communities in large networks using random walks

Slides:



Advertisements
Présentations similaires
Introduction à la Théorie des graphes
Advertisements

La théorie du monde est petit
Dans cette partie Graphes Eulériens.
Algorithmes et structures de données avancées Cours 7
LES INDICATEURS DE PERFORMANCE, « QU’OSSA ÇA DONNE »?
Algorithmes et structures de données avancées Cours 4
Algorithmes et structures de données avancés
Les étapes de conception d’un site web
Introduction à la Théorie des graphes
Métaheuristiques pour l’optimisation combinatoire
Inférence statistique
La conception d’un tableau de bord prospectif (BSC)
Métrologie pour lInternet. Jean-Loup Guillaume Journées Franciliennes de Recherche Opérationnelle.
A Pyramid Approach to Subpixel Registration Based on Intensity
Xialong Dai, Siamak Khorram
Visualisation d’information interactive 5 : Graphes
Chap. 1 INTRODUCTION Beaucoup de problèmes de la vie courante, tels la gestion de réseaux de communication ou l'ordonnancement de tâches, correspondent.
INTRODUCTION.
« Small World » Modélisation
Chapitre VI. Arbres (définition, parcours, représentation)
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Dynamique dopinions sur réseaux Amblard F.*, Deffuant G.* *C emagref-LISC.
Algorithmes Branch & Bound
L'INFORMATION GEOGRAPHIQUE
Théorie des graphes Un peu de vocabulaire.
Groupe 1: Classes de même intervalle
La segmentation
Optimisation non linéaire sans contraintes
Étude d’un système technique industriel
Analyse des Besoins Sociaux du CCAS
LES ARBRES IUP 2 Génie Informatique
Structures de données IFT-2000
Structures de données IFT-2000
Coloration gap sommet identifiante de graphes
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Génération d’un segment de droite
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
CSI 4506: Introduction à l’intelligence artificielle
Algorithmes d ’approximation
- GRAPHES - Composantes et types
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
Interprétation automatique
Programmation dynamique
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?

Arbres et graphes.
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
Distribution géographique d’un réseau de relations interpersonnelles. Pauline Dedeurwaerder Promoteur : V. Blondel MAP22.
INTRODUCTION.
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Arbres binaires et tables de hachage
LE FLOT MAXIMAL et LA COUPE MINIMALE
STATISTIQUES – PROBABILITÉS
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Travaux Pratiques Optimisation Combinatoire
Problème de double digestion
TIPE Les dames chinoises
Recherche de motifs par projections aléatoires
Algorithmes génétiques en optimisation combinatoire
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Algorithme de DIJKSTRA
1 Logiciels de confection automatique d’horaires.
Localisation collaborative dans les réseaux de capteurs
Introduction à la Théorie des graphes
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Processus ponctuels Caractéristiques et Modèles de répartitions spatiales.
Transcription de la présentation:

Computing communities in large networks using random walks Détection de communautés dans les réseaux d’interactions basé sur les marches aléatoires 20th International Symposium on Computer and Information Sciences, Istanbul, Turquie, 2005 auteurs : Pascal Pons Mathieu Latapy SARIKAYA Ilhami CUI - 2006

Contenue de la présentation Introduction (communautés) Définition (communautés) Les algorithmes et leurs défauts (détection de communautés) Les marches aléatoires dans un graphe Exemple Propriétés générales La distance Entre sommets Entre communautés Walktrap Conclusion SARIKAYA Ilhami CUI - 2006

Introduction – 1 Les grands réseaux d'interactions jouent un rôle essentiel dans de nombreux contextes : en sciences sociales (réseau de connaissance, réseau de collaboration professionnelle, réseau des appels téléphoniques) en biologie (réseau d'interactions protéique, réseau trophique) en informatique (graphe du Web, réseau physique de l'Internet, réseau d'échanges pair à pair), en linguistique (graphe de synonymie, graphe de co-occurrence d'un mot) ... SARIKAYA Ilhami CUI - 2006

Introduction – 2 Ces réseaux peuvent être modélisés par des graphes dont les sommets représentent les acteurs du phénomène et les liens représentent les interactions entre eux. Toutes ces réseaux présenté sous forme des graphes en pratique ont des propriétés statistiques non triviales comme : Une distance moyenne entre sommets qui est faible. tout le monde est proche de tout le monde ; Globalement peu denses mais localement denses, les sommets sont fortement connectés entre eux mais faiblement connectés vers l'extérieur ; Leur distribution de degrés suit une loi de puissance, Cette propriété traduit une forte hétérogénéité entre les sommets : alors que la plupart ont un très faible degré, un nombre faible mais non négligeable d'entre eux ont un très fort degré. Ces propriétés statistiques n'ont pratiquement jamais été prises en compte pour l'évaluation des performances des algorithmes de graphes SARIKAYA Ilhami CUI - 2006

Définition – 1 Communauté La définition d’une communauté est difficile. Toutes les définitions données sont restrictive Elles ne prêtent pas à des algorithmes efficaces de détection de communautés. Communauté Un ensemble de sommets dont la densité de connexions internes est plus forte que la densité de connexions vers l'extérieur. SARIKAYA Ilhami CUI - 2006

Définition – 2 Communauté Un ensemble de sommets dont la densité de connexions internes est plus forte que la densité de connexions vers l'extérieur. But est alors de trouver une partition C =C1,C2,…Ck des sommets en communautés vérifiant cette définition (sans savoir a priori le nombre de elles communautés) minimiser k maximiser le score Q(la qualité de partition) définie pour chaque Ci. SARIKAYA Ilhami CUI - 2006

Les approches et défauts Beaucoup d’algorithmes existent pour détecter les communautés dans un graphe. Première approche : Ils construit le graphe en plusieurs communautés en retirant progressivement les arêtes reliant deux communautés distinctes. Deuxième approche :Ils regroupent les sommets itérativement en communautés. Ces algorithmes ont besoin comme paramètres : Le nombre de communautés cherchés. Les tailles de ces communautés. Algorithmes le plus récentes: L'algorithme de Girvan et Newman L'algorithme de Radicchi L'algorithme de Fortunato L'algorithme de Newman La méthode de bissection spectrale La méthode de Kernighan et Lin SARIKAYA Ilhami CUI - 2006

Notation G = (V,E) : un graphe non orienté n = |V| : nombre de sommets m = |E| : nombre d’arêtes. Aij : la matrice d’adjacence Pi j : la probabilité transition du sommet i au sommet j d(i) : le degré du sommet i. P : la matrice de transition de la chaîne de Markov D : la matrice diagonale des degrés des sommets : la probabilité d'aller du sommet i au sommet j en t étapes : la distribution de la probabilité au temps t SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Definitions Le temps est discrétisé donc t = (0,1,2, . . .) A chaque t, un marcheur localisé sur un sommet se déplace à l’instant suivant vers un sommet choisi aléatoirement et uniformément parmi les sommets voisins. La suite des sommets visités est alors une marche aléatoire, et la probabilité de transition du sommet i au sommet j est à chaque étape : Ai j A est la matrice d’adjacence du graphe Pi j = -------- d(i) d(i) le degré du sommet i. Ceci définit la matrice de transition P de la chaîne de Markov correspondante. Nous pouvons aussi écrire en introduisant la matrice diagonale des degrés des sommets Nous noterons la probabilité d’aller du sommet i au sommet j en t étapes. SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple -1 :la distribution de la probabilité au t SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple -2 :la distribution de la probabilité au t SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple - 3 :la distribution de la probabilité au t SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple - 4 SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple - 5 SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe exemple -6 SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Proprietes Generales P1 - Lors d'une marche aléatoire suffisamment longue dans un graphe, la probabilité de se trouver sur un sommet donné est directement (et uniquement) proportionnelle au degré de ce sommet. P2 - La probabilité d'aller de i à j et celle d'aller de j à i par une marche aléatoire de longueur fixée ont un rapport de proportionnalité qui ne dépend que des degrés des sommets de départ et d'arrivée. SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Distance « r » entre sommets - 1 La façon de comparer deux sommets i et j doit s'appuyer sur les constatations suivantes : Si deux sommets i et j sont dans une même communauté, la probabilité certainement élevée. Par contre si est élevée il n'est pas toujours garanti que i et j soient dans la même communauté. La probabilité est influencée par le degré d(j) du sommet d'arrivé : les marches aléatoires ont plus de chances de passer par les sommets de fort degré (dans le cas limite d'une marche aléatoire infinie, cette probabilité est proportionnelle au degré. Les sommets d'une même communauté ont tendance à voir les sommets éloignes de la même façon, ainsi si i et j sont dans la même communauté et k dans une autre communauté il y a de fortes chances que SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Distance « r » entre sommets - 2 Afin de pouvoir grouper les sommets du graphe par communautés, nous allons introduire une distance entre sommets. La distance entre deux sommets d'une même communauté doit être beaucoup plus faible que la distance entre deux sommets appartenant à deux communautés distinctes. sont les lignes i et j de la matrice P SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Distance « r » entre communautes On définit une marche aléatoire partant de C La distribution initiale po(i) = 1/|C| si i appartient à C po(i) = 0 sinon Pour tout sommet j ; la probabilité d’atteindre j en partant de la communauté C en t étapes se définit par : Cette d¶e¯nition est bien une g¶en¶eralisation de la distance entre sommets SARIKAYA Ilhami CUI - 2006

Marches aleatoires dans un graphe Choix de la longueur t t est le paramètre essentiel t est très grand, tendent vers la même probabilité. Donc impossible de distinguer deux sommets car la distance rij tend vers 0. t est très petit, les marches aléatoires ne fournissent aucune information sur le voisinage des sommets t dépend de la taille des communautés à détecter. t = 0, n minuscules communautés t = 1, une seule communauté SARIKAYA Ilhami CUI - 2006

WALKTRAP – 1 Description de l'algorithme r entre sommet ou communautés nous donne une idée sur niveau de la structure du graphe. Le but est de construire une structure de communautés en respectant cette distance calculée. On commence par une partition n communautés contenant un seul sommet. Évoluer cette partition jusqu’à obtenir une seule communauté correspondant au graphe entier. Choisir deux communautés C1 et C2 à fusionner en fonction de leurs distances. Fusionner ces communautés en C3 = C1 U C2 Mise à jour les distances entre communautés Calculer et mémoriser un paramètre de qualité Q pour cette partition . On effectue n-1 étapes et on obtient Pn = {V}. Chaque étape nous donne une partition P1,P2,…Pn Choisir la meilleur d’entre P1,P2,…Pn selon le paramètre de qualité calculé à chaque étape.(maximiser Q) SARIKAYA Ilhami CUI - 2006

WALKTRAP – 2 Choix du fusion et mise a jour A chaque étape de WALKTRAP, il faut choisir deux communautés Ci et Cj à fusionner. But est d’éviter d’avoir des sommets trop éloignées dans une même communauté. L’heuristique est : La fusion s’effectue entre deux communautés ssi ils ont au moins une arrête entre elles. On cherche à minimiser la moyenne de la distance au carre de chaque sommet à sa communauté. Il faut connaître après chaque étape, les variations de la mioyenneau carré de chaque sommet après chaque fusion possibles de communautés. La variation lors d’une fusion C1 et C2 peut être calculé en une nouvelle communauté C1UC2 SARIKAYA Ilhami CUI - 2006

WALKTRAP – 3 La qualite d’une partition « Q » Une partition C, on définit la fraction eij d’arêtes du graphe joignant deux communautés i à j On note ai est la fraction d’arêtes ayant une extrémité dans la communauté i La modularité Q est définit par : Donc le resultat est la partition C est la meilleur s’il maximise Q. SARIKAYA Ilhami CUI - 2006

WALKTRAP – 4 Exemple t = 3 Structure de communautés trouvé Q calculée après chaque fusion. Chaque nœud représente la fusion de deux communautés SARIKAYA Ilhami CUI - 2006

WALKTRAP – 5 Evaluation experimentale Génération des graphes test Construire des graphes n sommets possédant c ≥1 communautés. Générer une graphe de telle manière que Zin (degré interne) et Zout (degré externe) donné Création de n sommets sans arêtes. Attribuer chaque sommet à une communauté de sorte à créer c communautés de tailles égales. Une arête reliant deux sommets d’une même communauté existera avec une probabilité Une arête reliant deux sommets de deux communautés existera avec une probabilité But : L’algorithme trouve c communautés SARIKAYA Ilhami CUI - 2006

WALKTRAP – 6 Influence de la densite zin et zout SARIKAYA Ilhami CUI - 2006

WALKTRAP – 7 Influence de la longueur t Pourcentage de sommets correctement identifiés dans des graphes 64,128 et 256 sommets possédant 4 communautés avec zin =9 et zout = 7 SARIKAYA Ilhami CUI - 2006

WALKTRAP – 8 Tests et comparaisons SARIKAYA Ilhami CUI - 2006

WALKTRAP – 9 Complexite Le calcul initial des probabilités se fait pour tous les sommets en O(tmn) Après chaque fusion le calcul de la probabilité de la nouvelle partition se fait en O(n). Deux étapes pour n-1 étapes, en temps total O(n2) chaque fusion, il faut recalculer les distances entre la nouvelle communauté crée et chacune de ses communautés voisines en temps O(n). Théorème : Le nombre total de calculs de distances effectue lors des fusion est au plus 2Hm oú H est la hauteur de la structure arborescente des communautés trouvées par l’algorithme. H est la taille de dendrogramme. La complexité totale de l’algorithme est donc O(mnH) O(mn2) dans le pire cas SARIKAYA Ilhami CUI - 2006

Conclusion Le choix de la longueur des marches aléatoires à utiliser est problème qui n’est pas résolu à ce jour. Les communautés détectés par l’algorithme sont forcement disjointes. Il se peut que un sommet appartienne à plusieurs communautés D’ailleurs il existe aucune algorithme qui détecte les communautés qui se chevauchent. Les structures de communautés de graphes de tailles allant jusqu’à 100 000 sommets SARIKAYA Ilhami CUI - 2006

Merci de votre attention SARIKAYA Ilhami CUI - 2006