HY-483 - Force-Directed Techniques - Circular Drawings Ανδρέου Δημήτρης.

Slides:



Advertisements
Similar presentations
Wall Building for RTS Games Patrick Schmid. Age of Empires.
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.
The Mathematics of Force- Directed Placement Simulating Graphs as Physical Systems To Assist in Computer Chip Layout By Jamey Lewis, St. Michael’s College.
Label Placement and graph drawing Imo Lieberwerth.
3D-STAF: Scalable Temperature and Leakage Aware Floorplanning for Three-Dimensional Integrated Circuits Pingqiang Zhou, Yuchun Ma, Zhouyuan Li, Robert.
Hank Childs, University of Oregon November 22 nd, 2013 Force Directed Layouts.
Force directed graph drawing Thomas van Dijk. The problem Given a set of vertices and edges, compute positions for the vertices. If the edges don’t have.
Image Segmentation and Active Contour
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
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 Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
A New Force-Directed Graph Drawing Method Based on Edge- Edge Repulsion Chun-Cheng Lin and Hsu-Chen Yen Department of Electrical Engineering, National.
Radial Basis Functions
CSE 6405 Graph Drawing Text Books T. Nishizeki and M. S. Rahman, Planar Graph Drawing, World Scientific, Singapore, G. Di Battista,
SIMS 247: Information Visualization and Presentation jeffrey heer
Force Directed Algorithm Adel Alshayji 4/28/2005.
Force Directed Algorithm Adel Alshayji 4/28/2005.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
September 23, 2010Neural Networks Lecture 6: Perceptron Learning 1 Refresher: Perceptron Training Algorithm Algorithm Perceptron; Start with a randomly.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Automated Drawing of 2D chemical structures Kees Visser.
Radial Basis Function Networks
Normalised Least Mean-Square Adaptive Filtering
1 PQ Trees, PC Trees, and Planar Graphs Hsu & McConnell Presented by Roi Barkan.
1 Topology Control of Multihop Wireless Networks Using Transmit Power Adjustment Infocom /12/20.
Vectors 1D kinematics 2D kinematics Newton’s laws of motion
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
O Aim of the lecture  Coulombs Law: force between charges Gauss’ Law Electric field and charge o Main learning outcomes  familiarity with  forces between.
Information Visualization using graphs algorithms Symeonidis Alkiviadis
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Lecture 12: Network Visualization Slides are modified from Lada Adamic, Adam Perer, Ben Shneiderman, and Aleks Aris.
Adaptive CSMA under the SINR Model: Fast convergence using the Bethe Approximation Krishna Jagannathan IIT Madras (Joint work with) Peruru Subrahmanya.
New method to optimize Force-directed layouts of large graphs Meva DODO, Fenohery ANDRIAMANAMPISOA, Patrice TORGUET, Jean Pierre JESSEL IRIT University.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
Scalable and Fully Distributed Localization With Mere Connectivity.
Copyright © Cengage Learning. All rights reserved. CHAPTER 10 GRAPHS AND TREES.
1 Smashing Peacocks Further: Drawing Quasi-Trees from Biconnected Components Daniel Archambault and Tamara Munzner, University of British Columbia David.
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
Clustering Spatial Data Using Random Walk David Harel and Yehuda Koren KDD 2001.
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
Researchers: Preet Bola Mike Earnest Kevin Varela-O’Hara Han Zou Advisor: Walter Rusin Data Storage Networks.
Computer Graphics 2D Transformations. 2 of 74 Contents In today’s lecture we’ll cover the following: –Why transformations –Transformations Translation.
Motion Planning in Games Mark Overmars Utrecht University.
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.
FORS 8450 Advanced Forest Planning Lecture 11 Tabu Search.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
TSV-Constrained Micro- Channel Infrastructure Design for Cooling Stacked 3D-ICs Bing Shi and Ankur Srivastava, University of Maryland, College Park, MD,
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Data Structures and Algorithms in Parallel Computing Lecture 2.
1 Lecture 6 Neural Network Training. 2 Neural Network Training Network training is basic to establishing the functional relationship between the inputs.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Chapter 13 Backtracking Introduction The 3-coloring problem
R ANDOM N UMBER G ENERATORS Modeling and Simulation CS
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
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.
Computer Graphics CC416 Lecture 04: Bresenham Line Algorithm & Mid-point circle algorithm Dr. Manal Helal – Fall 2014.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Algorithms and Networks
Scalable Load-Distance Balancing
Hans Bodlaender, Marek Cygan and Stefan Kratsch
The minimum cost flow problem
Using Multilevel Force-Directed Algorithm to Draw Large Clustered Graph 研究生: 何明彥 指導老師:顏嗣鈞 教授 2018/12/4 NTUEE.
Introduction to Simulated Annealing
Capabilities of Threshold Neurons
Boltzmann Machine (BM) (§6.4)
Presentation transcript:

