Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part.

Slides:



Advertisements
Similar presentations
Chapter 9 (Layered drawings of digraphs) By: Waldo & Ludo uv.
Advertisements

Trees Chapter 11.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
An Introduction to Channel Routing
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
Augmenting Data Structures Advanced Algorithms & Data Structures Lecture Theme 07 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Minimum Spanning Trees Definition Two properties of MST’s Prim and Kruskal’s Algorithm –Proofs of correctness Boruvka’s algorithm Verifying an MST Randomized.
1 Chapter 10 Trees. Tree Definition 1. A tree is a connected undirected graph with no simple circuits. Theorem 1. An undirected graph is a tree if and.
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
Graph Drawing Zsuzsanna Hollander. Reviewed Papers Effective Graph Visualization via Node Grouping Janet M. Six and Ioannis G. Tollis. Proc InfoVis 2001.
1 Presented by Jean-Daniel Fekete. 2  Motivation  Mélange [Elmqvist 2008] Multiple Focus Regions.
CONE TREES: ANIMATED 3D VISUALIZATIONS OF HIRARCHICAL INFORMATION George G. Robertson, Jock D. Mackinlay, and Stuart K. Card Xerox Palo Alto Research Center.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
LensBar – Visualization for Browsing and Filtering Large Lists of Data Toshiyuki Masui Proceedings. IEEE Symposium on Information Visualization, 1998 元智資工所.
CS 206 Introduction to Computer Science II 10 / 31 / 2008 Happy Halloween!!! Instructor: Michael Eckmann.
Graphic Tool for Computer Chip Layout Laura McLane Saint Michael’s College Advisor: Joanna Ellis-Monaghan.
Fractal Approaches for Visualizing Huge Hierarchies Hideki Koike, Hirotaka Yoshihara Department of Communications and Systems University of Electro-Communications.
Traveling with a Pez Dispenser (Or, Routing Issues in MPLS) Anupam Gupta Amit Kumar FOCS 2001 Rajeev Rastogi Iris Reinbacher COMP670P
A tree is a simple graph satisfying: if v and w are vertices and there is a path from v to w, it is a unique simple path. a b c a b c.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Recursive Graph Deduction and Reachability Queries Yangjun Chen Dept. Applied Computer Science, University of Winnipeg 515 Portage Ave. Winnipeg, Manitoba,
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
Important Problem Types and Fundamental Data Structures
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
H3: Laying Out Large Directed Graphs in 3D Hyperbolic Space Tamara Munzner Stanford University 元智資工所 系統實驗室 楊錫謦 1999/11/3.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Copyright © Cengage Learning. All rights reserved.
Efficient Gathering of Correlated Data in Sensor Networks
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
Foundations of Discrete Mathematics
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
1 Orthogonal Drawing (continued)  Sections 8.3 – 8.5 from the book  Bert Spaan.
Web Architecture: Extensible Language Tim Berners-Lee, Dan Connolly World Wide Web Consortium 元智資工所 系統實驗室 楊錫謦 1999/9/15.
資訊工程系智慧型系統實驗室 iLab 南台科技大學 1 A Static Hand Gesture Recognition Algorithm Using K- Mean Based Radial Basis Function Neural Network 作者 :Dipak Kumar Ghosh,
A new linear algorithm for checking a graph for 3-edge-connectivity Feng Sun Advisor: Dr. Robert W. Robinson Committee: Dr. E. Rodney Canfield Dr. Eileen.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Data Structures and Algorithms in Parallel Computing Lecture 2.
Discrete Mathematics Chapter 5 Trees.
Trees Dr. Yasir Ali. A graph is called a tree if, and only if, it is circuit-free and connected. A graph is called a forest if, and only if, it is circuit-free.
Chapter 10: Trees A tree is a connected simple undirected graph with no simple circuits. Properties: There is a unique simple path between any 2 of its.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
Data Structures Lakshmish Ramaswamy. Tree Hierarchical data structure Several real-world systems have hierarchical concepts –Physical and biological systems.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
A Scrollbar-based Visualization for Document Navigation Donald Byrd Proceedings of the 4 th ACM conference on Digital libraries, 元智資工所 系統實驗室 楊錫謦.
CHAPTER 11 TREES INTRODUCTION TO TREES ► A tree is a connected undirected graph with no simple circuit. ► An undirected graph is a tree if and only.
Implicit Representation of Graphs Paper by Sampath Kannan, Moni Naor, Steven Rudich.
Ad insertion at proxies to improve cache hit rates Amit Gupta and Geoffrey baehr, Sun Microsystems Laboratories 901 San Antonio Road Palo Alto,CA
John Lamping, Ramana Rao, Peter Porolli
Mapping and Browsing the Web in a 2D Space Mao Lin Huang, Wei Lai, Yanchun Zhang. Tenth International Workshop on, 元智資工所 系統實驗室 楊錫謦 2000/7/12.
WebQuery: Searching and Visualizing the Web through Connectivity Jeromy Carriere, Nortel Rick Kazman, Software Engineering Institute 元智資工所 系統實驗室 楊錫謦 2000/1/5.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Introduction to Trees Section 11.1.
CS223 Advanced Data Structures and Algorithms
Data Structures & Algorithms Digraphs and DAGs
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 10 Trees Slides are adopted from “Discrete.
Searching.
Sequence Pair Representation
Graphs Chapter 11 Objectives Upon completion you will be able to:
Searching CLRS, Sections 9.1 – 9.3.
SPQR Tree.
Trees 11.1 Introduction to Trees Dr. Halimah Alshehri.
Data Structures & Algorithms Digraphs and DAGs
Compiler Construction
Important Problem Types and Fundamental Data Structures
Presentation transcript:

Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part A: systems and humans, 元智資工所 系統實驗室 楊錫謦 2000/9/29

