55 GRAPH DRAWING Emilio Di Giacomo, Giuseppe Liotta, Roberto Tamassia
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Networkx Tutorial
5.03.2020 tutorial NetworkX tutorial Source: https://github.com/networkx/notebooks (https://github.com/networkx/notebooks) Minor corrections: JS, 27.02.2019 Creating a graph Create an empty graph with no nodes and no edges. In [1]: import networkx as nx In [2]: G = nx.Graph() By definition, a Graph is a collection of nodes (vertices) along with identified pairs of nodes (called edges, links, etc). In NetworkX, nodes can be any hashable object e.g. a text string, an image, an XML object, another Graph, a customized node object, etc. (Note: Python's None object should not be used as a node as it determines whether optional function arguments have been assigned in many functions.) Nodes The graph G can be grown in several ways. NetworkX includes many graph generator functions and facilities to read and write graphs in many formats. To get started though we'll look at simple manipulations. You can add one node at a time, In [3]: G.add_node(1) add a list of nodes, In [4]: G.add_nodes_from([2, 3]) or add any nbunch of nodes. An nbunch is any iterable container of nodes that is not itself a node in the graph. (e.g. a list, set, graph, file, etc..) In [5]: H = nx.path_graph(10) file:///home/szwabin/Dropbox/Praca/Zajecia/Diffusion/Lectures/1_intro/networkx_tutorial/tutorial.html 1/18 5.03.2020 tutorial In [6]: G.add_nodes_from(H) Note that G now contains the nodes of H as nodes of G. In contrast, you could use the graph H as a node in G. -
Networkx: Network Analysis with Python
NetworkX: Network Analysis with Python Salvatore Scellato Full tutorial presented at the XXX SunBelt Conference “NetworkX introduction: Hacking social networks using the Python programming language” by Aric Hagberg & Drew Conway Outline 1. Introduction to NetworkX 2. Getting started with Python and NetworkX 3. Basic network analysis 4. Writing your own code 5. You are ready for your project! 1. Introduction to NetworkX. Introduction to NetworkX - network analysis Vast amounts of network data are being generated and collected • Sociology: web pages, mobile phones, social networks • Technology: Internet routers, vehicular flows, power grids How can we analyze this networks? Introduction to NetworkX - Python awesomeness Introduction to NetworkX “Python package for the creation, manipulation and study of the structure, dynamics and functions of complex networks.” • Data structures for representing many types of networks, or graphs • Nodes can be any (hashable) Python object, edges can contain arbitrary data • Flexibility ideal for representing networks found in many different fields • Easy to install on multiple platforms • Online up-to-date documentation • First public release in April 2005 Introduction to NetworkX - design requirements • Tool to study the structure and dynamics of social, biological, and infrastructure networks • Ease-of-use and rapid development in a collaborative, multidisciplinary environment • Easy to learn, easy to teach • Open-source tool base that can easily grow in a multidisciplinary environment with non-expert users -
1 Vertex Connectivity 2 Edge Connectivity 3 Biconnectivity
1 Vertex Connectivity So far we've talked about connectivity for undirected graphs and weak and strong connec- tivity for directed graphs. For undirected graphs, we're going to now somewhat generalize the concept of connectedness in terms of network robustness. Essentially, given a graph, we may want to answer the question of how many vertices or edges must be removed in order to disconnect the graph; i.e., break it up into multiple components. Formally, for a connected graph G, a set of vertices S ⊆ V (G) is a separating set if subgraph G − S has more than one component or is only a single vertex. The set S is also called a vertex separator or a vertex cut. The connectivity of G, κ(G), is the minimum size of any S ⊆ V (G) such that G − S is disconnected or has a single vertex; such an S would be called a minimum separator. We say that G is k-connected if κ(G) ≥ k. 2 Edge Connectivity We have similar concepts for edges. For a connected graph G, a set of edges F ⊆ E(G) is a disconnecting set if G − F has more than one component. If G − F has two components, F is also called an edge cut. The edge-connectivity if G, κ0(G), is the minimum size of any F ⊆ E(G) such that G − F is disconnected; such an F would be called a minimum cut.A bond is a minimal non-empty edge cut; note that a bond is not necessarily a minimum cut. -
Automatic Generation of Smooth Paths Bounded by Polygonal Chains
Automatic Generation of Smooth Paths Bounded by Polygonal Chains T. Berglund1, U. Erikson1, H. Jonsson1, K. Mrozek2, and I. S¨oderkvist3 1 Department of Computer Science and Electrical Engineering, Lule˚a University of Technology, SE-971 87 Lule˚a, Sweden {Tomas.Berglund,Ulf.Erikson,Hakan.Jonsson}@sm.luth.se 2 Q Navigator AB, SE-971 75 Lule˚a, Sweden [email protected] 3 Department of Mathematics, Lule˚a University of Technology, SE-971 87 Lule˚a, Sweden [email protected] Abstract We consider the problem of planning smooth paths for a vehicle in a region bounded by polygonal chains. The paths are represented as B-spline functions. A path is found by solving an optimization problem using a cost function designed to care for both the smoothness of the path and the safety of the vehicle. Smoothness is defined as small magnitude of the derivative of curvature and safety is defined as the degree of centering of the path between the polygonal chains. The polygonal chains are preprocessed in order to remove excess parts and introduce safety margins for the vehicle. The method has been implemented for use with a standard solver and tests have been made on application data provided by the Swedish mining company LKAB. 1 Introduction We study the problem of planning a smooth path between two points in a planar map described by polygonal chains. Here, a smooth path is a curve, with continuous derivative of curvature, that is a solution to a certain optimization problem. Today, it is not known how to find a closed form of an optimal path. -
Simpler Sequential and Parallel Biconnectivity Augmentation
Simpler Sequential and Parallel Biconnectivity Augmentation Surabhi Jain and N.Sadagopan Department of Computer Science and Engineering, Indian Institute of Information Technology, Design and Manufacturing, Kancheepuram, Chennai, India. fsurabhijain,[email protected] Abstract. For a connected graph, a vertex separator is a set of vertices whose removal creates at least two components and a minimum vertex separator is a vertex separator of least cardinality. The vertex connectivity refers to the size of a minimum vertex separator. For a connected graph G with vertex connectivity k (k ≥ 1), the connectivity augmentation refers to a set S of edges whose augmentation to G increases its vertex connectivity by one. A minimum connectivity augmentation of G is the one in which S is minimum. In this paper, we focus our attention on connectivity augmentation of trees. Towards this end, we present a new sequential algorithm for biconnectivity augmentation in trees by simplifying the algorithm reported in [7]. The simplicity is achieved with the help of edge contraction tool. This tool helps us in getting a recursive subproblem preserving all connectivity information. Subsequently, we present a parallel algorithm to obtain a minimum connectivity augmentation set in trees. Our parallel algorithm essentially follows the overall structure of sequential algorithm. Our implementation is based on CREW PRAM model with O(∆) processors, where ∆ refers to the maximum degree of a tree. We also show that our parallel algorithm is optimal whose processor-time product is O(n) where n is the number of vertices of a tree, which is an improvement over the parallel algorithm reported in [3]. -
Algorithms for Graph Visualization Flow Methods: Orthogonal Layout
Algorithms for Graph Visualization Flow Methods: Orthogonal Layout INSTITUT FUR¨ THEORETISCHE INFORMATIK · FAKULTAT¨ FUR¨ INFORMATIK Tamara Mchedlidze 18.01.2018 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas Aesthetic functions? ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas Aesthetic functions: • number of bends • length of edges • ER diagram in OGDF width, height, area • monotonicity of edges UML diagram by Oracle • ... Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 3 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] V = fv1; v2; v3; v4g E = fv1v2; v1v3; v1v4; v2v3; v2v4g 3 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] V = fv1; v2; v3; v4g E = fv1v2; v1v3; v1v4; v2v3; v2v4g combinatorial embedding/ planarization 4 3 Reduce Crossings 2 1 3 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. -
Space and Polynomial Time Algorithm for Reachability in Directed Layered Planar Graphs
Electronic Colloquium on Computational Complexity, Revision 1 of Report No. 16 (2015) An O(n) Space and Polynomial Time Algorithm for Reachability in Directed Layered Planar Graphs Diptarka Chakraborty∗and Raghunath Tewari y Department of Computer Science and Engineering, Indian Institute of Technology Kanpur, Kanpur, India April 27, 2015 Abstract Given a graph G and two vertices s and t in it, graph reachability is the problem of checking whether there exists a path from s to t in G. We show that reachability in directed layered planar graphs can be decided in polynomial time and O(n ) space, for any > 0. Thep previous best known space bound for this problem with polynomial time was approximately O( n) space [INP+13]. Deciding graph reachability in SC is an important open question in complexity theory and in this paper we make progress towards resolving this question. 1 Introduction Given a graph and two vertices s and t in it, the problem of determining whether there is a path from s to t in the graph is known as the graph reachability problem. Graph reachability problem is an important question in complexity theory. Particularly in the domain of space bounded computa- tions, the reachability problem in various classes of graphs characterize the complexity of different complexity classes. The reachability problem in directed and undirected graphs, is complete for the classes non-deterministic log-space (NL) and deterministic log-space (L) respectively [LP82, Rei08]. The latter follows due to a famous result by Reingold who showed that undirected reachability is in L [Rei08]. -
Voronoi Diagram of Polygonal Chains Under the Discrete Frechet Distance
Voronoi Diagram of Polygonal Chains under the Discrete Fr´echet Distance Sergey Bereg1, Kevin Buchin2,MaikeBuchin2, Marina Gavrilova3, and Binhai Zhu4 1 Department of Computer Science, University of Texas at Dallas, Richardson, TX 75083, USA [email protected] 2 Department of Information and Computing Sciences, Universiteit Utrecht, The Netherlands {buchin,maike}@cs.uu.nl 3 Department of Computer Science, University of Calgary, Calgary, Alberta T2N 1N4, Canada [email protected] 4 Department of Computer Science, Montana State University, Bozeman, MT 59717-3880, USA [email protected] Abstract. Polygonal chains are fundamental objects in many applica- tions like pattern recognition and protein structure alignment. A well- known measure to characterize the similarity of two polygonal chains is the (continuous/discrete) Fr´echet distance. In this paper, for the first time, we consider the Voronoi diagram of polygonal chains in d-dimension under the discrete Fr´echet distance. Given a set C of n polygonal chains in d-dimension, each with at most k vertices, we prove fundamental proper- ties of such a Voronoi diagram VDF (C). Our main results are summarized as follows. dk+ – The combinatorial complexity of VDF (C)isatmostO(n ). dk – The combinatorial complexity of VDF (C)isatleastΩ(n )fordi- mension d =1, 2; and Ω(nd(k−1)+2) for dimension d>2. 1 Introduction The Fr´echet distance was first defined by Maurice Fr´echet in 1906 [8]. While known as a famous distance measure in the field of mathematics (more specifi- cally, abstract spaces), it was first applied in measuring the similarity of polygo- nal curves by Alt and Godau in 1992 [2]. -
Graph Drawing Dagstuhl Seminar
05191 Abstracts Collection Graph Drawing Dagstuhl Seminar Michael Jünger1, Stephen Kobourov2 and Petra Mutzel3 1 Univ. of Köln, DE 2 Univ. of Arizona, US [email protected] 3 Univ. of Dortmund, DE [email protected] Abstract. From 08.05. to 13.05.05, the Dagstuhl Seminar 05191 Graph Drawing was held in the International Conference and Research Cen- ter (IBFI), Schloss Dagstuhl. During the seminar, several participants presented their current research, and ongoing work and open problems were discussed. Abstracts of the presentations given during the seminar as well as abstracts of seminar results and ideas are put together in this paper. The rst section describes the seminar topics and goals in general. Links to extended abstracts or full papers are provided, if available. Keywords. Graph Drawing, Visualization, Layout Algorithms, Inter- active Visualization 05191 Executive Summary Graph Drawing This paper summarizes the topics, aims, and achievements of the Dagstuhl Sem- inar 05191 on Graph Drawing. Keywords: Graph drawing Joint work of: Jünger, Michael; Kobourov, Stephen; Mutzel, Petra Full Paper: http://drops.dagstuhl.de/opus/volltexte/2006/342 05191 Open Problem Session Report This is a report on an informal session intended to stimulate communication and sharing of problems. Hence the attributions and citations may contain inaccu- racies, and are certainly not complete. Keywords: Open problems, graph drawing Joint work of: Whitesides, Sue Full Paper: http://drops.dagstuhl.de/opus/volltexte/2006/338 Dagstuhl Seminar Proceedings 05191 Graph Drawing http://drops.dagstuhl.de/opus/volltexte/2006/348 2 M. Jünger, S. Kobourov and P. Mutzel Matrix Zoom: A Visual Interface to Semi-external Graphs James Abello (Rutgers Univ. -
Representing Graphs by Polygons with Edge Contacts in 3D
Representing Graphs by Polygons with Side Contacts in 3D∗ Elena Arseneva1, Linda Kleist2, Boris Klemz3, Maarten Löffler4, André Schulz5, Birgit Vogtenhuber6, and Alexander Wolff7 1 Saint Petersburg State University, Russia [email protected] 2 Technische Universität Braunschweig, Germany [email protected] 3 Freie Universität Berlin, Germany [email protected] 4 Utrecht University, the Netherlands [email protected] 5 FernUniversität in Hagen, Germany [email protected] 6 Technische Universität Graz, Austria [email protected] 7 Universität Würzburg, Germany orcid.org/0000-0001-5872-718X Abstract A graph has a side-contact representation with polygons if its vertices can be represented by interior-disjoint polygons such that two polygons share a common side if and only if the cor- responding vertices are adjacent. In this work we study representations in 3D. We show that every graph has a side-contact representation with polygons in 3D, while this is not the case if we additionally require that the polygons are convex: we show that every supergraph of K5 and every nonplanar 3-tree does not admit a representation with convex polygons. On the other hand, K4,4 admits such a representation, and so does every graph obtained from a complete graph by subdividing each edge once. Finally, we construct an unbounded family of graphs with average vertex degree 12 − o(1) that admit side-contact representations with convex polygons in 3D. Hence, such graphs can be considerably denser than planar graphs. 1 Introduction A graph has a contact representation if its vertices can be represented by interior-disjoint geometric objects1 such that two objects touch exactly if the corresponding vertices are adjacent. -
Right Angle Crossing Graphs and 1-Planarity∗
EuroCG 2011, Morschach, Switzerland, March 28{30, 2011 Right Angle Crossing Graphs and 1-planarity∗ Peter Eadesy Giuseppe Liottaz Abstract This paper studies the interplay between two fam- ilies of non-planar drawings that fit into the above A Right Angle Crossing Graph (also called RAC mentioned research directions. graph for short) is a graph that has a straight-line More formally, a drawing of a graph G maps each drawing where any two crossing edges are orthogonal vertex u of G to a distinct point pu in the plane, each to each other. A 1-planar graph is a graph that has edge (u; v) of G a Jordan arc connecting pu and pv and a drawing where every edge is crossed at most once. not passing through any other vertex, and is such that We study the relationship between RAC graphs and any two edges have at most one point in common. A 1-planar graphs in the extremal case that the RAC 1-planar drawing is a drawing of a graph where an graphs have as many edges as possible. It is known edge can be crossed by at most another edge. A 1- that a maximally dense RAC graph with n > 3 ver- planar graph is a graph that has a 1-planar drawing. tices has 4n−10 edges. We show that every maximally A straight-line drawing is a drawing of a graph such dense RAC graph is 1-planar. Also, we show that for that every edge is a straight-line segment. A Right every integer i such that i ≥ 0, there exists a 1-planar Angle Crossing drawing (or RAC drawing, for short) graph with n = 8 + 4i vertices and 4n − 10 edges that is a straight-line drawing where any two crossing edges is not a RAC graph. -
Final Report (Sections B and C)
EuroGIGA Final report (Sections B and C) Deadline: 01/12/2014 Section B. Progress report B1. CRP progress and scientific highlights (max. 1500 words) 1. The collaborative work (c.400‐750 words) a. With reference to the CRP objectives and work plan, describe the work undertaken by the CRP and the contribution of each Individual Project to the collaboration in terms of its specific expertise and tasks/responsibilities. How closely did the partners work together? The work plan was divided into 13 work‐packages, each being supervised by one IP (some IPs were responsible for more work‐packages, these were those whose teams consisted of more sites – IP1‐CZ was responsible for WP01 (Prague) and WP08 (Brno) and IP2‐DE was responsible for WP02 (Wurzburg), WP10 (Berlin), WP11 (Dortmund) and WP12 (Tubingen)). The original work plan from the project proposal contained only 12 work‐packages, the last one was added during the life of the project when a new AP4 (Munster) was added. All teams responsible for particular work‐packages actively worked in their areas of proposed research, achieved many new results and published many scientific papers. But most importantly, mainly as a result of extensive networking activities, researchers from all IPs and APs actively collaborated and achieved results for different work‐packages. For instance, WP01 received contributions from IP1‐CZ, IP2‐DE, IP5‐PL and AP1‐IT, WP03 received contributions from IP2‐DE, IP3‐CH, AP1‐IT and AP3‐DE, and WP07 received contributions from IP1‐CZ, IP2‐DE, IP3‐CH and AP2‐NL. Each Individual Project contributed to at least two work‐packages.