Séminaire 8INF952 Visual Analytics – Cours II Dessin de graphes Graphes planaires Graphes ‘mous’ Méthodes spectrales
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 with permission.
Graphes planaires
KEGG map 00020
Graphes planaires Bonne lisibilité des diagrammes On teste la planarité en temps linéaire
Graphes planaires Structures secondaires ARN Auber 2003
Graphes planaires
Des graphes peu denses Un graphe planaire a nécessairement peu d’arêtes Combien ?
Formule d’Euler Pour tout graphe planaire Nombre de faces (face extérieure incluse)
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
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
Il y a un isthme L’inégalité tient sur chacun des deux sous- graphes incidents à l’isthme
Il n’y a pas d’isthme Chaque arête est incidente à deux faces du graphes (face extérieure incluse) On applique Euler
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
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 ? …
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 » ?
Bloc et point d’articulation Biconnexité Il existe deux chemins disjoints entre chaque paire de sommet Un « bloc » est une composante biconnexe
Bloc et point d’articulation Point d’articulation Le graphe n’est plus connexe si on le supprime
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
Calcul des blocs s s est un point d’articulation
8 Calcul des blocs s’ n’est pas un point d’articulation s’
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)
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
Pièces (il y en a 6)
Pièces (1) P1P1
Pièces (2) P2P2
Pièces (3) P3P3
Pièces (4) P4P4
Pièces (5) P5P5
Pièces (6) P6P6
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
Entrelacements des pièces P1P1 1 2 … P2P2 ne chevauche pas chevauche P5P5 P2P2
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 ?
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, …
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, …
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
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 with permission.
Dessin et analogie physique
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
Graphes mous: modèles à ressorts Démo
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
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]
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Eades 1984 Energie Forces attractives Forces répulsives
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Eades 1984
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Fruchterman Reingold 1991 Energie Forces attractives Forces répulsives
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation
Amélioration des performances coarsen 1275 nodes425 nodes 145 nodes50 nodes extend
Dessin et analogie physique Deux ingrédients Un « modèle » physique Un algorithme de simulation Performances Programmer directement la carte graphique (!)
Fonction d’énergie de Hall Matrice Laplacienne Méthode spectrale
Fonction d’énergie de Hall Matrice Laplacienne w 3,4 w 2,3
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)
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
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
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
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
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.
Each node is placed around the weighted center of its neighbors Dense areas Multi-scale f.d.ACE Exemple ( |V | = 15606, |E| = 45878)
Amélioration de la qualité Bonnes séparations des « clusters »: groupes de sommets plus proches Modèle LinLog de Noack
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
Amélioration de la qualité Bonnes séparations des « clusters »: groupes de sommets plus proches Modèle LinLog de Noack vs Fruchterman Reingold