Structural Differences Between Two Graphs through Hierarchies Daniel Archambault 1 1 GRAVITE, INRIA Bordeaux Sud-Ouest, France Daniel Archambault Graph Difference 1/ 24
Introduction The Wine Difference Problem Wikimedia Project, Creative Commons Licence, André Karwath Carefully studying this important problem... Daniel Archambault Graph Difference 2/ 24
Introduction The Graph Difference Problem Structural evolution of dynamic graphs how does a dynamic graph evolve over time Typical technique in graph drawing community show graph evolution through animation Daniel Archambault Graph Difference 3/ 24
Introduction Video Y. Frishman and A. Tal. Online Dynamic Graph Drawing. EuroVis 2007 Daniel Archambault Graph Difference 4/ 24
Introduction Difference Map and Small Multiples Approach ∆ t = 10 and 11 ∆ t = 11 and 12 ∆ t = 12 and 13 Is this an improvement? Need an experiment to support this argument Contributes new algorithms to generate coarsened difference map Daniel Archambault Graph Difference 5/ 24
Previous and Related Work Animation as Dynamic Graph Evolution Krists Boitmanis, Ulrik Brandes, and Christian Pich. Visualizing Internet Evolution on the Autonomous Systems Level. Symp. Graph Drawing (GD ’07) By far, most common method for dynamic graph visualization Changes faded in and out, node movement interpolated Daniel Archambault Graph Difference 6/ 24
Previous and Related Work Small Multiples and Dynamic Attributes E. H. Chi and S. Card. Sensemaking of Evolving Web Sites using Visualization Spreadsheets (InfoVis ’99) Not frequently used to depict structural evolution of graphs Experiments suggest may be better for dynamic data Daniel Archambault Graph Difference 7/ 24
Previous and Related Work Hierarchy-Based Graph Visualization (a) DA-TU, 2000 (b) ASK-GraphView, 2006 (c) GrouseFlocks, 2008 Abstract away parts of the graph where details not required used to abstract away structural difference Daniel Archambault Graph Difference 8/ 24
Previous and Related Work Path-Preserving Hierarchy (a) (b) Defined in GrouseFlocks work A path in the hierarchy means at least one path in the graph Path-preserving hierarchies respect this property Daniel Archambault Graph Difference 9/ 24
Previous and Related Work Path-Preserving Hierarchy (a) Edge Conservation (b) Connectivity Conservation Metaedge if and only if a pair of descendants connected Metanodes contain connected subgraphs If preserved, paths in cuts are also in underlying graph Daniel Archambault Graph Difference 10/ 24
Algorithm Algorithm Overview Construct difference map 1 Difference hierarchy construction 2 Degree One Coarsening 3 Betweenness Centrality Coarsening 4 Daniel Archambault Graph Difference 11/ 24
Algorithm Difference Map Construction Each node in graph is guaranteed a unique labelling Can be done through a single scan of the node and edge list of each graph. O ( | N | + | E | ) for the nodes in both graphs Daniel Archambault Graph Difference 12/ 24
Algorithm Difference Hierarchy Construction (1) F F F J A J A E E E H B B I H I G E E N G L L N G C C D M M D K K (a) Input (b) Edge Decomposition Decompose the graph into connected components by edge difference Daniel Archambault Graph Difference 13/ 24
Algorithm Difference Hierarchy Construction (2) F F { H, I, J } A A J E E B H I N G G L { B, C } N C D M D { K, L, M } K (a) Node Decomposition (b) Graph Hierarchy Decompose by node difference Create a hierarchy based on node and edge difference Daniel Archambault Graph Difference 14/ 24
Algorithm Degree One Coarsening E { D, E } D C { B, C } B A A (a) Before Coarsening (b) After Coarsening Group degree one nodes attached same root together Does not need to be connected because paths begin/end here Daniel Archambault Graph Difference 15/ 24
Algorithm Betweenness Centrality Coarsening Coarsens away nodes with: little change in betweenness centrality large metanodes common to both graphs Daniel Archambault Graph Difference 16/ 24
Results Results: Threads ∆ t = 10 and 11 ∆ t = 10 and 11 ∆ t = 11 and 12 ∆ t = 12 and 13 ∆ t = 13 and 14 ∆ t = 14 and 15 Daniel Archambault Graph Difference 17/ 24 Newsgroup discussion between 62-70 nodes and 72-87 edges
Results Results: Opte (1) (a) Difference Map (b) Hierarchy Internet scan of about 40,000 nodes and 47,000 edges Daniel Archambault Graph Difference 18/ 24
Results Results: Opte (2) (a) Hierarchy (b) Degree One Coarsening Internet scan of about 40,000 nodes and 47,000 edges Degree one coarsening applied Daniel Archambault Graph Difference 19/ 24
Results Results: Opte (3) (a) Degree One Coarsening (b) Betweenness Centrality Coarsening Internet scan of about 40,000 nodes and 47,000 edges Betweenness centrality coarsening applied Daniel Archambault Graph Difference 20/ 24
Results Results: RouteViews Internet scan of about 24,000 nodes and 58,000 edges Work still to be done Possible coarsening techniques to simplify hierarchy Daniel Archambault Graph Difference 21/ 24
Future Work and Conclusion Future Work Do difference maps help in understanding structural evolution? currently designing an experiment to provide evidence Can people properly interpret hierarchies in a difference context? Coarsening techniques to scale to larger graphs Daniel Archambault Graph Difference 22/ 24
Future Work and Conclusion Conclusion Visualizing structural difference between two graphs Contributions use hierarchy to coarsen away areas of similarity/difference path-preserving coarsening technique betweenness centrality coarsening technique Scales to graphs of tens of thousands of nodes Daniel Archambault Graph Difference 23/ 24
Future Work and Conclusion Acknowledgements Thank you Guy Melançon and David Auber for numerous discussions Thank you LaBRI for comments on the work Partially funded by the INRIA GRAVITÉ project Questions? Daniel Archambault Graph Difference 24/ 24
Recommend
More recommend