IAT 355 Graphs ______________________________________________________________________________________.

Slides:



Advertisements
Similar presentations
IAT Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
Advertisements

Cpt S 223 – Advanced Data Structures Graph Algorithms: Introduction
Network Visualization by Semantic Substrates Aleks Aris Ben Shneiderman.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Label Placement and graph drawing Imo Lieberwerth.
Activity relationship analysis
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Hank Childs, University of Oregon November 22 nd, 2013 Force Directed Layouts.
Small-World Graphs for High Performance Networking Reem Alshahrani Kent State University.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Graph Drawing Zsuzsanna Hollander. Reviewed Papers Effective Graph Visualization via Node Grouping Janet M. Six and Ioannis G. Tollis. Proc InfoVis 2001.
Visual Analysis of Large Graphs Using (X, Y)-clustering and Hybrid Visualizations V. Batagelj, W. Didimo, G. Liotta, P. Palladino, M. Patrignani (Univ.
Identifying Patterns in Road Networks Topographic Data and Maps Henri Lahtinen Arto Majoinen.
Graph & BFS.
Computational Methods for Management and Economics Carla Gomes Module 9a Network Models Terminology (Slides adapted from J.Orlin’s)
Graph Visualization cs5764: Information Visualization Chris North.
Graph COMP171 Fall Graph / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D E A C F B Vertex Edge.
Graph & BFS Lecture 22 COMP171 Fall Graph & BFS / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D.
SIMS 247: Information Visualization and Presentation jeffrey heer
Spring 2010CS 2251 Graphs Chapter 10. Spring 2010CS 2252 Chapter Objectives To become familiar with graph terminology and the different types of graphs.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
Visualization of Graph Data CS 4390/5390 Data Visualization Shirley Moore, Instructor October 6,
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.
IAT Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
IAT Text ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Network Aware Resource Allocation in Distributed Clouds.
Computer Science 112 Fundamentals of Programming II Introduction to Graphs.
Lecture 12: Network Visualization Slides are modified from Lada Adamic, Adam Perer, Ben Shneiderman, and Aleks Aris.
IAT 814 Trees Chapter 3.2 of Spence ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS +
Representing and Using Graphs
Mathematics of Networks (Cont)
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Data Structures & Algorithms Graphs
IAT Text ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT]
COSC 2007 Data Structures II Chapter 14 Graphs I.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
“Niche Work” Graham J Wills, Lucent Technologies (Bell Lab)
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Graphs. Graph Definitions A graph G is denoted by G = (V, E) where  V is the set of vertices or nodes of the graph  E is the set of edges or arcs connecting.
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.
Introduction to Graph & Network Theory Thinking About Networks: From Metabolism to the Genome to Social Conflict Summer Workshop for Teachers June 27 th.
Algorithms and Networks
CS 201: Design and Analysis of Algorithms
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Network Models Hiroki Sayama
Copyright © Zeph Grunschlag,
Graph theory Definitions Trees, cycles, directed graphs.
Mean Shift Segmentation
Special Graphs: Modeling and Algorithms
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
Network Visualization
CS120 Graphs.
Network Science: A Short Introduction i3 Workshop
CSE373: Data Structures & Algorithms Lecture 16: Introduction to Graphs Linda Shapiro Spring 2016.
Graphs Chapter 13.
Graphs All tree structures are hierarchical. This means that each node can only have one parent node. Trees can be used to store data which has a definite.
Graph Theory By Amy C. and John M..
Algorithms: Design and Analysis
Trees-2, Graphs Data Structures with C Chpater-6 Course code: 10CS35
GRAPHS Lecture 17 CS 2110 — Spring 2019.
Analyzing Massive Graphs - ParT I
Concepts of Computation
Chapter 9 Graph algorithms
Presentation transcript:

IAT 355 Graphs ______________________________________________________________________________________ SCHOOL OF INTERACTIVE ARTS + TECHNOLOGY [SIAT] | WWW.SIAT.SFU.CA IAT 355

Graphs Definition Example relations Mathematical structures used to model pairwise relations between objects Example relations Airline Flights Train stops Circles of friends of MyFace Mar 9, 2017 IAT 355

What is a Graph? 1 2 3 Vertices (nodes) connected by Edges (links) 1 2 Vertices (nodes) connected by Edges (links) Adjacency Matrix 1 2 3 1,3 1 3 2 Adjacency List Mar 9, 2017 IAT 355

Graph Terminology Graphs can have cycles 6 Graph Terminology 1 4 2 3 7 5 Graphs can have cycles Graph edges can be directed or undirected The degree of a vertex is the number of edges connected to it In-degree and out-degree for directed graphs Graph edges can have values (weights) on them (nominal, ordinal or quantitative) Mar 9, 2017 IAT 355

Trees Subcase of general graph No cycles Typically directed edges Special designated root vertex Mar 9, 2017 IAT 355

Arrange Networks Mar 9, 2017 IAT 355

Graph Uses In Information Visualization, any number of data sets can be modeled as a graph Telephone system World Wide Web Distribution network for on-line retailer Call graph of a large software system Semantic map in an AI algorithm Set of connected friends Mar 9, 2017 IAT 355

Graph Uses Facilitate understanding of complex socioeconomic patterns Social Science visualization gallery (Lothar Krempel) Next slide: Krempel & Plumper’s study of World Trade between OECD countries, 1981 and 1992 http://www.mpi-fg-koeln.mpg.de/~lk/netvis/trade/WorldTrade.html Mar 9, 2017 IAT 355

