COMP4048 Incremental Graph Drawing Richard Webber National ICT Australia.

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science for Some.
Advertisements

Planar graphs Algorithms and Networks. Planar graphs2 Can be drawn on the plane without crossings Plane graph: planar graph, given together with an embedding.
Testing planarity part 1 Thomas van Dijk. Preface Appendix of Planar Graph Drawing Quite hard to read So we’ll try to explain it, not just tell you about.
Dynamic Graph Algorithms - I
I NTRODUCTION TO G RAPH DRAWING Fall 2010 Battista, G. D., Eades, P., Tamassia, R., and Tollis, I. G Graph Drawing: Algorithms for the Visualization.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
TECH Computer Science Graphs and Graph Traversals  // From Tree to Graph  // Many programs can be cast as problems on graph Definitions and Representations.
Perfect Matching for Biconnected Cubic Graphs in O(nlog 2 n) Time Krzysztof Diks & Piotr Stańczyk.
Lectures on Network Flows
Fast Node Overlap Removal Tim Dwyer¹ Kim Marriott¹ Peter J. Stuckey² ¹Monash University ²The University of Melbourne Victoria, Australia.
Constrained Optimisation and Graph Drawing Tim Dwyer Monash University Australia
Graph Drawing Zsuzsanna Hollander. Reviewed Papers Effective Graph Visualization via Node Grouping Janet M. Six and Ioannis G. Tollis. Proc InfoVis 2001.
New Techniques for Visualisation of Large and Complex Networks with Directed Edges Tim Dwyer 1 Yehuda Koren 2 1 Monash University, Victoria, Australia.
Graph Drawing and Information Visualization Laboratory Department of Computer Science and Engineering Bangladesh University of Engineering and Technology.
Visual Analysis of Large Graphs Using (X, Y)-clustering and Hybrid Visualizations V. Batagelj, W. Didimo, G. Liotta, P. Palladino, M. Patrignani (Univ.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lectures 3 Tuesday, 9/25/01 Graph Algorithms: Part 1 Shortest.
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
SIMS 247: Information Visualization and Presentation jeffrey heer
The Rectilinear Steiner Arborescence Problem is NP-Complete
Force Directed Algorithm Adel Alshayji 4/28/2005.
Semiautomatic Simplification “semisimp” by Benjamin Watson and Gong Li Presented by John Cihocki.
Force Directed Algorithm Adel Alshayji 4/28/2005.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
COMP4048 Planar and Orthogonal Graph Drawing Algorithms Richard Webber National ICT Australia.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
I NTRODUCTION TO G RAPH DRAWING Fall 2010 Battista, G. D., Eades, P., Tamassia, R., and Tollis, I. G Graph Drawing: Algorithms for the Visualization.
Data Structures and Algorithms Graphs Minimum Spanning Tree PLSD210.
Physical Mapping of DNA Shanna Terry March 2, 2004.
I/O-Efficient Graph Algorithms Norbert Zeh Duke University EEF Summer School on Massive Data Sets Århus, Denmark June 26 – July 1, 2002.
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
Department of Computer Science and Engineering Bangladesh University of Engineering and Technology Md. Emran Chowdhury Department of CSE Northern University.
Lecture 12: Network Visualization Slides are modified from Lada Adamic, Adam Perer, Ben Shneiderman, and Aleks Aris.
Representing and Using Graphs
1 Orthogonal Drawing (continued)  Sections 8.3 – 8.5 from the book  Bert Spaan.
A split&push approach to 3D orthogonal drawings giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa.
Advanced Seminar on Graph Drawing – Planar Orientations Olga Maksin Victor Makarenkov Department of Computer Science. Ben-Gurion University of the Negev.
TCP Traffic and Congestion Control in ATM Networks
Topological Morphing of Planar Graphs Bertinoro Workshop on Graph Drawing 2012.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
A Note on the Self-Similarity of some Orthogonal Drawings Maurizio “Titto” Patrignani Roma Tre University, Italy GD2004 NYC 28 Sept – 2 Oct 2004.
Graph Visualization and Beyond … Anne Denton, April 4, 2003 Including material from a paper by Ivan Herman, Guy Melançon, and M. Scott Marshall.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Graphs A ‘Graph’ is a diagram that shows how things are connected together. It makes no attempt to draw actual paths or routes and scale is generally inconsequential.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …). Determine a path of shortest.
Today Graphical Models Representing conditional dependence graphically
Tree Diagrams A tree is a connected graph in which every edge is a bridge. There can NEVER be a circuit in a tree diagram!
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Visualization of Biological Information with Circular Drawings.
I NTRODUCTION TO G RAPH DRAWING Fall 2010 Battista, G. D., Eades, P., Tamassia, R., and Tollis, I. G Graph Drawing: Algorithms for the Visualization.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
Graph Search Applications, Minimum Spanning Tree
IAT 355 Graphs ______________________________________________________________________________________.
Algorithms and Networks
Graphs Lecture 19 CS2110 – Spring 2013.
Graphs Representation, BFS, DFS
Lectures on Network Flows
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Disjoint Path Routing Algorithms
CIS 700: “algorithms for Big Data”
Graph Operations And Representation
CSCI B609: “Foundations of Data Science”
Copyright © Aiman Hanna All rights reserved
SPQR Tree.
Richard Anderson Lecture 5 Graph Theory
Chapter 9 Graph algorithms
Presentation transcript:

