IPSep-CoLa: The choice of a new generation (of graph visualisation enthusiasts) Tim Dwyer – Monash University, Australia Yehuda Koren – AT&T Research Kim.

Slides:



Advertisements
Similar presentations
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Advertisements

Network Systems Lab. Korea Advanced Institute of Science and Technology No.1 Some useful Contraction Mappings  Results for a particular choice of norms.
Ch. 4: Radial Basis Functions Stephen Marsland, Machine Learning: An Algorithmic Perspective. CRC 2009 based on slides from many Internet sources Longin.
Fast Node Overlap Removal Tim Dwyer¹ Kim Marriott¹ Peter J. Stuckey² ¹Monash University ²The University of Melbourne Victoria, Australia.
A Constraint Generation Approach to Learning Stable Linear Dynamical Systems Sajid M. Siddiqi Byron Boots Geoffrey J. Gordon Carnegie Mellon University.
(A fast quadratic program solver for) Stress Majorization with Orthogonal Ordering Constraints Tim Dwyer 1 Yehuda Koren 2 Kim Marriott 1 1 Monash University,
Easy Optimization Problems, Relaxation, Local Processing for a single variable.
The Analysis and Design of Approximation Algorithms for the Maximum Induced Planar Subgraph Problem Kerri Morgan Supervisor: Dr. G. Farr.
Constrained Optimisation and Graph Drawing Tim Dwyer Monash University Australia
New Techniques for Visualisation of Large and Complex Networks with Directed Edges Tim Dwyer 1 Yehuda Koren 2 1 Monash University, Victoria, Australia.
Automated Layout and Phase Assignment for Dark Field PSM Andrew B. Kahng, Huijuan Wang, Alex Zelikovsky UCLA Computer Science Department
2010/5/171 Overview of graph cuts. 2010/5/172 Outline Introduction S-t Graph cuts Extension to multi-label problems Compare simulated annealing and alpha-
SIMS 247: Information Visualization and Presentation jeffrey heer
Tutorial 12 Linear programming Quadratic programming.
Fast and Area-Efficient Phase Conflict Detection and Correction in Standard-Cell Layouts Charles Chiang, Synopsys Andrew B. Kahng, UC San Diego Subarna.
Lecture 35 Constrained Optimization
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
1 Localization Technologies for Sensor Networks Craig Gotsman, Technion/Harvard Collaboration with: Yehuda Koren, AT&T Labs.
A Constraint Generation Approach to Learning Stable Linear Dynamical Systems Sajid M. Siddiqi Byron Boots Geoffrey J. Gordon Carnegie Mellon University.
Doubling Dimension in Real-World Graphs Melitta Lorraine Geistdoerfer Andersen.
Ch. 9: Direction Generation Method Based on Linearization Generalized Reduced Gradient Method Mohammad Farhan Habib NetLab, CS, UC Davis July 30, 2010.
Graphing Linear Equations in Two Variables The Graph of a linear equation in two variables is the graph of all the ordered pairs (x,y) that satisfy the.
Solving Inequalities Pages Solving Inequalities ● Solving inequalities follows the same procedures as solving equations. ● There are a few.
Normalised Least Mean-Square Adaptive Filtering
Neural Networks Lecture 8: Two simple learning algorithms
N 58 Graphical Solutions to Quadratic Functions Subject Content Reference: N6.7h GCSE Maths Number & Algebra.
Roman Keeney AGEC  In many situations, economic equations are not linear  We are usually relying on the fact that a linear equation.
Linear Equations, Inequalities, and Absolute Value
Coherent Time-Varying Graph Drawing with Multifocus+Context Interaction Kun-Chuan Feng, National Cheng Kung University Chaoli Wang, Michigan Technological.
ENSEMBLE LEARNING David Kauchak CS451 – Fall 2013.
ENCI 303 Lecture PS-19 Optimization 2
Example 1 Find the intercepts of the graph of. Finding Intercepts 2 1 y = x – = x – = x 10 = x STEP 1 Let 0 and solve for x to find the.
L4 Graphical Solution Homework See new Revised Schedule Review Graphical Solution Process Special conditions Summary 1 Read for W for.
QMB 4701 MANAGERIAL OPERATIONS ANALYSIS
Low-Rank Kernel Learning with Bregman Matrix Divergences Brian Kulis, Matyas A. Sustik and Inderjit S. Dhillon Journal of Machine Learning Research 10.
Constrained stress majorization using diagonally scaled gradient projection Tim Dwyer and Kim Marriott Clayton School of Information Technology Monash.
1.3 Graphing Data Using Graphs to Get Useful Information from Data.
GRAPHING AND RELATIONSHIPS. GRAPHING AND VARIABLES Identifying Variables A variable is any factor that might affect the behavior of an experimental setup.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Simultaneous estimation of monotone trends and seasonal patterns in time series of environmental data By Mohamed Hussian and Anders Grimvall.
1  The Problem: Consider a two class task with ω 1, ω 2   LINEAR CLASSIFIERS.
ELEC692 VLSI Signal Processing Architecture Lecture 3
Implicit Hitting Set Problems Richard M. Karp Erick Moreno Centeno DIMACS 20 th Anniversary.
1  Problem: Consider a two class task with ω 1, ω 2   LINEAR CLASSIFIERS.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
دانشگاه صنعتي اميركبير دانشكده مهندسي پزشكي Constraints in MPC-2 کنترل پيش بين-دکتر توحيدخواه.
METU Informatics Institute Min720 Pattern Classification with Bio-Medical Applications Part 7: Linear and Generalized Discriminant Functions.
Flexible Automatic Motion Blending with Registration Curves
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Nonlinear Programming In this handout Gradient Search for Multivariable Unconstrained Optimization KKT Conditions for Optimality of Constrained Optimization.
Exponential random graphs and dynamic graph algorithms David Eppstein Comp. Sci. Dept., UC Irvine.
Support Vector Machines Reading: Ben-Hur and Weston, “A User’s Guide to Support Vector Machines” (linked from class web page)
D Nagesh Kumar, IIScOptimization Methods: M8L1 1 Advanced Topics in Optimization Piecewise Linear Approximation of a Nonlinear Function.
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.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Rearranging the equation f(x)=0 into the form x=g(x)
Chapter 9 Linear and Quadratic Inequalities
Graphing and solving quadratic inequalities
SWBAT… find x- and y-intercepts algebraically and graphically.
Objectives Graph a line and write a linear equation using point-slope form. Write a linear equation given two points.
Chapter 6. Large Scale Optimization
Node Overlap Removal by Growing a Tree
WELCOME BACK WARM UP! Find The roots of the given quadratic: x2+7x+6=0 A.) {0,6} B.) {-6,0} C.) {-6,-1} D.) {1,6}
Warm Up Find the x-intercept of each function. 1. f(x) = –3x + 9 3
What do you think will be the values of y?
Graphing with X- and Y-Intercepts
LINEAR & QUADRATIC GRAPHS
Chapter 6. Large Scale Optimization
Presentation transcript:

