Un algorithme de force multi-echelle pour la visualisation de graphes quotients valués Romain Bourqui, David Auber et Patrick Mary LaBRI, Université Bordeaux 1 Contexte ● Graphe sans echelle Contexte ● Graphe sans echelle arête valué Contexte ● ● Graphe sans echelle arête valué Application réelle: – – Graphe d'interaction gène-protéine Valuation des arêtes: différence des niveaux d'expression des extrémités Contexte ● ● Graphe sans echelle arête valué Application réelle: – – ● Graphe d'interaction gène-protéine Valuation des arêtes: différence des niveaux d'expression des extrémités Groupes définis (par un algorithme de clustering) Objectifs 1. Interdire les chevauchements de groupes Objectifs 1. Interdire les chevauchements de groupes 2. Afficher l'inclusion des sous-groupes dans les groupes Objectifs 1. Interdire les chevauchements de groupes 2. Afficher l'inclusion des sous-groupes dans les groupes 3. Obtenir un dessin dans lequel les groupes sont contenu dans des enveloppes convexes Objectifs 1. Interdire les chevauchements de groupes 2. Afficher l'inclusion des sous-groupes dans les groupes 3. Obtenir un dessin dans lequel les groupes sont contenu dans des enveloppes convexes 4. Respecter les distances du graphe grâce à une fonction de minimisation d'énergie Vue d'ensemble Graphe arête valué Clustering Dessin Dégroupage des clusters GRIP valué: dessin du Quotient Graphe quotient arête valué Vue d'ensemble Graphe arête valué Clustering Dessin Dégroupage des clusters GRIP valué: dessin du Quotient Graphe quotient arête valué Plan I. GRIP et ses améliorations II. Principes du processus de dessin III. Conclusion et travaux futurs Plan I. GRIP et ses améliorations II. Principes du processus de dessin III. Conclusion et travaux futurs GRIP et ses améliorations Deux passes principales: • • “ Election” des représentants : Maximal Independent Set Filtration (MISF) Algorithmes de force: Kamada-Kawai et Fruchterman-Reingold GRIP et ses améliorations Deux passes principales: • • “ Election” des représentants : Maximal Independent Set Filtration (MISF) Algorithmes de force: Kamada-Kawai et Fruchterman-Reingold Problème: comment adapter GRIP pour qu'il prenne en compte les longueurs des arêtes? GRIP et ses améliorations Problèmes: ● ● Qu'est qu'un “ bon” représentant dans un graphe valué? Compléxité: Comment calculer les distances dans le graphe efficacement? – Graphe non valué: Bfs – Graphe valué: O(mn+n2log(n)) – Utilisation d'un arbre pour approximer les distances: O(n2log(n)) GRIP et ses améliorations Maximal Independent Set Filtration (MISF) Définition: Soit G=(V,E) un graphe GRIP et ses améliorations Maximal Independent Set Filtration (MISF) |V0| = |V| = 70 GRIP et ses améliorations Maximal Independent Set Filtration (MISF) |V0| = |V| = 70 |V1| = 35 GRIP et ses améliorations Maximal Independent Set Filtration (MISF) |V0| = |V| = 70 |V1| = 35 |V2| = 10 GRIP et ses améliorations Maximal Independent Set Filtration (MISF) |V0| = |V| = 70 |V1| = 35 |V2| = 10 |V3| = 3 GRIP et ses améliorations Maximal Independent Set Filtration (MISF) |V0| = |V| = 70 |V1| = 35 |V2| = 10 |V3| = 3 |V4| = |Vk| = 1 GRIP et ses améliorations MISF: Passage aux graphes valués |V0| = |V| = 70 GRIP et ses améliorations MISF: Passage aux graphes valués |V0| = |V| = 70 |V1| = 1 GRIP et ses améliorations MISF: Passage aux graphes valués Solution optimale: Calculer pour chaque Vi, la distance di qui permet d'obtenir les meilleurs représentants de Vi-1. GRIP et ses améliorations MISF: Passage aux graphes valués Notre heuristique: Calculer le MISF sur le graphe sans considérer la valuation des arêtes, mais en enlevant les arêtes “ trop fortes” . GRIP et ses améliorations MISF: Heuristique ● ● ● Calcul d'une metrique qui fait un compromis entre topologie et valuation des arêtes. Calcul d'un arbre couvrant de poids minimal: algorithme de Kruskal. Calcul du MISF sur l'arbre couvrant sans considérer les valuations. GRIP et ses améliorations MISF: Heuristique – Calcul de la metrique Strength metric: “ compte le nombre de cycles de tailles 3 ou 4 qui passent par une arêtes” . Idée: Moins une arête appartient à ces cycles plus son importance est grande. GRIP et ses améliorations MISF: Heuristique – Calcul de la metrique Strength metric: “ compte le nombre de cycles de tailles 3 ou 4 qui passent par une arêtes” . .. .. 0 1 Strength GRIP et ses améliorations MISF: Heuristique – Calcul de la metrique Soit G=(V, E, w) un graphe arête valué et ms la metrique Strength, on définit la metrique m comme suit: ∀e∈E: m(e) = w(e) ms(e) GRIP et ses améliorations MISF: Heuristique – Calcul de la metrique Soit G=(V, E, w) un graphe arête valué et ms la metrique Strength, on définit la metrique m comme suit: ∀e∈E: m(e) = w(e) ms(e) = GRIP et ses améliorations MISF: Heuristique – Calcul de l'arbre couvrant Algorithme de Kruskal = GRIP et ses améliorations Placement de Vk, Vk-1, ..., V1, V0 V0 V1 V2 V3 V4 GRIP et ses améliorations Placement de Vk, Vk-1, ..., V1, V0 V0 V1 V2 V3 V4 GRIP et ses améliorations ● Placement de Vk: les 3 sommets sont positionnés tels que: ∀u,v∈Vk: dℝ(u,v) = dG(u,v) GRIP et ses améliorations ● ● Placement de Vk: les 3 sommets sont positionnés tels que: ∀u,v∈Vk: dℝ(u,v) = dG(u,v) Placement de Vi, 0 < i < k: algorithme de Kamada-Kawai GRIP et ses améliorations ● ● ● Placement de Vk: les 3 sommets sont positionnés tels que: ∀u,v∈Vk: dℝ(u,v) = dG(u,v) Placement de Vi, 0 < i < k: algorithme de Kamada-Kawai Placement de V0: algorithme de FruchtermanReingold GRIP et ses améliorations Placement: Passage aux graphes valués ● ● Kamada-Kawai: le calcul des forces nécessite les distances dans le graphe, on utilise les distances valuées. Fruchterman-Reingold: prise en compte des valuations des arêtes pour le calcul des forces. GRIP: Résultats GRIP : 0,26 s. GEM: 15 min GRIP: Résultats GRIP : 0,13 s. GEM: 30 s. Plan I. GRIP et ses améliorations II. Principes du processus de dessin III. Conclusion et travaux futurs Principes du processus de dessin Graphe quotient arête valué Principes du processus de dessin Graphe Hierarchie Principes du processus de dessin Graphe Hierarchie Principes du processus de dessin Graphe Hierarchie Principes du processus de dessin Graphe quotient arête valué GRIP valué Principes du processus de dessin Dessin du Graphe quotient Principes du processus de dessin Graphe quotient arête valué GRIP valué Diagramme de voronoi Principes du processus de dessin Définition: Soient u1, u2, ..., un n points (sites) du plan, le diagramme de Voronoi de {u1, u2, ..., un} est la subdivision du plan en n cellules Vor(ui) telles que: Vor(ui) contient tous les points au moins aussi proches de ui que des autres sites. Principes du processus de dessin Graphe quotient arête valué GRIP valué contraint du cluster dégroupé GRIP valué Dégroupage d'un cluster de niveau i Diagramme de voronoi Principes du processus de dessin Dessin d'un cluster contraint dans sa cellule Principes du processus de dessin Graphe quotient arête valué Diagramme de Voronoi du cluster dégroupé GRIP valué contraint du cluster dégroupé GRIP valué Dégroupage d'un cluster de niveau i Diagramme de voronoi Principes du processus de dessin Diagramme de Voronoi d'un cluster Diagramme de Voronoi d'un cluster MAJ du diagramme de Voronoi global Principes du processus de dessin Graphe quotient arête valué GRIP valué Tant qu'il reste des clusters de niveau i Diagramme de Voronoi du cluster dégroupé GRIP valué contraint du cluster dégroupé Dégroupage d'un cluster de niveau i Diagramme de voronoi Principes du processus de dessin Resultat à la fin du prenier tour (i=1) Principes du processus de dessin Graphe quotient arête valué GRIP valué Pour i allant de 1 à h-1 Tant qu'il reste des clusters de niveau i Diagramme de Voronoi du cluster dégroupé GRIP valué contraint du cluster dégroupé Dégroupage d'un cluster de niveau i Diagramme de voronoi Principes du processus de dessin Graphe quotient arête valué GRIP valué Pour i allant de 1 à h-1 Tant qu'il reste des clusters de niveau i Diagramme de Voronoi du cluster dégroupé GRIP valué contraint du cluster dégroupé Dégroupage d'un cluster de niveau i Diagramme de voronoi Dessin respectant les objectifs Quelques résultats Graphe d'interactions gène-protéine Quelques résultats Graphe d'interactions gène-protéine Quelques résultats Graphe d'interactions gène-protéine Quelques résultats Graphe d'interactions gène-protéine Quelques résultats Graphe du LaBRI Quelques résultats Graphe des acteurs (IMDB) Plan I. GRIP et ses améliorations II. Principes du processus de dessin III. Conclusion et travaux futurs Conclusion et travaux futurs Un algorithme pour dessiner les graphes quotients arête valué: – – sans chevauchement de cluster Respectant “ aux mieux” les valuations des arêtes Cet algorithme permet d'améliorer sensiblement la visualisation des réseaux d'interactions gène-protéine Conclusion et travaux futurs ● ● ● Améliorer l'approximation des distances en utilisant plusieurs arbres couvrants. Généraliser cet algorithme à toute la classe des graphes sans-echelles (valués). Améliorer un (ou plusieurs) algorithme(s) de clustering, adapter à cette famille de graphes.