New Techniques for Visualisation of Large and Complex Networks with Directed Edges Tim Dwyer 1 Yehuda Koren 2 1 Monash University, Victoria, Australia 2 AT&T - Research
Papers Tim Dwyer, Yehuda Koren “DiG-CoLa: Directed Graph Layout through Constrained Energy Minimization” IEEE Symposium on Information Visualization (2005) Tim Dwyer, Yehuda Koren, Kim Marriott “Stress Majorization with Orthogonal Ordering Constraints” Graph Drawing (2005)
Directed graph drawing
Magnetic Springs – Sugiyama & Misue 1995 Augmentation of Force- directed layout for general graphs Metaphor: – edges are “magnetised” to align with a field force
Hierarchy Energy Carmel, Harel and Koren 2002 Edge i→j implies δ ij =1
Works well on nice, regular DAGs
Cycles – not so good.
Symmetric Nodes Two nodes i and j are symmetric when there exists a permutation π such that: π(i)=j and π(j)=i and L=L π, b=b π Such i and j must have the same hierarchy energy Problematic symmetric nodes appear frequently in cycles. abcd a2 b 2 c 2 d 2 a b cd dcba d2 c 2 b 2 a 2 =
Layout by Stress Majorization Stress function: -w 12 -w 1n -w 2n … … Σ i≠1 w 1i Σ i≠2 w 2i … Σ i≠n w in Constant terms Quadratic coefficients Linear coefficients
Layout by Stress Majorization Iterative algorithm: Take Z=X t Find X t+1 by solving F Z (X t+1 ) t=t+1 Converges on local minimum of overall stress function Stress function:
Stress Majorisation vs Kamada Kawai – Gansner et al FM global minimisation leads to monotonic decrease in stress KK can oscillate FM generally converges faster Experiments suggest FM handles weighted edges much better.
Our Contribution Conjecture: – Hierarchy Energy provides a more “natural” mapping of directed structure to levels than methods requiring cycle removal We can overcome HE method’s problems with symmetric nodes using constrained graph drawing We show that Stress Majorization (with it’s benefits over KK) is easily augmented with constraints Other applications: – Directed Multi-Dimensional Scaling – Orthogonal order preserving layout
Quadratic Programming At each iteration, in each dimension we solve: x T A x – 2 x T A Z Z (a) b T = 2 A Z Z (a) x T A x – b x min x subject to: C x ≥ d
Inducing levels from hierarchy energy
Inducing Level Constraints From Hierarchy Energy c1c1 c2c2 c3c3 y i – c 2 ≥ sep c 2 - y j ≥ sep
Stress Majorization with Level Constraints F z (x) is quadratic form Removing first row and column of matrices (corresponding to y 0 ) fixes y 0 = 0 and forces positive- definite Laplacian Remove y 0 from any constraints, – ie. y 0 – c i ≥ sep becomes c i ≥ sep Can solve with any quadratic programming method – A standard optimisation toolkit (e.g. interior point - Mosek) – The simple form of the separation constraints means we can design a very fast custom solver
Examples
Typical Sugiyama layout (dot) - preserves tree structure Our method - preserves edge lengths
Directed Multi-Dimensional Scaling
Edge Lengths
Crossing Counts
Running Time
Inducing level constraints from hierarchy energy 1. Compute optimiser of hierarchy energy: y H * 2. Create list of nodes sorted on increasing y H * 3. Scan list, create new level whenever: y i – y i-1 >tol 4. Create |levels-1| dummy variables c 1..|levels-1| 5. For each node j in each level i (except last) create constraint: y j – c i ≥ sep 6. For each node j in each level i (except first) create constraint: c i – y j ≥ sep