IPSep-CoLa: The choice of a new generation (of graph visualisation enthusiasts) Tim Dwyer – Monash University, Australia Yehuda Koren – AT&T Research Kim Marriott – Monash University IPSep-CoLa: an Incremental Procedure for Separation- Constraint Layout of graphs

(x 1,y 1 ) (x 2,y 2 ) (x 3,y 3 ) w1w1 w2w2 h2h2 h3h3 Constraint-based Graph Layout Separation constraints: x 1 +d ≤ x 2, y 1 +d ≤ y 2 can be used with force-directed layout to impose certain spacing requirements In this talk we present: –A fast algorithm to perform stress-majorization layout subject to separation constraints –Applications of constrained graph layout x 1 + ≤ x 2 (w 1 +w 2 ) 2 y 3 + ≤ y 2 (h 2 +h 3 ) 2

Constraints are not springies, they must be satisfied Springies are a modification of the goal function Constraints (in the OR sense) are separate (in)equalities subject to which the original goal function is optimised Springies: –Sugiyama and Misue (1995), Ryal et al. (1997), etc… Constraints: –He and Marriott (1998); Dwyer and Koren (2005); Dwyer, Koren and Marriott (2006) Constraint-based Graph Layout

“Unix” Graph data From

Downward-pointing edge constraints Constraint-layout in an interactive system

Page-boundary constraints Constraint-layout in an interactive system

Non-overlap constraints Constraint-layout in an interactive system

Alignment constraints Constraint-layout in an interactive system

Stress Majorisation stress(X) stress(X ) = Minimise a quadratic function in each axis of drawing f(x) = ½ x T A x + x T b f(y) = ½ y T A y + y T b X* x* y* x* y*

