Un algorithme de force multi-echelle pour la visualisation de

publicité
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.
Téléchargement