Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parLaurent Lajoie Modifié depuis plus de 8 années
1
Séminaire 8INF952 Visual Analytics – Cours II Dessin de graphes Graphes planaires Graphes ‘mous’ Méthodes spectrales
2
Dessin de graphes Layout Rank Assignment Grid Layout Compaction Augment. (Two Layer) Crossing minimization Subgraph (extraction) EdgeInsertion Hierarchy Layout Hierarchy ranking DFS ranking Median heuristic Barycenter heuristic Split heuristic Greedy switch Greedy insert Cross. Min. Opt. Fast Hierarchy Layout Planar subgraph Tree Layout Sugiyama Layout Spring Layout Tutte Layout Planar Layout Visibility representation Convex Layout FPP Layout Schnyder Layout Ranking Cross. Min. Compute coord. Planar Grid Layout Shortest Path Planarize subgraph Insert edges No crossings Acyclic subgraph Planarization Background of Graph Drawing - an Overview Adapted from Mutzel et al. 1998 with permission.
3
Graphes planaires
4
KEGG map 00020
5
Graphes planaires Bonne lisibilité des diagrammes On teste la planarité en temps linéaire
6
Graphes planaires Structures secondaires ARN Auber 2003
7
Graphes planaires
8
Des graphes peu denses Un graphe planaire a nécessairement peu d’arêtes Combien ?
9
Formule d’Euler Pour tout graphe planaire Nombre de faces (face extérieure incluse)
10
Formule d’Euler (preuve) Induction S’il n’y a pas de cycle, le graphe est un arbre et tout tient (il y a une seule face) S’il y a un cycle, on lui enlève une arête On obtient un nouveau graphe satisfaisant n’ – m’ + f’ = 2 avec n’ = n, m’ = m-1 et f’ = f-1
11
Des graphes peu denses Le nombre d’arêtes d’un graphe connexe et planaire (et qui n’est pas un arbre) est où g est la longueur de son plus court cycle
12
Il y a un isthme L’inégalité tient sur chacun des deux sous- graphes incidents à l’isthme
13
Il n’y a pas d’isthme Chaque arête est incidente à deux faces du graphes (face extérieure incluse) On applique Euler
14
Combien d’arêtes ? Un graphe planaire non réduit à un arbre possède au plus 3n – 6 arêtes Puisque la longueur du plus court cycle est au moins 3
15
Test de planarité Peut-on tester la planarité ? On possède déjà un critère pour répondre négativement (nombre d’arêtes) Sinon … Peut-on calculer un plongement d’un graphe dans le plan ? Garantie d’arêtes rectilignes ? …
16
Réduction du problème Un graphe est planaire ssi toutes ses composantes connexes le sont On supposera dorénavant que nos graphes sont connexes Un graphe est planaire ssi tous ses blocs le sont Vous avez dit « bloc » ?
17
Bloc et point d’articulation Biconnexité Il existe deux chemins disjoints entre chaque paire de sommet Un « bloc » est une composante biconnexe
18
Bloc et point d’articulation Point d’articulation Le graphe n’est plus connexe si on le supprime
19
Calcul des blocs On peut calculer les points d’articulation Soit s un sommet, T s un arbre couvrant obtenu par un parcours DFS à partir de s s est un point d’articulation ssi il est de degré sortant au moins 2 dans T s
20
Calcul des blocs s 1 23 4 5 67 8 9 1011 12 13 s est un point d’articulation
21
8 Calcul des blocs s’ n’est pas un point d’articulation s’ 1 2 3 4 5 910 11 12 13 6 7
22
Retour au test de planarité On peut donc supposer Que le graphe compte moins de 3n – 6 arêtes Qu’il n’est pas un arbre Qu’il est biconnexe (il suffira de juxtaposer les blocs après calcul d’un plongement planaire pour chacun)
23
Pièces d’un graphe planaire Etant donné un cycle C (Un graphe planaire sans cycle est un arbre) (Un graphe biconnexe possède nécessairement un cycle) Arêtes dans un même classe Si un chemin ne passant pas par C les contient toutes deux Une pièce du graphe (par rapport à C) est une classe d’arêtes
24
Pièces (il y en a 6)
25
Pièces (1) P1P1
26
Pièces (2) P2P2
27
Pièces (3) P3P3
28
Pièces (4) P4P4
29
Pièces (5) P5P5
30
Pièces (6) P6P6
31
Entrelacements des pièces Les pièces ont des points d’ancrage sur le cycle Deux pièces s’entrelacent si leurs points d’ancrage définissent des « arcs de cycle » qui se chevauchent
32
Entrelacements des pièces P1P1 1 2 … P2P2 ne chevauche pas chevauche P5P5 P2P2
33
Graphe d’entrelacement De deux pièces qui s’entrelacent : L’une doit être dessiné à l’intérieur du cycle L’autre doit être dessiné à l’extérieur Comment décider s’il est possible d’appliquer ce principe de manière cohérente à l’ensemble des pièces ?
34
Graphe d’entrelacement Les pièces sont les sommets d’un « nouveau » graphe Deux pièces y sont adjacentes si elles s’entrelacent Le graphe est planaire ssi le graphe d’entrelacement des pièces est biparti Une pièce à l’intérieur, puis une à l’extérieur, …
35
Réalisation P6P6 P5P5 P1P1 P2P2 P3P3 P4P4 P6P6 P5P5 P1P1 P2P2 P3P3 P4P4 Le graphe est planaire ssi le graphe d’entrelacement des pièces est biparti Une pièce à l’intérieur, puis une à l’extérieur, …
36
Extensions/Spécialisations Dessin de graphes planaires « orthogonaux » (à la KEGG) Routage des arêtes sur une grille, minimisation des « coudes » Problème de flots dans les graphes
37
Dessin de graphes Layout Rank Assignment Grid Layout Compaction Augment. (Two Layer) Crossing minimization Subgraph (extraction) EdgeInsertion Hierarchy Layout Hierarchy ranking DFS ranking Median heuristic Barycenter heuristic Split heuristic Greedy switch Greedy insert Cross. Min. Opt. Fast Hierarchy Layout Planar subgraph Tree Layout Sugiyama Layout Spring Layout Tutte Layout Planar Layout Visibility representation Convex Layout FPP Layout Schnyder Layout Ranking Cross. Min. Compute coord. Planar Grid Layout Shortest Path Planarize subgraph Insert edges No crossings Acyclic subgraph Planarization Background of Graph Drawing - an Overview Adapted from Mutzel et al. 1998 with permission.
38
Dessin et analogie physique
39
Graphes mous: modèles à ressorts Permet de dessiner (plonger) des graphes sans propriétés particulières Graphes simples (sans boucle, non orientés) S’appuie sur une analogie avec la physique Les sommets : des masses Les arêtes : des ressorts
40
Graphes mous: modèles à ressorts Démo
41
Dessin et analogie physique Le système doit se stabiliser Une configuration stable correspond à un « beau dessin » Qualité Bonne répartition des sommets, longueur des arêtes « uniformes » Bonne séparation des composantes plus fortement connectées Intuitif, facile à implémenter
42
Dessin et analogie physique Deux ingrédients Un « modèle » physique Des forces de répulsion qui agissent entre chaque paire de sommets Des forces d’attraction qui agissent entre les sommets voisins Un algorithme de simulation Application simultanée des forces Application incrémentale [Echantillonnage]
43
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation
44
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Eades 1984 Energie Forces attractives Forces répulsives
45
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Eades 1984
46
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Fruchterman Reingold 1991 Energie Forces attractives Forces répulsives
47
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation
48
Amélioration des performances coarsen 1275 nodes425 nodes 145 nodes50 nodes extend
49
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Performances Programmer directement la carte graphique (!)
50
Fonction d’énergie de Hall Matrice Laplacienne Méthode spectrale
51
Fonction d’énergie de Hall Matrice Laplacienne w 3,4 w 2,3
52
Méthode spectrale Fonction d’énergie de Hall / Matrice Laplacienne Minimum de la fonction d’énergie : calcul des valeurs et vecteurs propres de L (Il faut contraindre la solution à x T x = 1)
53
Méthode spectrale Minimum de la fonction d’énergie : calcul des valeurs et vecteurs propres de L Méthode des multiplicateurs de Lagrange On veut minimiser la fonction E(x) Sujette à la contrainte
54
Méthode spectrale Minimum de la fonction d’énergie : calcul des valeurs et vecteurs propres de L Méthode des multiplicateurs de Lagrange On veut minimiser la fonction E(x) Sujette à la contrainte
55
Méthode spectrale Minimum de la fonction d’énergie : calcul des valeurs et vecteurs propres de L Méthodes des multiplicateurs de Lagrange Au minimum local, on a nécessairement
56
Méthode spectrale où le vecteur cherché est donc un vecteur propre de L le minimum de E en ce vecteur est la valeur propre puisque
57
Amélioration des performances On déplace la difficulté en un problème de calcul rapide de « bonnes » approximations des valeurs propres et vecteurs propres de L Le vecteur propre de la matrice est un point fixe de l’opérateur Koren, Y. and D. Harel (2002). ACE A Fast Multiscale Graph Algorithm. IEEE Symposium on Information Visualization.
58
Each node is placed around the weighted center of its neighbors Dense areas Multi-scale f.d.ACE Exemple ( |V | = 15606, |E| = 45878)
59
Amélioration de la qualité Bonnes séparations des « clusters »: groupes de sommets plus proches Modèle LinLog de Noack
60
Amélioration de la qualité Bonnes séparations des « clusters »: groupes de sommets plus proches Modèle LinLog de Noack Un dessin atteignant une énergie minimale sépare les sommets de manière « optimale » La distance est inversement proportionnelle à la densité d’aretes entre les deux groupes de sommets
61
Amélioration de la qualité Bonnes séparations des « clusters »: groupes de sommets plus proches Modèle LinLog de Noack vs Fruchterman Reingold
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.