Constrained stress majorization stress(X) Instead of solving unconstrained quadratic forms we solve subject to separation constraints i.e. Quadratic Programming X* x* y* x* y*

Gradient projection g = 2 A x + b x′ = x – s g s = g T g g T A g -g -sg x x′x′

x′ = project( x – s g ) Gradient projection g = 2 A x + b x′ = x – s g s = g T g g T A g x -sg x′x′

x′ = project( x – s g ) Gradient projection g = 2 A x + b s = g T g g T A g x x′x′ d = x′ – x d αdαd x′′ = x + α d x′′x′′ α = min( -g T d d T A d, 1)

x x′ = project( x – s g ) Gradient projection g = 2 A x + b s = g T g g T A g d = x′ – x x′′ = x + α d x* α = min( -g T d d T A d, 1)

Projection operation Is itself a quadratic program: Solve with active-set style method: –Move each x i to u i –Build blocks of active constraints: Find most violated constraint x k +d ≤ x l Add to any existing block B involving x k or x l (and satisfy) b d a c e u subj to: x k +d ≤ x l uiui

–Move each x i to u i –Build blocks of active constraints: Find most violated constraint x k +d ≤ x l Add to any existing block B involving x k or x l (and satisfy) Move B to average position of constituent vars: Projection operation Is itself a quadratic program: Solve with active-set style method: b d a c e subj to: x k +d ≤ x l uiui u

Projection operation b d a c e –Move each x i to u i –Build blocks of active constraints: Find most violated constraint x k +d ≤ x l Add to any existing block B involving x k or x l (and satisfy) Move B to average position of constituent vars: Is itself a quadratic program: Solve with active-set style method: etc… subj to: x k +d ≤ x l uiui u

Projection operation b d a c e –Move each x i to u i –Build blocks of active constraints: Find most violated constraint x k +d ≤ x l Add to any existing block B involving x k or x l (and satisfy) Move B to average position of constituent vars: Is itself a quadratic program: Solve with active-set style method: etc… subj to: x k +d ≤ x l uiui u

Projection operation b d a c e –Move each x i to u i –Build blocks of active constraints: Find most violated constraint x k +d ≤ x l Add to any existing block B involving x k or x l (and satisfy) Move B to average position of constituent vars: Is itself a quadratic program: Solve with active-set style method: etc… subj to: x k +d ≤ x l uiui u

Projection operation: incremental Block structure is preserved between projection operations Before each projection previous blocks are checked for split points (ensures convergence) b d a c e

Projection operation: incremental Block structure is preserved between projection operations Before each projection previous blocks are checked for split points (ensures convergence) In next projection blocks will be moved as one to new weighted average desired positions b d a c e

Projection operation: special case It can happen that the most violated constraint can have both ends in the same block! b d a c e

Projection operation: special case It can happen that the most violated constraint can have both ends in the same block! Need to split the block before inserting the violated constraint b d a c e

Projection operation: special case It can happen that the most violated constraint can have both ends in the same block! Need to split the block before inserting the violated constraint But you have to be careful… b d a c e

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i g … … … … … …

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i g … … … … … …

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i … … … … … g …

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i g … … … … … …

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i g … … … … … …

Projection operation: special case When inserting a constraint, if you don’t choose the split point carefully cycling can occur! b d a c ef h i … … … … … g …

Running time

Drawing large directed graphs Unconstrained layout 1,142 crossings Stress=39,954

Sugiyama-style layout 6,148 crossings Drawing large directed graphs

DiG-CoLa 7,600 crossings Stress=74,894 Drawing large directed graphs

IPSep-CoLa 3,617 crossings Stress=49,035 Drawing large directed graphs

More applications Non-overlapping clusters Original figure, courtesy Stephen J. Brams

Prevent overlaps between labels in MDS plots (DMDS)

Multi-dimensional scaling with clusters

Further work Make it faster –e.g. scaled gradient projection Approximating arbitrary linear constraints with separation constraints –To straighten bendy edges See: Dwyer, Marriott and Wybrow GD’2006 –To allow convex-hull clusters

Conclusion Separation constraints allow us to impose application specific requirements on stress-majorization layout We can do a lot of new things that previously could only be approximated with potentially unstable springies You can download an LGPLed C++ library implementation (adaptagrams.sf.net), or play with it in neato ( or Inkscape ( We’d love to collaborate with you to find more applications –contact: