Hank Childs, University of Oregon November 22 nd, 2013 Force Directed Layouts.

Slides:



Advertisements
Similar presentations
Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Advertisements

Greedy Algorithms.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
The Mathematics of Force- Directed Placement Simulating Graphs as Physical Systems To Assist in Computer Chip Layout By Jamey Lewis, St. Michael’s College.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
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.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
A New Force-Directed Graph Drawing Method Based on Edge- Edge Repulsion Chun-Cheng Lin and Hsu-Chen Yen Department of Electrical Engineering, National.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
SIMS 247: Information Visualization and Presentation jeffrey heer
Force Directed Algorithm Adel Alshayji 4/28/2005.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
1cs533d-term Notes  list Even if you’re just auditing!
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.
Visualization of Graph Data CS 4390/5390 Data Visualization Shirley Moore, Instructor October 6,
14 March 2011 Bell work: Place Les Mis book and your notes on your desk 1.Discuss “Intro” from book within groups 2.Read “Preface” together 3.My Introduction.
Visualization Taxonomies and Techniques Graphs University of Texas – Pan American CSCI 6361, Spring 2014.
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.
A Survey on Graph Visualization 1 Presented by Yang Zhang Dave Fuhry.
IAT Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
Network Aware Resource Allocation in Distributed Clouds.
Lecture 12: Network Visualization Slides are modified from Lada Adamic, Adam Perer, Ben Shneiderman, and Aleks Aris.
New method to optimize Force-directed layouts of large graphs Meva DODO, Fenohery ANDRIAMANAMPISOA, Patrice TORGUET, Jean Pierre JESSEL IRIT University.
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.
Module 5 – Networks and Decision Mathematics Chapter 23 – Undirected Graphs.
DATA MINING LECTURE 13 Pagerank, Absorbing Random Walks Coverage Problems.
 Copyright 2011 Digital Enterprise Research Institute. All rights reserved. Digital Enterprise Research Institute Enabling Networked Knowledge.
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.
InterConnection Network Topologies to Minimize graph diameter: Low Diameter Regular graphs and Physical Wire Length Constrained networks Nilesh Choudhury.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
CSCI-455/552 Introduction to High Performance Computing Lecture 11.5.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
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.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
“Niche Work” Graham J Wills, Lucent Technologies (Bell Lab)
Visualization of Biological Information with Circular Drawings.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
All-to-All Pattern A pattern where all (slave) processes can communicate with each other Somewhat the worst case scenario! 1 ITCS 4/5145 Parallel Computing,
IAT 355 Graphs ______________________________________________________________________________________.
Algorithms and Networks
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Lecture 13 CSE 331 Oct 1, 2012.
Chapter 9: Graphs Basic Concepts
Outline This topic covers Prim’s algorithm:
Introduction Wireless Ad-Hoc Network
All-to-All Pattern A pattern where all (slave) processes can communicate with each other Somewhat the worst case scenario! ITCS 4/5145 Parallel Computing,
Richard Anderson Autumn 2016 Lecture 5
Lecture 12 CSE 331 Sep 28, 2012.
Lecture 12 CSE 331 Sep 26, 2011.
CSE 373: Data Structures and Algorithms
Lecture 11 CSE 331 Sep 19, 2014.
CS 584 Project Write up Poster session for final Due on day of final
Lecture 11 CSE 331 Sep 21, 2017.
Lecture 12 CSE 331 Sep 22, 2014.
CSE 417: Algorithms and Computational Complexity
GRAPHS Lecture 17 CS2110 Spring 2018.
Richard Anderson Winter 2019 Lecture 6
Lecture 15 CSE 331 Oct 4, 2010.
Richard Anderson Winter 2019 Lecture 5
Chapter 9: Graphs Basic Concepts
GRAPHS.
CSE 421 Richard Anderson Autumn 2019, Lecture 3
Presentation transcript:

Hank Childs, University of Oregon November 22 nd, 2013 Force Directed Layouts