Outline Introduction Algorithm Overview Graph Parsing Node Layout Conclusion

Introduction Drawing digraphs by hand can be tedious and time consuming. The standard approach has 3 steps: assign node to layers reorder the nodes in each layer adjust the position of the nodes Clan-based Graph Drawing Tool (CG) uses unique clan-based graph decomposition to produce a parse tree.

Algorithm Overview The algorithm consists of several steps: create a parse tree compute the dimensions of a bounding box determine long edges and add dummy nodes recompute bounding box dimensions determine actual node locations draw the graph What is clan? 

Graph Parsing Nodes with the same parents may be the sources of the clans(Siblings) and nodes with the same children may be the sinks of clans(Mates). The algorithm consists of three parts: the preprocessing section the clan recognition section (decomposion) the parse tree construction section

Preprocessing section to carry out a transitive reduction of the input dag - minimal graph precompute P(x) – sets of parents C(x) – sets of children A(x) – sets of ancestors D(x) – sets of descendants S – sets of siblings M – sets of mates

Clan Recognition section They pairs each sibling set with each mate set to determine if the pair forms the sources and sinks of a clan. define F*(S) = F(S) ∪ S potential clan: F = D*(S i ) ∩ A*(M j )

Clan Recognition section(Cont.) If F contains more than one element then 1. For each connected component F k of F with source S k and sink M k check for illegal entry or illegal exit 2. Place each connected component with more than one element on candidate list 3. If F has more than one legal connected component then Label the union as Independent and place on candidate list 4. For each candidate F do a. Remove F from candidate list

Clan Recognition section(Cont.) b. For each F i on clan list If F=F i then if F is labeled then F i is given the label of F exit Else if F ∩ F i ≠ 空集合 and 互不為子集合 then delete F i from clan list; F=F ∪ F i ; label F as linear c. Place F on clan list d. If F is not labeled, label F as primitive

Clan Recognition section(Cont.) Primitive clans are augmented with edges until series or parallel subgraphs can be identified.

Clan Recognition section(Cont.)

Parse Tree Construction section The parse tree is built by comparing clan size and using set inclusion.

Node Layout A bounding box, associated with each node of the parse tree, specifies the allotted area for a subgraph.

Node Layout(Cont.) Before parsing, a long transitive edge (x, y) is replaced by a dummy node z and edge (x, z) and (z, y).

Node Layout(Cont.) Reducing lengths of unnecessarily long edges Routing long edges

Node Layout(Cont.)

Conclusion CG ’ s drawings are unique in several ways: attribute grammar The layout is balanced both vertically and horizontally. Nodes within a clan are placed close to each other. Nodes are grouped according to a 2D affinity. The users can contract a clan into a single node and later expand it.

Pictures of constraction

Pictures of comparison