HY Force-Directed Techniques - Circular Drawings Ανδρέου Δημήτρης

Graph Drawing A discipline for visually exhibiting graph properties  Symmetries  Clusters with high cohesion

Introduction to Force-Directed Paradigm

Some Common Aesthetic Criteria Few edge crossings (as few as practically possible) Few bends (if at all)  Ignored for now, discussing only straight line drawings Uniform edge lengths Uniform node distribution on the plane Connected nodes close to each other  These can be mutually exclusive!

Force-Directed Paradigm AKA Spring-Embedder. A model that usually includes:  Spring-like forces per edge end-points  Repulsive forces between nodes It can also include:  Force towards origin, or graph’s barycenter  Gravitational force between nodes  Mass-like properties in edges (as in nodes) (That would require bends, increasing complexity but enabling various interesting opportunities)  Etc.

Runtime Properties of Force-Directed Algorithm Which set of forces is modeled? When does the algorithm stop? How (in what order) are nodes’ location updated? Deterministic or randomized? How fast does the drawing converges, if at all? And as importantly: What constants are chosen?  (Unfortunately, constants choice has a major impact on the outcome of the algorithm, and cannot be chosen a-priori, without experimentation)

GEM (Graph Embedder) Algorithm (1994)

GEM Algorithm Forces: A spring per edge, repulsive forces between nodes, gravity Parameters:  Spring constant  node repulsion constant  gravity constant Furthermore: Temperature  Local and global, with an implied cooling scheduler

About Temperature Temperature is used to scale node movements  Nodes move faster when temperature is high, and slow down as they cool down Previous approaches employed a global cooling- scheduler  Global (only) Temperature performs a deterministic gradient descent to a local minimum  This unfortunately was slow Although time complexity cannot be expressed in terms of |N| or |E| GEM utilizes local (per node) temperature, that adapts to algorithm’s expectations about the node’s optimal position (more later)

GEM Algorithm

At initialization, a random placement of nodes would suffice, but they are placed one by one instead, to produce a better initial placement (improves performance) Nodes are chosen randomly, but exactly once per round  This improves results over iterating the nodes deterministically Node with many edges are given more inertia  Through a scaling factor Nodes memorize their last impulse (the significance of this will be demonstrated later)

Impulse Calculation Gravity towards barycenter  p := (barycenter – v.pos) * g * Φ(v) Random disturbance  p := p + δ (δ is a small random vector) For each node u in (V \ { v }) Δ := v.pos – u.pos p := p + Δ * E desired 2 / |Δ| 2 For each edge (u, v) incident to v Δ := v.pos – u.pos p := p – Δ * |Δ| 2 / (Ε desired 2 * Φ(u))

Temperature Adjustment After each step, a new temperature is calculated for the node If a node is a part of rotation or oscillation, its temperature is lowered If a node moves non-negligibly towards the direction it moved at the previous step, it is presumed that it moves to its optimum position  So temperature is increased, to accelerate the node’s movement Rotation and oscillation are defined in terms of one level memory (i.e. remembering only the last step)

Rotation and Oscillation detection

GEM Performance Good all-around performer Still in high use today Primarily used with integer arithmetic, for faster calculations (and hopefully, no degradation of results)

Examples (Note: Two-dimensional)

Examples (all still 2-D!) Although there is no notion of edge-crossings in the algorithm, planar graphs are often drawn cross-free. Often drawings are actually 3D projections on plane Left drawings appear more often than right counterparts (which have fewer crosses)

Remarks The efficiency of the algorithm stems from local temperature adaptations, which accelerate “correct” moves and slows down unclear moves It is fast and space-efficient (only an extra vector per node) to detect node rotations and oscillations Yet, it is very dependent on the choice of constants, and especially the opening angles by which to detect node moves

A Framework for User-Grouped Circular Drawings

Introduction Circular drawings are good in demonstrating the close relation of a group of nodes Applications of circular drawings include Telecommunications, computer networks, social network analysis, project management, etc.

Introduction If nodes in a particular circle convey the meaning that they form a group of some kind, wouldn’t circular drawings be a good tool to select and highlight arbitrary groups? Actually, most existing solutions cannot be used as such a tool  User cannot assign nodes in circles herself  There is the notable exception of GLT (Graph Layout Toolkit), but with its own limitations