Upcoming Schedule 11/21: alternate lecture #1 (force directed layouts) – 5pm, Deschutes /22: uncertainty visualization (KP) 12/2: alternate lecture #2 (force directed layouts) – 2pm, HEDCO /4: medical visualization (Erik Anderson) 12/6: unstructured grids Faculty fireside (parallel visualization): – Week of 12/2 or week of 12/9 Final: Thurs 12/12, 3:15PM, Rm 220

Undirected graphs G = (V, E) – V: set of vertices – E: set of edges, (a,b), where a,b in V Possible: weights – Weights on edges – Weights on vertices

Inspiration: LinkedIn Maps

Is this a good graph? Why or why not? Positive aspects: 1)Related nodes are near each other 2)Aesthetically pleasing Positive aspects: 1)Related nodes are near each other 2)Aesthetically pleasing

Aesthetic Considerations Crossings – minimize towards planar Total edge length – minimize towards proper scale Area – minimize towards efficiency Maximum edge length – minimize longest edge Uniform edge length – minimize variance Total bends – minimize orthogonal towards straight-line Some details from this slide borrowed from John Stasko’s Graph lecture: Slide c/o: R. Maciejewski, ASU

What is the source data? LinkedIn: – I send you a LinkedIn request, or you send me a LinkedIn request. Data: – a list of people – a list of people they are connected to LinkedIn Maps: – only consider connections to my connections if I am connected to person X, and they are connected to Y, and I am not connected to Y, then just ignore Y

How is LinkedIn data converted to graphs? Let P be the list of my connections I have an edge to every one of my connections – (hank, q) for all people q in P Create edge (x,y) if x and y are in P and x is connected to y – Edge weights: number of shared connections between x and y Given data like this, how can we make a “good” graph? (“Good” = related nodes close to each other, aesthetically pleasing)

Force-directed layouts Common information visualization algorithm Not clear this is the algorithm LinkedIn Maps is using – Still graph G = (V, E), vertices V, edges E – Still edge weights on E Goal: edges are more or less of equal distance, as few crossing edges as possible

Force-directed layouts: idea Two competing forces: – Edges become springs pull vertices together Hooke’s law – Vertices become electric particles push vertices apart Coulomb’s law

Force-directed layouts: idea Place vertices in random initial position Iteratively change vertex positions based on forces This iterative process ultimately converges, in a way that minimizes energy (over both spring & electric repulsion) – If it doesn’t converge add dampening factor The final position of the vertices is the force- directed layout

Interactivity Use Cases Watching the graph converge Modifying a graph after convergence – Just modify layout – Associate two vertices together more closely – Set constraints (sticky layout)

Force-directed layouts: problem Updating vertex v_i requires considering forces from v_1, v_2, … v_n, as well as all edges incident to v_i. Result is O(n^2) work per iteration – Number of iterations estimated as O(n) Total work is O(n^3) This becomes very expensive when n > 1000

Algorithms for improved performance Overlaps with physics: n-body particle equations Multiple approaches Barnes-Hut – When considering one vertex, minimize # of other vertices considered – Drops to O(n*log(n)) per iteration, O(n^2*log(n)) overall – Depends on quadtree data structure

Octree Source: wikipedia

Quadtree Source: wikipedia

Barnes-Hut Divide graph into quadtree Iterate over each vertex. – Do NOT consider Coulomb effects for all other vertices – Instead: group vertices in distant quad tree cells together consider these vertices as a single vertex (with a higher mass) –  less vertices considered Intuition on why this works: the close ones are most important and they are still considered individually

Gephi Gephi: open-source network analysis and visualization software package – Maintained by French non-profit (Gephi Consortium) Written in Java on the NetBeans platform Example usages: – Twitter network traffic – Network analysis We will look at relationships in “Les Miserables” using data set compiled by Donald Knuth.

Les Miserables

Les Miserables Movie Jean Valjean Fantine Cosette Javert + many others, including revolutionaries, priests & nuns, prisoners, criminals, policemen Marius Thenardiers

Demonstration (Now Gephi demonstration with Samuel Li)