New Techniques for Visualisation of Large and Complex Networks with Directed Edges Tim Dwyer1 Yehuda Koren2 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) 65-72 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 Forcedirected 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. a a b a d c d c d d 2 -1 b -1 c b d 2 -1 -1 = 2 -1 -1 2 a b a 2 -1 c -1 b c 2 -1 -1 2 -1 -1 2 Layout by Stress Majorization Stress function: Σi≠1w1i -w12 … Σi≠2w2i -w2n … Constant terms -w1n Linear coefficients Σi≠nwin Quadratic coefficients Layout by Stress Majorization Stress function: Iterative algorithm: Take Z=Xt Find Xt+1 by solving FZ(Xt+1) t=t+1 Converges on local minimum of overall stress function Stress Majorisation vs Kamada Kawai – Gansner et al. 2004 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: min x subject to: xT A x – b2 xT AZ Z(a) Cx ≥d bT = 2 AZ Z(a) Inducing levels from hierarchy energy Inducing Level Constraints From Hierarchy Energy c1 yi – c2 ≥ sep c2 c2 - yj ≥ sep c3 Stress Majorization with Level Constraints Fz(x) is quadratic form Removing first row and column of matrices (corresponding to y0) fixes y0 = 0 and forces positivedefinite Laplacian Remove y0 from any constraints, – ie. y0 – ci ≥ sep becomes ci ≥ 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 Edge Lengths Crossing Counts Running Time Inducing level constraints from hierarchy energy 1. 2. 3. 4. 5. 6. Compute optimiser of hierarchy energy: yH* Create list of nodes sorted on increasing yH* Scan list, create new level whenever: yi – yi-1>tol Create |levels-1| dummy variables c1..|levels-1| For each node j in each level i (except last) create constraint: yj – ci ≥ sep For each node j in each level i (except first) create constraint: ci – yj ≥ sep