1981 1992 http://www.mpi-fg-koeln.mpg.de/~lk/netvis/trade/WorldTrade.html Mar 9, 2017 IAT 355

Vizster Social Network Visualization Video http://jheer.org/vizster/ Mar 9, 2017 IAT 355

Cytoscape Visualization of protein-protien interaction networks Mar 9, 2017 IAT 355

Graph Uses Facilitate understanding of network flows, relations Even information with a ‘geographical’ content can best appear as a ‘network’ rail maps Geographic landmarks largely suppressed on maps, except water (rivers in Paris, London) Mar 9, 2017 IAT 355

Case Study AT&T long distance phone network Geographical location 110 Nodes (switches) Geographical location Connected by 12,000 links Directed, almost completely connected Data every 5 minutes EARTHQUAKE Oct. 17, 1989 Mar 9, 2017 IAT 355

Questions Where are the overloads? Which links are carrying most traffic? Was there network damage? Is there underutilized capacity? Are calls getting in to affected area or are there bottlenecks? Is overload increasing or decreasing? Mar 9, 2017 IAT 355

Edge Drawing Strategies Label Thickness Color Directed Mar 9, 2017 IAT 355

Mar 9, 2017 IAT 355

Problems Too many lines! Solutions Occlusion Long lines become “more important” Can’t see what happens in Midwest Solutions Use half/half technique out/out Draw most important last Use thickness & color for traffic Mar 9, 2017 IAT 355

Mar 9, 2017 IAT 355

More Help Shorten all lines so as to de-emphasize transcontinental links Mar 9, 2017 IAT 355

Mar 9, 2017 IAT 355

TouchGraph Facebook Friends graph http://www.youtube.com/watch?v=YOsbWWvWdjA Mar 9, 2017 IAT 355

Focus of Graph Particular node may be focus, often placed in center for circular layout How does one build an interactive system that allows changes in focus? Use animation Maintain constancy of shape, link crossings Mar 9, 2017 IAT 355

Graph Layout Idiom: Force Directed Visual Encoding link connection marks, node point marks Considerations Spatial position: no meaning directly encoded left free to minimize crossings Proximity semantics? sometimes meaningful sometimes arbitrary, artifact of layout algorithm tension with length long edges more visually salient than short Mar 9, 2017 IAT 355

Force Directed Layout Tasks Scalability explore topology; locate paths, clusters Scalability Node/Edge density E < 4N https://bl.ocks.org/mbostock/4062045 Mar 9, 2017 IAT 355

Graph Visualization Problems Graph layout and positioning Make a concrete rendering of abstract graph Scale Not too much of a problem for small graphs, but large ones are much tougher Navigation/Interaction How to support user changing focus and moving around the graph Mar 9, 2017 IAT 355

Graph Layout Vary hard problem, since graph nodes can have any degree Good references: Tutorial (talk slides) www.cs.brown.edu/people/rt/papers/gd-tutorial/gd-constraints.pdf G. diBattista, P. Eades, R. Tamassia, and I. Tollis, Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall, 1999. Herman et al, IEEE TVCG 2000 Mar 9, 2017 IAT 355

Vertex Issues Shape Color Size Location Label Mar 9, 2017 IAT 355

Edge Issues Color Size Label Form Polyline, straight line, orthogonal, grid, curved, planar, upward/downward, ... Mar 9, 2017 IAT 355

Complexity Considerations Crossings-- minimize towards planar Total Edge Length-- minimize towards proper scale Area-- minimize towards efficient use of space Maximum Edge Length-- minimize longest edge Uniform Edge Lengths-- minimize variances Total Bends– minimize orthogonal towards straight-line Mar 9, 2017 IAT 355

Which Matters? Various studies examined which of the complexity factors matter most and/or what kinds of layout/vis techniques look best Purchase, Graph Drawing ’97 Ware et al, Info Vis1(2), June ’02 Ghoniem et al, Info Vis 4(2), Summer ’05 Results mixed: Edge crossings seem most important Mar 9, 2017 IAT 355

Layout Heuristics Layout algorithms can be planar grid-based orthogonal curved lines hierarchies circular Mar 9, 2017 IAT 355

Types of Layout Algorithms From P Mutzel et al Graph Drawing ‘97 Mar 9, 2017 IAT 355

Layout Types Grid Layout Tree Layout Force Directed Layout Put nodes on a grid Tree Layout Force Directed Layout Model graph as set of masses connected by springs Planar Layout Detect part of graph that can be laid out without edge crossings Mar 9, 2017 IAT 355

Layout Subproblems Rank Assignment Crossing Minimization Compute which nodes have large degree, put those at center of clusters Crossing Minimization Swap nodes to rearrange edges Subgraph Extraction Pull out cluster of nodes Planarization Pull out a set of nodes that can lay out on plane Mar 9, 2017 IAT 355

Scale Challenge May run out of space for vertices and edges (turns into “ball of string”) Can really slow down algorithm Often use clustering to help Extract highly connected sets of vertices Collapse some vertices together Mar 9, 2017 IAT 355

Navigation/Interaction Issues How do we allow a user to query, visit, or move around a graph? Changing focus may entail a different rendering Mar 9, 2017 IAT 355

Design Exercise Row Loves Column A B C D E F 1 2 4 5 3 Relationship 1 2 4 5 3 Relationship Value Knows 1 Likes 2 Dislikes 3 Hates 4 Loves 5 Row Loves Column Mar 9, 2017 IAT 355