Desired Solution User should be able to choose group of nodes, to be drawn circularly Groups should be laid out with low number of edge crossings Number of crossings between intra-group and inter-group edges should be low Fast layout

Algorithmic toolset CIRCULAR-biconnected  Input: Biconnected graph  Output: Single-Circle layout CIRCULAR-Nonbiconnected  Input: Non biconnected (general) graph  Output: Single-Circle layout CIRCULAR-withRadial  Input: Non biconnected (general) graph  Output: Multiple embedding circles, which correspond to nodes of the block-cutpoint tree

A Brief Review: CIRCULAR-biconnected Minimizing edge crossings (circular drawings included) is NP-complete The algorithm tends to place  edges towards the outside of the embedding circle  nodes near their neighbors It does so by traversing the nodes in a wave and reducing pair edges *  (Edge that its nodes have a common neighbor) Then DFS the resulting graph, and place the longest path continuously on the circle, and merge rest of the nodes Circular diagram by GLT Same graph by CIRCULAR-biconnected

A Brief Review: CIRCULAR-biconnected Time complexity: O(m) If a zero-crossing drawing exist, this algorithm will find it  Outer-planar graphs 15% to 30% fewer edge crossings, compared to GLT

A Brief Review: CIRCULAR- Nonbiconnected Block-cutpoint tree is computed This tree can be ordered by DFS and placed onto a circle, crossing free Then, a variant of CIRCULAR- biconnected is used to layout the nodes of each block, on an arc An issue is in which block to place cut nodes (several solutions exist, not discussed)

A Brief Review: CIRCULAR- Nonbiconnected Arc is different to a circle in that it has endpoints, so a biconnected component must break somewhere in order to fit onto an arc  An articulation point of the block is chosen Time Complexity: O(m) Property: nodes of each biconnected component appear consecutively  Except for strict articulation points So, biconnectivity of components is still displayable, even on a single circle

A Brief Review: CIRCULAR-withRadial A graph is decomposed into biconnected components Then, the block-cutpoint tree is laid out using a radial layout technique Then, each biconnected component is laid out with a variant of CIRCULAR-biconnected  Not a full description of the algorithm Time complexity: O(m)

Back to User-Grouped Circular Drawings: Algorithm Outline

What is missing to make it work With the previous algorithms, it is possible to nicely layout each group, and layout the superstructure as well, with a basic force- directed scheme The problem is seamlessly merging intra-group considerations with inter-group ones Problematic case: Intra- group/Inter-group edge crossings

Circular Force-Directed: The missing component We need a force-directed algorithm, that takes the almost- final drawing that CIRCULAR-withRadial produces, and reduce inter-group/intra-group crossings. Can’t simply use a basic force-directed algorithm: nodes need to appear on their circle’s circumference Important: nodes are allowed to jump each other in the process  That allows the circular drawings of previous algorithms to change, but their importance is minor compared to overall graph readability

Circular Force-Directed Hooke’s law calculates potential energy as: V = Σ ij k ij [(x i – x j ) 2 + (y i – y j ) 2 ] Coordinates can be defined by angle, as: x i = x a + r a * cos(θ i ) y i = y a + r a * cos(θ i ) So, potential energy can be expressed by: V = Σ (i, j) in E k ij [(x a + r a * cos(θ i ) – x β – ρ β * cos(θ j )) 2 +(y a + r a * cos(θ i ) – y β – ρ β * cos(θ j )) 2 ]

Circular Force-Directed The previous expression is augmented to include repulsive forces: ρ ij = [(x a + r a * cos(θ i ) – x β – r β * cos(θ j )) 2 + (y a + r a * cos(θ i ) – y β – r β * cos(θ j )) 2 V = Σ (I, j) in E k ij ρ ij + Σ (I,j) in VxV g ij / ρ ij Finally, the force on each node is defined: F i = [ V(θ i + ε, θ j ) – V(θ ι – ε, θ j ) / 2ε where ε a very small constant

Final Algorithm

Sample Result Note that after the application of circular force- directed algorithm, nodes are not in discrete positions  Perhaps this is not ideal, but easily fixable  Although fixing it may imply further complications

Remarks This work introduces an interesting variant of force-directed technique, built on a positional constraint. It strikes a balance between in-circle layout optimality, and overall result A very useful technique, overall

References A Fast Adaptive Layout Algorithm for Undirected Graphs  Arne Frick, Andreas Ludwig, Heiko Mehldau A Framework for User-Grouped Circular Drawings  Janet Six, Ioannis Tollis