COMP4048 Incremental Graph Drawing Richard Webber National ICT Australia

Lecture Overview The Problem Spring Algorithms Trees Orthogonal

Incremental Graph Drawing The aim of visualisation… to produce representations of information that are easy to understand However… –Sometimes the information is too “big” –Sometimes the information is dynamic – it changes while it is being viewed –Visualisation should support exploration through user interaction

Incremental Graph Drawing Incremental  Interactive  Iterative  Dynamic Allow insert, delete, manual movement –Reflect changes in the underlying information Make the minimum change possible –Reduce computational cost of redraw – e.g. (Cohen, et al., 1995) –Reduce cognitive cost of redraw

The Mental Map User maintains an internal model of the visualisation Radical change to drawing  loss of model (Misue, et al., 1995)

The Mental Map Relative-coordinate scenario –Preserve orthogonal ordering –Preserve clustering (relative distances) –Preserve topology (embedding) No-change scenario –Preserve position of all existing vertices

Spring-based Algorithms 1.Apply spring algorithm until stable 2.Update graph 3.Repeat from 1, using current positions as initial positions –Animating changes helps mental map –e.g., OFDAV (Huang, et al., 1998) –Easy to force no-change scenario –Difficult to force relative-coordinate scenario

Force-Scan (Lai, 1993) Spring variant to remove node overlap Force = desired d – actual d Scan order is by horizontal then vertical Satisfies relative-coordinate scenario Dummy nodes can be introduces to avoid edge- vertex crossings

Force-Scan

OFDAV On-line Force-Directed Animated Visualization (Huang, et al., 1998) Layout a spanning tree of limited size around a node of interest – the “focus” When focus changes –Recalculate tree and redo layout –Animate changes to preserve context Allows exploration of a partially unknown graph – e.g., WWW

OFDAV On change of focus –Place new focus Q i to buffer of size B –Remove oldest focus Q i-B from buffer (FIFO) –Build tree from nodes in buffer plus all neighbours within distance d  d -neighbours of Q i added to graph  d -neighbours of Q i-B probably removed

OFDAV Layout algorithm –Modified spring algorithm –Preserved nodes start in old positions –Extra gravitational repulsion away from Q i helps focal path form a line Spring effectively “animates” the graph change between focal nodes

OFDAV

Abstraction Interaction can involve removing or summarising parts of a graph… Replace (large) components with smaller representations Often, representation = single node  Component is “collapsed” / “contracted” / “summarised” / “abstracted” / “abridged”  Node is “expanded” / “inflated” / “extracted”

Abstraction Components can be –Arbitrary – user-specified –Geometric clusters of vertices –Graph-theoretic cluster of vertices –Specific structures: e.g., cliques, connected components (by specific relationships) –Encoded in the visualisation structure: e.g. subtrees, cluster graphs, compound graphs

Abstraction of Subtrees Start with a single (root) vertex Expand “interesting” vertices to reveal next level down

Abstraction of Subtrees

Can modify algorithm to try to preserve the mental map across expansion and contraction E.g., (Demetrescu, et al., 2000) Can be generalised using Bayesian models

Abstracting Compound Graphs Each vertex can be contracted to hide its descendants, and expanded to reveal them Use size/colour/label/… to identify interesting properties of descendants Animate to preserve mental map

Abstracting Compound Graphs

Orthogonal Graph Drawings Orthogonal Drawings –Vertices placed at integer coordinates –Edges parallel to coordinate axes –Edges can contain bends (Papakostas, et al., 1998), (Papakostas, et al., 1996) You will see algorithms for drawing these later in the course…

Orthogonal Graph Drawings Under the Relative-Coordinates Scenario… –Place new vertex v such that it minimises rows, columns and bends when routing all (u i, v)

Orthogonal Graph Drawings Many cases to consider h  w drawing and n new vertices  8n new bends and ((h+w)/2 + 3n) 2 area Incremental construction at time t  at most 3 bends per edge  at most 3t-1 total bends  at most 2.25t 2 area

Orthogonal Graph Drawings Under the No-Change Scenario… –New vertex v must be placed “outside” existing drawing –Again placed to minimise rows, columns and bends Incremental construction at time t  at most 3 bends per edge  at most 8t/3+2 total bends  at most (4t/3) 2 area

Orthogonal Graph Drawings Relative

Four-Orthogonal Assumes a biconnected graph, degree  4 1.Calculate st-ordering 2.Place first vertex 3.Allocate columns for out-going edges 4.Place next vertex, using columns for in-coming edges 5.Repeat from 3 until done

Four-Orthogonal

Classify vertices a-b by in-coming a and out-going b edges s.t. 1  a, b, a+b  4 Condensed G’  1-1 vertices absorbed Form vertex pairs then use to identify vertices and edges which can share rows and columns

Four-Orthogonal 1.Computer st-numbering of G 2.Condense G to G’ – update numbering 3. i = n’-1; while i > 2: –If v i  1-2  1-3 then pair v i-1,v i ; i = i-2 –Elseif v i  2-2 then find smallest j s.t. v i-j  1-1  2-1  3-1 or v i-j immediate predecessor v i ; pair v i-j,v i ; i = i-j-1 –Else i = i-1 Finds pairs for all 1-2  1-3  2-2 vertices

Four-Orthogonal v i  2-2 and v j  2-2

Four-Orthogonal v i  2-2 and v j  1-1  2-1  3-1 (  predecessor)

Four-Orthogonal v i  2-2 and v j  1-2  1-3

Four-Orthogonal v i  1-2  1-3 and v i-1  2-2  2-1  3-1 Covered by v i  2-2 cases v i  1-2  1-3 and v i-1  1-2  1-3 (independent)

Four-Orthogonal v i  1-2  1-3 and v i-1  1-2  1-3 (predecessor) v j pred v i  1-2  1-3  2-2*, and (v i-1, v i ) has not absorbed 1-1 vertices

Four-Orthogonal v i  1-2  1-3 and v i-1  1-2  1-3 (predecessor) v j pred v i  1-2  1-3  2-2*, or (v i-1, v i ) has absorbed 1-1 vertices

Four-Orthogonal 1. st-number, condense and find pairs 2.Place v 1 and v 2 (see next slide) 3.For v 3 … v n’-1 : –If v i unplaced: Place unpaired v i in new row with new columns Place paired v i,v j as shown 4.Place v n’ in new row (4th edge from v n’-1 ) 5.Replace absorbed 1-1 vertices

Four-Orthogonal Placing v 1 and v 2

Four-Orthogonal

Running time O(n) Area O( (7n+10) 2 / 64)  O(0.77n 2 ) At most 2n+4 bends in total At most 2 bends per edge

References R. F. Cohen, G. Di Battista, R. Tamassia, I. G. Tollis (1995): “Dynamic Graph Drawings: Trees, Series-Parallel Digraphs, and Planar st-Digraphs”, SIAM J. Computing, 24(5): K. Misue, P. Eades, Wei Lai, K. Sugiyama (1995): “Layout Adjustment and the Mental Map”, J. Visual Languages and Computing, 6(2): M. L. Huang, P. Eades, J. Wang (1998): “On-line Animated Visualization of Huge Graphs using a Modified Spring Algorithm”, J. Visual Languages and Computing, 9(6):

References Wei Lai (1993): “Building Interactive Diagram Applications”, Ph.D. Thesis, Dept. Computer Science, University of Newcastle. C. Demetrescu, G. Di Battista, I. Finocchi, G. Liotta, M. Patrignani, M. Pizzonia (2000): “Infinite Trees and the Future”, Proc. 7th Int. Symp. Graph Drawing (1999), Springer-Verlag, LNCS, 1731:

References A. Papakostas, I. G. Tollis (1998): “Interactive Orthogonal Graph Drawing”, IEEE Trans. Computers, 47(11): A. Papakostas, J. M. Six, I. G. Tollis (1997) “Experimental and Theoretical Results in Interactive Orthogonal Graph Drawing”, Proc. 4th Int, Symp. Graph Drawing (1996), Springer-Verlag, LNCS, 1190: