Lecture Notes in Computer Science Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos New York University, NY, USA Doug Tygar University of California, Berkeley, CA, USA Moshe Y. Vardi Rice University, Houston, TX, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany
3383
János Pach (Ed.)
Graph Drawing 12th International Symposium, GD 2004 New York, NY, USA, September 29-October 2, 2004 Revised Selected Papers
13
Volume Editor János Pach City University of New York City College, NY, USA and Hungarian Academy of Sciences Rényi Institute, Budapest, Hungary E-mail:
[email protected]
Library of Congress Control Number: 2005920703 CR Subject Classification (1998): G.2, F.2, I.3, E.1 ISSN 0302-9743 ISBN 3-540-24528-6 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable to prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springeronline.com © Springer-Verlag Berlin Heidelberg 2004 Printed in Germany Typesetting: Camera-ready by author, data conversion by Olgun Computergrafik Printed on acid-free paper SPIN: 11384861 06/3142 543210
Preface
The 12th International Symposium on Graph Drawing (GD 2004) was held during September 29–October 2, 2004, at City College, CUNY, in the heart of Harlem, New York City. GD 2004 attracted 94 participants from 19 countries. In response to the call for papers, the program committee received 86 regular submissions describing original research and/or system demonstrations. Each submission was reviewed by at least three program committee members and comments were returned to the authors. Following extensive e-mail discussions, the program committee accepted 39 long papers (11 pages each in the proceedings) and 12 short papers (6 pages each). In addition, 4 posters were displayed and discussed in the conference exhibition room (2 pages each in the proceedings). The program committee of GD 2004 invited two distinguished lecturers. Professor Paul Seymour from Princeton University presented a new characterization of claw-free graphs (joint work with Maria Chudnovsky). Professor Erik Demaine from MIT reported on his joint work with Fedor Fomin, MohammadTaghi Hajiaghayi and Dimitrios Thilikos, concerning fast (often subexponential) fixedparameter algorithms and polynomial approximation schemes for broad classes of NP-hard problems in topological graph theory. A survey of the subject by Professors Demaine and Hajiaghayi is included in this volume. As usual, the annual graph drawing contest was held during the conference. This time the contest had two distinct tracks: the graph drawing challenge and the freestyle contest. A report is included in the proceedings. Many people in the graph drawing community contributed to the success of GD 2004. First of all, special thanks are due to the authors of submitted papers, demos, and posters, and to the members of the program committee as well as to the external referees. Many thanks to organizing committee members Gary Bloom, Peter Brass, Stephen Kobourov, and Farhad Shahrokhi. My very special thanks go to Hanna Seifu who was in charge of all local arrangements, Robert Gatti who developed the software used for registration and paper submission, and John Weber and Eric Lim who designed the logo, the webpage, and the brochures of the conference. I am very much indebted to Dr. Joseph Barba and Dr. Mohammad Karim, present and former Deans of the School of Engineering, and to Dr. Gregory H. Williams, President of the City College of New York, for their continuing support. Thanks are due to our “gold” sponsors, the City College of New York, the University of North Texas at Denton, and Tom Sawyer Software, and to our “silver” sponsors, ILOG, the DIMACS Center for Discrete Mathematics and Theoretical Computer Science, and the Computer Science Program at the CUNY Graduate Center. Springer and World Scientific Publishing contributed to the success of GD 2004 by sending selections of their recent publications in the subject.
VI
Preface
The 13th International Symposium on Graph Drawing (GD 2005) will be held in Limerick, Ireland, 12–14 September, 2005, with Peter Eades and Patrick Healy as conference co-chairs.
December 2004
J´anos Pach New York and Budapest
Sponsoring Institutions Tom Sawyer Software City College of New York, CUNY University of North Texas at Denton DIMACS Center for Discrete Math. and Theoretical Computer Science ILOG The Graduate Center of the City University of New York
Organization
Program Committee Franz-J. Brandenburg Stephen G. Eick Genghua Fan Emden Gansner Giuseppe Liotta Patrice de Mendez Takao Nishizeki J´ anos Pach L´aszl´o Sz´ekely Roberto Tamassia G´eza T´oth Imrich Vrt’o
Universit¨ at Passau SSS Research, Inc. Fuzhou University AT&T Labs Universit`a degli Studi di Perugia Centre Nat. de la Recherche Scientifique (Paris) Tohoku University City College and Courant Inst., NY (chair) University of South Carolina Brown University Alfr´ed R´enyi Institute of Mathematics Slovak Academy of Sciences
Contest Committee Franz-J. Brandenburg Christian Duncan Emden Gansner Stephen Kobourov
Universit¨ at Passau University of Miami AT&T Labs University of Arizona (chair)
Steering Committee Franz-J. Brandenburg Giuseppe Di Battista Peter Eades Patrick Healy Giuseppe Liotta Takao Nishizeki J´ anos Pach Pierre Rosenstiehl Roberto Tamassia Ioannis G. Tollis Sue Whitesides
Universit¨ at Passau Universit` a degli Studi Roma National ICT Australia Ltd., Univ. of Sydney University of Limerick Universit`a degli Studi di Perugia Tohoku University City College and Courant Inst., NY Centre Nat. de la Recherche Scientifique (Paris) Brown University (chair) Foundation for Research and Techn. (FORTH – Hellas) McGill University
VIII
Organization
Organizing Committee Gary Bloom Peter Braß Stephen Kobourov J´ anos Pach Farhad Shahrokhi
City College, CUNY City College, CUNY (co-chair) University of Arizona, Tucson City College, CUNY (chair) University of North Texas (co-chair)
External Referees Christian Bachmaier Nicolas Bonichon Shen Bau Walter Didimo Daniel Dix Adrian Dumitrescu Peter Eades Michael Forster Emilio Di Giacomo Gyula K´ arolyi Yehuda Koren Martin Loebl
Linyuan Lu Andr´ as Luk´ acs Endre Makai Stephen C. North Maurizio Patrignani Rom Pinchasi Maurizio Pizzonia Richard Pollack Rado´s Radoiˇci´c Marcus Raitner Falk Schreiber Zixia Song
Ondrej S´ ykora Konrad Swanepoel G´ abor Tardos Ioannis Tollis Csaba T´oth Pavel Valtr Hua Wang Colin Ware Sue Whitesides Nick Wormald
Table of Contents
Papers Reconfiguring Triangulations with Edge Flips and Point Moves . . . . . . . . . Greg Aloupis, Prosenjit Bose, and Pat Morin
1
Drawing Power Law Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reid Andersen, Fan Chung, and Lincoln Lu
12
Hexagonal Grid Drawings: Algorithms and Lower Bounds . . . . . . . . . . . . . . Shabnam Aziza and Therese Biedl
18
Improved Bounds for the Number of (≤ k)-Sets, Convex Quadrilaterals, and the Rectilinear Crossing Number of Kn . . . . . . . . . . . . . . . . . . . . . . . . . . J´ ozsef Balogh and Gelasio Salazar
25
On the Realizable Weaving Patterns of Polynomial Curves in R3 . . . . . . . . Saugata Basu, Raghavan Dhandapani, and Richard Pollack
36
Drawing the AS Graph in 2.5 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Michael Baur, Ulrik Brandes, Marco Gaertler, and Dorothea Wagner
43
Boundary Labeling: Models and Efficient Algorithms for Rectangular Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Michael A. Bekos, Michael Kaufmann, Antonios Symvonis, and Alexander Wolff
49
Convex Drawings of 3-Connected Plane Graphs . . . . . . . . . . . . . . . . . . . . . . . Nicolas Bonichon, Stefan Felsner, and Mohamed Mosbah
60
Partitions of Complete Geometric Graphs into Plane Trees . . . . . . . . . . . . . Prosenjit Bose, Ferran Hurtado, Eduardo Rivera-Campo, and David R. Wood
71
Additional PC-Tree Planarity Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . John M. Boyer
82
GraphML Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ulrik Brandes and Christian Pich
89
Clustering Cycles into Cycles of Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Pier Francesco Cortese, Giuseppe Di Battista, Maurizio Patrignani, and Maurizio Pizzonia Unit Bar-Visibility Layouts of Triangulated Polygons . . . . . . . . . . . . . . . . . . 111 Alice M. Dean, Ellen Gethner, and Joan P. Hutchinson Really Straight Graph Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Vida Dujmovi´c, Matthew Suderman, and David R. Wood
X
Table of Contents
Layouts of Graph Subdivisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Vida Dujmovi´c and David R. Wood Label Number Maximization in the Slider Model . . . . . . . . . . . . . . . . . . . . . . 144 Dietmar Ebner, Gunnar W. Klau, and Ren´e Weiskircher An Efficient Implementation of Sugiyama’s Algorithm for Layered Graph Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Markus Eiglsperger, Martin Siebenhaller, and Michael Kaufmann Random Geometric Graph Diameter in the Unit Disk with p Metric . . . . 167 Robert B. Ellis, Jeremy L. Martin, and Catherine Yan Algorithms for Drawing Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 David Eppstein Confluent Layered Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 David Eppstein, Michael T. Goodrich, and Jeremy Yu Meng Simultaneous Embedding of Planar Graphs with Few Bends . . . . . . . . . . . . 195 Cesim Erten and Stephen G. Kobourov A Fast and Simple Heuristic for Constrained Two-Level Crossing Reduction . . . . . . . . . . . . . . . . . . . . . . . 206 Michael Forster Contact and Intersection Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Hubert de Fraysseix and Patrice Ossona de Mendez Dynamic Graph Drawing of Sequences of Orthogonal and Hierarchical Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Carsten G¨ org, Peter Birke, Mathias Pohl, and Stephan Diehl Graph Drawing by Stress Majorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Emden R. Gansner, Yehuda Koren, and Stephen North Computing Radial Drawings on the Minimum Number of Circles . . . . . . . . 251 Emilio Di Giacomo, Walter Didimo, Giuseppe Liotta, and Henk Meijer Hamiltonian-with-Handles Graphs and the k-Spine Drawability Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Emilio Di Giacomo, Walter Didimo, Giuseppe Liotta, and Matthew Suderman Distributed Graph Layout for Sensor Networks . . . . . . . . . . . . . . . . . . . . . . . 273 Craig Gotsman and Yehuda Koren Drawing Large Graphs with a Potential-Field-Based Multilevel Algorithm . . . . . . . . . . . . . . . . . . . . 285 Stefan Hachul and Michael J¨ unger Building Blocks of Upward Planar Digraphs . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Patrick Healy and Karol Lynch
Table of Contents
XI
A Linear Time Algorithm for Constructing Maximally Symmetric Straight-Line Drawings of Planar Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Seok-Hee Hong and Peter Eades Train Tracks and Confluent Drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 ˇ Peter Hui, Marcus Schaefer, and Daniel Stefankoviˇ c The Three Dimensional Logic Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Matthew Kitching and Sue Whitesides Long Alternating Paths in Bicolored Point Sets . . . . . . . . . . . . . . . . . . . . . . . 340 Jan Kynˇcl, J´ anos Pach, and G´eza T´ oth Intersection Reverse Sequences and Geometric Applications . . . . . . . . . . . . 349 Adam Marcus and G´ abor Tardos New Exact Results and Bounds for Bipartite Crossing Numbers of Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Matthew C. Newton, Ondrej S´ykora, Martin Uˇzoviˇc, and Imrich Vrt’o Drawing Pfaffian Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Serguei Norine 3D Visualization of Semantic Metadata Models and Ontologies . . . . . . . . . 377 Charalampos Papamanthou, Ioannis G. Tollis, and Martin Doerr A Note on the Self-similarity of Some Orthogonal Drawings . . . . . . . . . . . . 389 Maurizio Patrignani No-Three-in-Line-in-3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Attila P´ or and David R. Wood Visual Navigation of Compound Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Marcus Raitner Layout Volumes of the Hypercube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Lubomir Torok and Imrich Vrt’o New Theoretical Bounds of Visibility Representation of Plane Graphs . . . 425 Huaming Zhang and Xin He
Software Demonstrations Visualizing Large Graphs with Compound-Fisheye Views and Treemaps . . . . . . . . . . . . . . . . . . . . . . . . 431 James Abello, Stephen G. Kobourov, and Roman Yusufov A Compound Graph Layout Algorithm for Biological Pathways . . . . . . . . . 442 Ugur Dogrusoz, Erhan Giral, Ahmet Cetintas, Ali Civril, and Emek Demir
XII
Table of Contents
Curvilinear Graph Drawing Using the Force-Directed Method . . . . . . . . . . 448 Benjamin Finkel and Roberto Tamassia Graphael: A System for Generalized Force-Directed Layouts . . . . . . . . . . . . 454 David Forrester, Stephen G. Kobourov, Armand Navabi, Kevin Wampler, and Gary V. Yee QUOGGLES: Query On Graphs – A Graphical Largely Extensible System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 Paul Holleis and Franz J. Brandenburg Visualisation of Large and Complex Networks Using PolyPlane . . . . . . . . . 471 Seok-Hee Hong and Tom Murtagh The Metro Map Layout Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Seok-Hee Hong, Damian Merrick, and Hugo A.D. do Nascimento An Interactive Multi-user System for Simultaneous Graph Drawing . . . . . . 492 Stephen G. Kobourov and Chandan Pitta
Posters Gravisto: Graph Visualization Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Christian Bachmaier, Franz J. Brandenburg, Michael Forster, Paul Holleis, and Marcus Raitner DNA Secondary Structures for Probe Design . . . . . . . . . . . . . . . . . . . . . . . . . 504 Yanga Byun and Kyungsook Han Open Problems Wiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 Marcus Raitner Visualization and ILOG CPLEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Georg Sander and Adrian Vasiliu
Graph Drawing Contest Graph-Drawing Contest Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 Franz J. Brandenburg, Christian A. Duncan, Emden R. Gansner, and Stephen G. Kobourov
Invited Talk Fast Algorithms for Hard Graph Problems: Bidimensionality, Minors, and Local Treewidth . . . . . . . . . . . . . . . . . . . . . . . 517 Erik D. Demaine and MohammadTaghi Hajiaghayi
Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Reconfiguring Triangulations with Edge Flips and Point Moves Greg Aloupis1 , Prosenjit Bose2 , and Pat Morin2 1 2
School of Computer Science, McGill University
[email protected] School of Computer Science, Carleton University {jit,morin}@scs.carleton.ca
Abstract. We examine reconfigurations between triangulations and near-triangulations of point sets, and give new bounds on the number of point moves and edge flips sufficient for any reconfiguration. We show that with O(n log n) edge flips and point moves, we can transform any geometric near-triangulation on n points to any other geometric neartriangulation on n possibly different points. This improves the previously known bound of O(n2 ) edge flips and point moves.
1
Introduction
An edge flip is a graph operation that is defined on (near)-triangulations1. An edge flip on a triangulation is simply the deletion of an edge, followed by the insertion of another edge such that the resulting graph remains a triangulation. The definition of an edge flip gives rise to several natural questions: Does there always exist a sequence of flips that reconfigures a given triangulation to any other triangulation? Are there bounds on the lengths of such sequences if they exist? Can these sequences be computed? These questions have been studied in the literature in many different settings. In particular, Wagner [19] proved that given any two n-vertex triangulations G1 and G2 , there always exists a finite sequence of edge flips that reconfigures G1 into a graph isomorphic to G2 . Subsequently, Komuro [10] showed that in fact O(n) edge flips suffice. Recently, Bose et al. [2] showed that O(log n) simultaneous edge flips suffice and are sometimes necessary. This setting of the problem is referred to as the combinatorial setting since the triangulations are only embedded combinatorially, i.e. only the cyclic order of edges around each vertex is defined. In the geometric setting, the graphs are embedded in the plane with edges represented by straight line segments. Pairs of edges can only intersect at their endpoints. Edge flips are still valid operations in this setting, except that now the edge that is added must be a line segment that cannot properly intersect any of the existing edges of the graph. This implies that there are valid edge flips 1
Research supported in part by the Natural Science and Engineering Council of Canada. A triangulation is a plane graph where every face is a triangle. In a neartriangulation, the outer face may not be a triangle.
J. Pach (Ed.): GD 2004, LNCS 3383, pp. 1–11, 2004. c Springer-Verlag Berlin Heidelberg 2004
2
Greg Aloupis, Prosenjit Bose, and Pat Morin
in the combinatorial setting that are no longer valid in the geometric setting. Lawson [12] showed that given any two geometric near-triangulations N1 and N2 embedded on the same n points in the plane, there always exists a finite sequence of edge flips that transforms the edge set of N1 to the edge set of N2 . Hurtado, Noy and Urrutia [9] showed that O(n2 ) flips are always sufficient and that Ω(n2 ) flips are sometimes necessary. Note that in the geometric setting, only the near-triangulations that are defined on the specified point set can be attained via edge flips. For example, no planar K4 can be drawn on a convex set of four points without introducing a crossing. In order to resolve the discrepancy between the combinatorial and geometric settings, Abellanas et al. [1] introduced a geometric operation called a point move. A point move on a geometric triangulation is simply the modification of the coordinates of one vertex such that after the modification the graph remains a geometric triangulation. That is, the move is valid provided that after moving the vertex to a new position, no edge crossings are introduced. They also showed that with O(n2 ) edge flips and O(n) point moves, any geometric triangulation on n points can be transformed to any other geometric triangulation on n possibly different points. The question which initiated our investigation is whether or not O(n2 ) edge flips are necessary. In this paper, we show that with O(n log n) edge flips and point moves, we can transform any geometric near-triangulation on n points to any other geometric near-triangulation on n possibly different points. Next, we show that if we restrict our attention to geometric near-triangulations defined on a fixed point set of size n, the problem is just as difficult even with the use of point moves. Finally, we show that with a slightly more general point move, we can remove the extra log factor from our main result.
2
Results
In the remainder of the paper, all triangulations and near-triangulations are geometric. It is assumed that the outer face any given near-triangulation is convex, and that any two near-triangulations involved in a reconfiguration have the same number of points on the convex hull. We assume that the n vertices of any given triangulation are in general position. It is not difficult to see that O(n) point moves can reconfigure a triangulation to this form. We begin with some basic building blocks that will allow us to prove the main theorems. Lemma 1. [2] A reconfiguration between two triangulations of the same point set that is in convex position can be done with O(n) edge flips. Lemma 2. [9] Let v1 , v2 and v3 be three consecutive vertices on the outer face of a near-triangulation T1 . Let C be the path from v1 to v3 on the convex hull of all vertices but v2 . A near-triangulation T2 containing all edges of C may be constructed from T1 with t edge flips, where t is the number of edges initially intersecting C in T1 .
Reconfiguring Triangulations with Edge Flips and Point Moves
3
Lemma 3. Given a near-triangulation T , any vertex p ∈ T with degree d > 3 that is inside the convex hull of the vertices of T can have its degree reduced to 3 with d − 3 edge flips. Proof. Let P be the polygon that is the union of all triangles incident to p. By Meister’s two-ears theorem [13], if P has more than three vertices, then it has at least two disjoint ears2 . At most one of them can contain p. Therefore p and one of the ears form a convex quadrilateral. We may flip the edge from p to the tip of the ear, effectively cutting the ear from P and reducing the number of vertices of P by one. This process may be continued until P is reduced to a triangle that contains p as desired. Lemma 4. Given a near-triangulation T , any vertex p ∈ T with degree 3 that is inside the convex hull of the vertices of T can be moved to a new position in the triangulation along a straight path crossing t edges, using at most 2t edge flips and 2t + 1 point moves, assuming the path does not cross through any vertices. Proof. Suppose that p is joined by edges to vertices v1 , v2 and v3 . Without loss of generality, let edge v2 v3 intersect the path that p must follow, and let this path continue into triangle v2 v3 v4 , as shown in Figure 1. Clearly p can be moved anywhere within triangle v1 v2 v3 without the need of any edge flips. Then it can be moved along its path, as close to edge v2 v3 as necessary, so that the quadrilateral pv2 v3 v4 becomes convex. This allows edge v2 v3 to be flipped into edge pv4 . Now p may continue along its path. As soon as it enters v2 v3 v4 , edge pv1 may be flipped into v2 v3 . Now, with two edge flips and two point moves, p has crossed through the first edge intersecting its path, and still has degree 3. By the same argument, p may traverse its entire path with two edge flips and two point moves for each intersecting edge. One additional point move is required in the last triangle. Note that only three edges in the original and final triangulations will be different.
v3
v1 p
v2 v4 Fig. 1. A vertex p and a straight path that it must move along (dashed). p can pass through any edge with two edge flips. 2
A triangle, defined by three consecutive vertices of a polygon, is an ear if it is empty and the vertices form a convex angle. The second vertex is the tip of the ear.
4
Greg Aloupis, Prosenjit Bose, and Pat Morin
Lemmata 3 and 4 imply the following result: Lemma 5. Given a near-triangulation T , any vertex in the interior of the convex hull of the vertices of T with degree d can be moved to a new position in the triangulation along a path crossing t edges, using O(d + t) edge flips and point moves. Lemma 6. An edge can be constructed between a convex hull vertex and any other vertex in a triangulation using O(n) edge flips, with the aid of one moving point that is moved O(n) times. Proof. Let v1 be the hull vertex. First suppose that the second vertex is an interior point. Then it will play the role of the moving point, and we will label it p. We can move p directly towards v1 , until it is located within a triangle that has v1 as a vertex. Now v1 and p must be joined with an edge. Next we move p back along the same line to its original position, always maintaining edge v1 p. To do this, we consider the set of triangles that intersect p’s path, as in Lemma 4. The point p can always enter a triangle intersecting the path back to its original location. The difference is that once it has crossed an intersecting edge, we do not restore the edge. This means that p will accumulate edge degree. An issue that needs to be taken care of is that of maintaining a triangulation when p is about to lose visibility to another vertex. This occurs when one of its incident edges is about to overlap with another edge in the triangulation, as shown in Figure 2. Suppose that edge pv3 is about to overlap with edge v3 v4 . Vertices v3 and v4 cannot be on opposite sides of the remaining path that p must traverse, otherwise v3 v4 may be flipped. The point p must share an edge with v4 in this configuration. Points p and v3 are also part of another triangle, along with some vertex v ∗ which may be anywhere on the path from v1 to v3 . These two triangles must form a convex quadrilateral pv ∗ v3 v4 , otherwise p would have already lost visibility to v ∗ . Thus pv3 may be flipped into v4 v ∗ , which means that v3 is removed from the polygon that intersects p’s path. The result is that when p reaches its original position, it leaves a fan3 behind it, which includes edge v1 p.
v3 v4 v1 p v2 Fig. 2. Maintaining a triangulation while extending edge v1 p: p has moved from a position close to v1 (shown white), and still has to traverse the dashed segment to its original position. Edge pv3 causes a problem if p is to continue. 3
A fan is a star-shaped polygon with a vertex as its kernel.
Reconfiguring Triangulations with Edge Flips and Point Moves
5
Overall one edge flip is used when p enters a new triangle, and at most one flip is used for every edge that attaches to p. If both vertices of the edge that we wish to construct are on the hull, then we can take any point p within the hull and move it close to v1 and onto the segment between the two hull vertices. p can then move along this segment to the second hull vertex until it is connected to both. At this moment, p may be perturbed so that the three vertices form a triangle. This triangle might contain other edges incident to p. Lemma 2 implies that these edges may be removed so that the desired edge can be constructed with O(n) edge flips. 2.1
Triangulations
With the basic building blocks in place, we now prove one of our main results. Theorem 1. With O(n log n) edge flips and point moves, we can transform any geometric triangulation on n points to any other geometric triangulation on n possibly different points. Proof. We transform one triangulation to another via a canonical configuration. As shown in Figure 3, the interior vertices form a backbone (i.e. their induced subgraph is a path). The top of the backbone is joined to the topmost hull vertex v1 , and all interior vertices are joined to the other two hull vertices, vL and vR . The canonical configuration is constructed in a divide-and-conquer manner. We perform a radial sweep from v1 , to find the median vertex interior to the convex hull, vM . After constructing edge v1 vM we move vM directly away from v1 towards the base vL vR , maintaining v1 vM until triangle vM vL vR contains no interior points. By Lemma 6, we use O(n) operations to accomplish this. Now, we transform v1 vM vL and v1 vM vR into backbone configurations by induction since they are smaller instances of the same problem. The resulting configuration is shown in Figure 4. We now show that the two sides may be merged using O(n) operations. As shown in Figure 5a, we first move the lowest vertex of a backbone into a position that is close to the base and is along the extension of edge v1 vM . This requires one edge flip. The vertices on the left/right backbones are processed in
v1
vL
vR
Fig. 3. The canonical configuration used for triangulations.
6
Greg Aloupis, Prosenjit Bose, and Pat Morin
v1
vL
vM
vR
Fig. 4. The configuration of a triangulation prior to merging the backbones on each side of the median vertex vM .
(a)
(b)
Fig. 5. Merging two backbones into one.
ascending order, and are always moved just above the previous processed vertex, as shown in Figure 5b. Each vertex will require two point moves and one edge flip. Thus v1 vL vR is reconfigured into canonical form, and by a simple recurrence the number of edge flips and point moves used is O(n log n). It is trivial to move a canonical triangulation to specific coordinates using n point moves. Thus the transformation between any two triangulations may be completed. 2.2
Near-Triangulations
If the initial graph is a near-triangulation, Theorem 1 does not directly apply. Some care must be taken to handle a non-triangular outer face. Details are given in the proof of the following theorem: Theorem 2. With O(n log n) edge flips and point moves, we can transform any geometric near-triangulation on n points to any other geometric near-triangulation on n possibly different points. Proof. As in the case with triangulations, we transform one near-triangulation to another via a canonical configuration. In the primary canonical configuration, shown in Figure 6, one chosen hull vertex (v1 ) is joined by chords to all other
Reconfiguring Triangulations with Edge Flips and Point Moves
7
v1
T
Fig. 6. The primary canonical configuration used for near-triangulations.
hull vertices. Thus v1 is in the kernel of a convex fan. Every triangle of the fan, except for one, is empty. All interior vertices, located in the non-empty triangle T , are in the canonical configuration of a triangulation. We first construct all edges of the top-level fan configuration, leaving interior vertices in their original positions. Then within each triangle of the fan, we rearrange the interior vertices into a canonical triangulation. Finally, we merge all triangles of the fan, so that all interior points move to a single triangle and are in canonical form. To construct the fan chords, we always divide the problem into two roughly equal parts. We begin by constructing two chords as follows: perform a radial sweep from v1 to successive hull vertices vi {2 ≤ i ≤ n − 1}, always keeping fewer than n2 vertices in the swept region. Let vj be the last hull vertex for which this holds. Construct chords v1 vj and v1 vj+1 . The unswept region not including triangle v1 vj vj+1 contains fewer than n2 vertices. The swept region contains fewer than n2 vertices. Triangle v1 vj vj+1 may contain an arbitrary number of vertices, but this is not a sub-problem (we will not look at this region again during the construction of the fan). Now we can continue a new sweep on each side of v1 vj vj+1 . Construction of the two chords could take O(n) edge flips and point moves, as described in Lemma 6. However the even split of the sub-problems ensures that the total number of operations is O(n log n). Each fan triangle v1 vi vi+1 , containing ki interior points, can be reconfigured into a backbone structure with O(ki log ki ) operations, by Theorem 1. Thus the total number of edge flips and point moves used to reconfigure all triangles of the fan into backbone structures is O(n log n). Now we are left only with the task of merging the fan triangles so that only one of them will contain all interior points. We can add ki interior points of a canonical triangulation to an adjacent canonical triangulation using O(ki ) edge flips and point moves. The ki points are processed in descending order and are always added to the top of the adjacent triangulation, as shown in Figure 7. Thus we obtain one triangle in canonical form next to an empty triangle. It is just as easy to merge two canonical triangles separated by an empty triangle. If we encounter two or more adjacent empty fan triangles, we may use Lemma 1
8
Greg Aloupis, Prosenjit Bose, and Pat Morin
Fig. 7. Merging two adjacent fan triangles.
T
T
T
T
Fig. 8. Handling multiple adjacent empty fan triangles. Triangles marked (T) contain triangulations.
to reconfigure them so that they will not affect the fan-merging process (see Figure 8). By the above arguments, once we select the triangle that is to finally contain all of the interior points (the median triangle is a good choice), we can iteratively merge its neighboring triangles onto it using a total of O(n) edge flips and point moves. Finally we are left with a single triangle containing all interior points in canonical form. On either side, we may have an arbitrary triangulation (resulting from handling multiple adjacent empty fan triangles), but the vertices will be in convex position. By Lemma 1 they may be moved to our desired configuration using O(n) edge flips. We must still show that this primary canonical configuration can be moved to specific coordinates. This can be done with O(n) point moves, though space restrictions prevent us from going into any detail. 2.3
Remarks
Our algorithms also work for labeled triangulations, with minor care needed. Constructing the canonical configuration resembles merge-sort. If two triangulations have the same point set, the problem is no easier than the general problem. Suppose that there exists an algorithm that can transform a triangulation T1 on a given n-point set to a triangulation T2 on the same point
Reconfiguring Triangulations with Edge Flips and Point Moves
(a)
(b)
(e)
9
(c)
(d)
Fig. 9. Problem on fixed point set is not easier.
set using Fn = o(n log n) edge flips and point moves. Then this algorithm can be used to transform a triangulation on one point set to any other triangulation on a possibly different point set with Fn + O(n) edge flips and point moves. This argument is summarized in Figure 9. Let Figure 9a be the input triangulation. With Fn flips and moves, move to the triangulation in Figure 9b where every vertex is adjacent to the lower left vertex v of the outer face. Now consider the triangulated polygon, P , that consists of edges not adjacent to v . Notice that if we perform a radial sweep from v , the boundary of P is monotonic. At least two of the triangles in P are disjoint ears, which means there must exist an ear tip that is an interior vertex and is also joined to v by an edge in the original triangulation. We may move this point directly towards v and cut the ear from P . This still leaves a monotone polygon P . By continuously locating such ears, and moving them to a predefined convex position, we can obtain the configuration illustrated in Figure 9c. The monotonicity of P (and its descendants) and the convexity of the final configuration of interior points guarantee that no edge crossings will occur. This process requires a linear number of point moves. Next, by Lemma 1, we can use O(n) edge flips to obtain the triangulation where the lower right vertex of the outer face is adjacent to every vertex, as illustrated in Figure 9d. From here, it is trivial to move to the canonical configuration. We conclude with the following: Theorem 3. If an algorithm exists that can reconfigure between any two geometric triangulations of the same point set with o(n log n) edge flips and point
10
Greg Aloupis, Prosenjit Bose, and Pat Morin
moves, then we can also transform any geometric triangulation on n points to any other geometric triangulation on n different points with o(n log n) flips and moves. It is tempting to try to find a fast algorithm that will construct a monotone path, as illustrated in the transition from Figure 9a to Figure 9b. Consider the polygon that is the union of all triangles incident to the lower left vertex of Figure 9b. By continuously cutting ears of this polygon, we may get to a triangulation that is similar to that of Figure 9a, using O(n) edge flips. The similarity is that all neighbors of the lower left vertex will be in convex position. However, we have little control over the resulting positions of the remaining edges if we use only O(n) operations. It is possible to create triangulations for which the reversal of this ear-cutting technique is not possible. In fact, Figure 9c serves as an example, if we add a few more vertices inside the large triangle. In this figure none of the edges directly visible from the lower left vertex can be flipped, so there is no obvious way to achieve a monotone path with fewer than O(n log n) operations. We finally consider the following more powerful point move as an alternative to the point move studied so far. In this more powerful point move, we can delete an interior vertex of degree three (and all its incident edges), and create a new vertex of degree three inside another triangle of the triangulation. With this type of move we can reconfigure triangulations using O(n) operations. We simply select a triangle incident to a hull edge and create a backbone inside. This is done by continuously selecting a vertex of constant degree from outside the triangle, reducing its degree to three, and moving it to the lower end of the backbone.
References 1. Abellanas, M., Bose, P., Garcia, A., Hurtado, F., Ramos, P., Rivera-Campo, E., Tejel, J.: On local transformations in plane geometric graphs embedded on small grids. In Proceedings of the International Workshop on Computational Geometry and Applications (CGA) 2 (2004) 22–31 2. Bose, P., Czyzowicz, J., Gao, Z., Morin, P., Wood, D.: Parallel diagonal flips in plane triangulations. Tech. Rep. TR-2003-05, School of Computer Science, Carleton University, Ottawa, Canada (2003) 3. Brunet, R., Nakamoto, A., Negami, S.: Diagonal flips of triangulations on closed surfaces preserving specified properties. J. Combin. Theory Ser. B 68(2) (1996) 295–309 4. Cort´es, C., Grima, C., Marquez, A., Nakamoto, A.: Diagonal flips in outertriangulations on closed surfaces. Discrete Math. 254(1-3) (2002) 63–74 5. Cort´es, C., Nakamoto, A.: Diagonal flips in outer-torus triangulations. Discrete Math. 216(1-3) (2000) 71–83 6. Galtier, J., Hurtado, F., Noy, M., P´erennes, S., Urrutia, J.: Simultaneous edge flipping in triangulations. Internat. J. Comput. Geom. Appl. 13(2) (2003) 113– 133 7. Gao, Z., Urrutia, J., Wang, J.: Diagonal flips in labelled planar triangulations. Graphs Combin. 17(4) (2001) 647–657
Reconfiguring Triangulations with Edge Flips and Point Moves
11
8. Hurtado F., Noy, M.: Graph of triangulations of a convex polygon and tree of triangulations. Comput. Geom. 13(3) (1999) 179–188 9. Hurtado, F., Noy, M., Urrutia, J. Flipping edges in triangulations. Discrete Comput. Geom. 22(3) (1999) 333–346 10. Komuro, H.: The diagonal flips of triangulations on the sphere. Yokohama Math. J. 44(2) (1997) 115–122 11. Komuro, H., Nakamoto, A., Negami, S.: Diagonal flips in triangulations on closed surfaces with minimum degree at least 4. J. Combin. Theory Ser. B 76(1) (1999) 68–92 12. Lawson, C.: Software for c1 surface interpolation. In J. Rice, ed., Mathematical Software III, pp. 161–194, Academic Press, New York (1977) 13. Meisters, G.: Polygons have ears. American Mathematical Monthly 82 (1975) 648– 651 14. Nakamoto, A., Negami, S.: Diagonal flips in graphs on closed surfaces with specified face size distributions. Yokohama Math. J. 49(2) (2002) 171–180 15. Negami, S.: Diagonal flips in triangulations of surfaces. Discrete Math.135(1-3) (1994) 225–232 16. Negami, S.: Diagonal flips in triangulations on closed surfaces, estimating upper bounds. Yokohama Math. J. 45(2) (1998) 113–124 17. Negami, S.: Diagonal flips of triangulations on surfaces, a survey. Yokohama Math. J. 47 (1999) 1–40 18. Negami, S., Nakamoto, A.: Diagonal transformations of graphs on closed surfaces. Sci. Rep. Yokohama Nat. Univ. Sect. I Math. Phys. Chem. 40 (1993) 71–97 19. Wagner, K.: Bemerkung zum Vierfarbenproblem. Jber. Deutsch. Math.-Verein. 46 (1936) 26–32 20. Watanabe, T., Negami, S.: Diagonal flips in pseudo-triangulations on closed surfaces without loops. Yokohama Math. J. 47 (1999) 213–223
Drawing Power Law Graphs Reid Andersen, Fan Chung , and Lincoln Lu University of California, San Diego
Abstract. We present methods for drawing graphs that arise in various information networks. It has been noted that many realistic graphs have a power law degree distribution and exhibit the small world phenomenon. Our methods are influenced by recent developments in the modeling of such graphs.
1
Introduction
Several research groups have observed that many networks, including Internet graphs, call graphs and social networks, have a power law degree distribution, where the fraction of nodes with degree k is proportional to k −β for some positive exponent β [8]. Many networks also exhibit a so-called “small world phenomenon” consisting of two distinct properties — small average distance between nodes, and a clustering effect where two nodes sharing a common neighbor are more likely to be adjacent. It was shown in [2] that a random power law graph has small average distance and small diameter. However, random power law graphs do not adequately capture the clustering effect. To model the small world phenomenon, several researchers have introduced random graph models with additional geometric structure. Kleinberg [7] proposed a model where a grid graph G is augmented with random edges between nodes u, v with probability proportional to [dG (u, v)]−r for some constant r. Fabrikant, Koutsoupias and Paradimitriou [4] proposed a model where vertices are points in the Euclidean plane and edges are added by optimizing a function involving both Euclidean distance and graph distance to a central node. Chung and Lu [3] introduced a hybrid graph model where a random power law graph called the “global” graph is added to a “local graph” having a certain kind of local connectivity. In [1] an efficient algorithm was presented for extracting a highly connected local graph from an arbitrary graph. For a graph generated by the hybrid model, this algorithm recovers the original local graph up to a small error. In this paper, we present a drawing method using the algorithm for extracting local graphs. This algorithm may be useful for drawing graphs similar to those produced by the hybrid model. A graph from the hybrid model contains a random power law graph which will not be amenable to most drawing methods, but also contains a local graph which can be more geometric in nature. The recovery theorem in [1] guarantees that when applied to a graph from the hybrid model, our algorithm produces a layout which depends largely on the local graph.
Research supported in part by NSF Grants DMS 0100472 and ITR 0205061.
J. Pach (Ed.): GD 2004, LNCS 3383, pp. 12–17, 2004. c Springer-Verlag Berlin Heidelberg 2004
Drawing Power Law Graphs
2
13
Preliminaries
2.1 Weighted Graphs and Quotient Graphs Although our input graphs are unweighted, our algorithm will form weighted graphs by collapsing connected components into single vertices. A weighted graph is a simple graph G together with a vertex weight function wG (v) and an edge weight function φG (e). Suppose that V (G) has a partition V (G) = C1 ∪ C2 ∪ · · · ∪ Ck . The quotient graph Q is defined as follows. The vertices of Q are communities C1 , . . . Ck , and we set wG (u). wQ (Ck ) = u∈Ci
φQ (Ci , Cj ) =
φG (u, v).
u∈Ci ,v∈Cj
There is an edge between Ci and Cj if φQ (Ci , Cj ) > 0. 2.2 Local Flow and Local Graphs Given a weighted graph with edge capacity function φ, we will define a notion of local connectivity between vertices. We will say a path is short if it has length less than or equal to . A short flow is a positive linear combination of short paths where no edge carries more than its capacity. The maximum short flow problem can be viewed as a linear program, and can be computed in polynomial time using nontrivial but relatively efficient algorithms for fractional packing (See 2.3). Definition 1 (Short Flow). A short flow is a feasible solution to the following linear program. The flow connectivity f (u, v) between two vertices is the maximum value of any short flow, which is the optimum value of the following LP problem. Let P be the collection of short u-v paths, and let Pe be the collection of short u-v paths which intersect the edge e. maximize fp (1) p∈P
subject to
fp ≤ φ(e)
for each e ∈ L
p∈Pe
fp ≥ 0
for each p ∈ P
We say two vertices u and v are (f, )-connected if there exists a short flow between them of size at least f . We a say a graph L is an (f, )-local graph if for each edge e = (u, v) in L, the vertices u and v are (f, )-connected in L. 2.3 Computing the Maximum Short Flow Finding the maximum short flow between u and v in a graph G with given edge capacities φ(e) can be viewed as a fractional packing problem, which has the form max{ cT x | Ax ≤ b, x 0 }.
14
Reid Andersen, Fan Chung, and Lincoln Lu
To view the maximum short flow as a fractional packing problem, first let G(u, v) be a subgraph containing all short paths from u to v. For example, we may take G(u, v) = N/2 (u) ∪ N/2 (v). Let A be the incidence matrix where each row represents an edge in G(u, v) and each column represents a short path from u to v. Let b = φ, and c = 1. Using the algorithm of Garg and K¨ onemann in [5] for general fractional packing problems, one can obtain a (1 − )−2 -approximation to the maximum short flow in time O(M 2 1 log1+ M ), where M is the number of edges in G(u, v).
3
Extracting the Local Graph
For a given graph, we wish to extract the largest (f, )-local subgraph. We define Lf, (G) to be the union of all (f, )-local subgraphs in G. By definition, the union of two (f, )-local graphs is an (f, )-local graph, and so Lf, (G) is in fact the unique largest (f, )-local subgraph in G. We remark that Lf, (G) is not necessarily connected. The simple greedy algorithm Extract computes Lf, (G) in any graph G using O(m2 ) max-short-flow computations, where m is the number of edges in G. The number of max-short-flow computations can be reduced by using a standard random sampling approach if we are willing to accept approximate local graphs. We say L is an α-approximate (f, )-local graph if L(f, ) ⊆ L, and at most an α-fraction of the edges in L are not (f, )-connected. The algorithm Approximate Extract computes a series of approximate local graphs. Extract: Input: G,f , If there is an edge e = (u, v) ∈ G where u,v are not (f, )-connected in G, remove e from G. When no further edges can be removed, output G. Approximate Extract: Input: G,,{f1 ≤ · · · ≤ fk } Let m be the number of edges in G. For i = 1 . . . k: Repeat until no edge is removed for α1 log mk δ consecutive attempts: Pick an edge e = (u, v) from G uniformly at random. If u, v are not (fi , )-connected, remove (u, v) from G. Let Li = G, reset m to be the number of edges in Li , and proceed to compute Li+1 . Stop when graphs L1 ⊇ · · · ⊇ Lk have been output. Since at most m edges are removed from G and there are at most α1 log mk δ attempted removals for every edge removed, Approximate Extract performs at mk most m α log δ max-short-flow computations. Theorem 1. Given G, , and {f1 ≤ · · · ≤ fk }, let L1 ⊇ · · · ⊇ Lk be the output of Approximate Extract. With probability at least 1 − δ, each of the graphs Li is an α-approximate (fi , )-local graph.
Drawing Power Law Graphs
15
Proof: Given i ∈ [1, k], let e1 . . . eJ be the edges removed from Li−1 to obtain Li . Let mi be the number of edges in Li−1 and note that J ≤ mi . Let Tj be the number of attempts between the removal of the ej−1 and ej . If Li is not an α-approximate local graph, then some Tj must be at least α1 log mδi k when at least an α-fraction of the edges remaining in Li were not (fi , )-connected. For a given j, this occurs with probability at most (1 − α)Tj ≤ e−αTj ≤ e− log
mi k δ
≤ δm−1 i /k.
Since J ≤ mi , the probability that this occurs for any Tj is at most δ/k. The probability that a bad Tj occurs for any Li is at most δ, and the result follows.
4
An Algorithm for Drawing Power Law Graphs
In this section we describe a framework for producing drawings of power law graphs that reflect local connectivity. In the algorithm Local Draw below, a local subgraph is used to determine the layout of the vertices. Our algorithm uses as a subroutine a standard force-directed drawing method which we describe in section 4.2, but other methods can be used in its place. The algorithm is motivated by the structure of power law graphs, but can be applied to general graphs as well. 4.1
The Algorithm
Local Draw: Given an input graph G, compute the local graph Lf, for some choice of f and using Extract or Approximate Extract. Let Πf, be the partition induced by the connected components C1 . . . Ck of Lf, , and let Q be the quotient graph of G with respect to this partition. Use the force-based drawing algorithm to produce drawings of each component C1 . . . Ck and Q separately. To combine into a single drawing, let q1 . . . qk be the coordinates of the vertices in Q corresponding to C1 . . . Ck , and let 1 ri = min qi − qj . 2 j Scale each drawing of Ci by ri , and place at location qi to create a new drawing which only contains edges in Lf, . Apply the force-based algorithm to this drawing to determine the final layout of the vertices, and then add back the edges in G \ Lf, . 4.2
A Force-Directed Drawing Method
Our algorithms use a standard force-based drawing method, modified for use on graphs with vertex weights w(v) and edge weights φ(e). We define a repulsive force between every pair of vertices, where the force acting on vertex u due to vertex v is 1 u−v w(u)w(v) Ru,v = 2 n u − v 2
16
Reid Andersen, Fan Chung, and Lincoln Lu
Each edge also acts as a spring, with the force on a vertex u from the edge e = (u, v) defined to be Su,v =
1 (v − u)φ(e) n
To keep the drawing in a bounded area, we place all vertices within the unit circle and define a force between each vertex and the boundary of the circle. Bu = −
u 1 w(u)
u (1 − u )
The standard force-based approach is to compute the sum of the forces acting on each vertex and move in the resulting direction at each time step.
Fig. 1. Local Draw applied to the giant component of random graph G(n, p) with n = 500 and p = 0.004.
Fig. 2. Local Draw applied to the induced subgraph of G: the collaboration graph on authors with Erd˝ os number exactly 2.
Fig. 3. The quotient graph of G.
Fig. 4. The largest connected component in the local graph of G, of size 15.
Drawing Power Law Graphs
5
17
Implementation and Examples
We have implemented Extract and Local Draw and experimented on several examples. Figure 1 is a drawing of a sparse random graph, generated from the Erd˝ os-R´enyi model G(n, p) with n = 500 and p = .004. Jerry Grossman [6] has graciously provided data from a collaboration graph of the second kind, where each vertex represents an author and each edge represents a joint paper with two authors. Our example graph G is the largest component of the induced subgraph on authors with Erd˝ os number exactly 2. This graph contains 834 vertices. We applied Local Draw to G with parameters (f = 2, = 3), obtaining the drawing in Figure 2, and in the process obtaining the quotient graph shown in Figure 3 and the local graph. The largest connected component of the local graph is shown in Figure 4.
References 1. R. Andersen, F. Chung and L. Lu, Analyzing the small world phenomenon using a hybrid model with local network flow, Proceedings of the Third Workshop on Algorithms and Models for the Web-Graph (2004). 2. F. Chung and L. Lu, Average distances in random graphs with given expected degree sequences, Proceedings of National Academy of Science, 99 (2002). 3. F. Chung and L. Lu, The small world phenomenon in hybrid power law graphs Complex Networks, (Eds. E. Ben-Naim et. al.), Springer-Verlag, (2004). 4. A. Fabrikant, E. Koutsoupias and C. H. Papadimitriou, Heuristically optimized trade-offs: a new paradigm for power laws in the Internet, STOC 2002. 5. N. Garg, J. K¨ onemann, Faster and simpler algorithms for multicommodity flow and other fractional packing problems. Technical Report, Max-Planck-Institut fur Informatik, Saarbrucken, Germany (1997). 6. Jerry Grossman, Patrick Ion, and Rodrigo De Castro, Facts about Erd˝ os Numbers and the Collaboration Graph, http://www.oakland.edu/∼grossman/trivia.html. 7. J. Kleinberg, The small-world phenomenon: An algorithmic perspective, Proc. 32nd ACM Symposium on Theory of Computing, 2000. 8. M. Mitzenmacher, A Brief History of Generative Models for Power Law and Lognormal Distributions, Internet Math. 1 (2003), no. 2.
Hexagonal Grid Drawings: Algorithms and Lower Bounds Shabnam Aziza and Therese Biedl School of Computer Science, University of Waterloo, Waterloo, Ontario N2L 3G1, Canada {saziza,biedl}@uwaterloo.ca
Abstract. We study drawings of graphs of maximum degree six on the hexagonal (triangular) grid, with the main focus of keeping the number of bends small. We give algorithms that achieve 3.5n + 3.5 bends for all simple graphs. We also prove optimal lower bounds on the number of bends for K7 , and give asymptotic lower bounds for graph classes of varying connectivity.
1
Introduction
There are numerous algorithms to draw 4-graphs (graphs of maximum degree of at most four) on the 2D rectangular (orthogonal) grid [3, 8–11]. All 4-graphs can be drawn with at most 2n + 2 bends [3], and there are arbitrarily large graphs that need 11 6 n bends [1]. In 3D, orthogonal drawings exist for all 6-graphs [4, 13–15]. In this paper, we study hexagonal drawings, which are embeddings of 6-graphs in the 2D hexagonal grid. We consider the hexagonal grid to consist of horizontal gridlines (rows), vertical gridlines (columns) and diagonals; this is the same grid as the “standard” hexagonal grid (with 60◦ angles) after a shear in the x-direction. See also Fig. 1. Only few results are known for hexagonal drawings. The algorithm by Tamassia [10] to obtain bend-minimum orthogonal drawings of planar graphs can be extended to the hexagonal grid as well. Kant [6] showed how to draw 3-connected
(a)
(b)
(c)
(d)
Fig. 1. Different types of grid drawings of K5 : (a) 2D orthogonal, (b) 3D orthogonal, (c) hexagonal with 60◦ angles, (d) hexagonal with diagonals.
Research supported by NSERC. These results appeared as part of the MMath thesis of the first author at University of Waterloo.
J. Pach (Ed.): GD 2004, LNCS 3383, pp. 18–24, 2004. c Springer-Verlag Berlin Heidelberg 2004
Hexagonal Grid Drawings: Algorithms and Lower Bounds
19
cubic planar graphs on the hexagonal grid. Tollis [12] uses a similar grid called tri-hexagonal grid for wiring VLSI layouts. In this paper, we provide an algorithm that draws all graphs with maximum degree 6 on the hexagonal grid, and achieves 3.5n + 3.5 bends. We also study lower bounds on the number of bends for K7 and for larger graphs.
2
Algorithms
Our algorithms are inspired by the algorithm of Biedl and Kant [3] for drawing biconnected 4-graphs on the orthogonal grid. They use a vertex ordering known as st-ordering, which is an ordering v1 , v2 , . . . , vn of the vertices such that each vi , 2 ≤ i ≤ n− 1, has at least one predecessor, i.e., a neighbour vh with h < i and at least one successor, i.e., a neighbour vj with j > i. The edges from vi to its predecessors [successors] are called incoming [outgoing] edges of vi . The number of incoming [outgoing] edges of vertex vi are denoted by indeg(vi ) [outdeg(vi )]. For any biconnected graph, and any two vertices s, t, an st-ordering exists with v1 = s and vn = t [7] and can be computed in linear time [5]. Assume from now on that G is a biconnected 6-graph without loops, and v1 , . . . , vn is an st-ordering of G. Let Gj be the graph induced by v1 , . . . , vj . An edge (vi , vk ) with i ≤ j < k is called an unfinished edge of Gj . For j = 1, . . . , n, we create a drawing of Gj such that every unfinished edge ends in a free ray, i.e., every unfinished edge is drawn up to a point, and there exists a ray (along a grid line) from this point that does not contain any vertex or edge segment in it, and is the free ray for only one unfinished edge. These rays must go in direction north (N), north-west (NW) or west (W). Fig. 2 shows a suitable drawing of G1 and illustrates the invariant. rays of unfinished edges
drawing of Gj
Fig. 2. Embedding of the first vertex, and the maintained invariant.
Now assume that we have a suitable drawing of Gj−1 . If (vi , vj ) is an incoming edge of vj , then there is an unfinished edge at vi , and hence a ray associated with it. (We choose one arbitrarily if there is more than one ray.) We add (if needed) bends in these rays, and new line segments in new grid lines that are fully outside the drawing of Gj−1 in such a way that all incoming edges meet in one grid point at which we place vj . Then we assign rays to outgoing edges of vj , adding more bends (if needed) to enforce that rays go into one of the three allowed directions. The specific drawing of vj depends on the number and directions of rays of incoming edges of vj . There are many cases here; Fig. 3 shows some of them. Studying all cases yields that each vertex v = v1 , vn needs at most indeg(v)+1 bends, which leads to a bound of m + n + O(1) ≤ 4n + O(1). But this is not
20
Shabnam Aziza and Therese Biedl 1 0 0 1 0 1
1 0 0 1
1 0 0 1 0 1
11 00 00 11 1 0 0 1 0 1
# of bends= 2
# of bends= 3
indegree 1
indegree 2
# of bends= 3
indegree 3
# of bends= 5
indegree 4
# of bends= 6
indegree 5
Fig. 3. Some of the cases of embedding vertices. Dotted lines indicate new grid lines.
tight. To obtain a better bound on the number of bends, we developed a potential function argument, which to our knowledge is a new idea in graph drawing. We assign potential pd , d ∈ {N, N W, W } to each unfinished edge whose free ray ends in direction d. Let φ(j) be the sum of the potentials of the drawing of Gj . Then the amortized cost of a vertex vj , 1 ≤ j ≤ n, is, cˆ(vj ) = number of bends added when placing vertex vj + φ(j) − φ(j − 1). Hence the total number of bends is v∈V cˆ(v). Theorem 1. Any biconnected 6-graph without loops has a hexagonal grid drawing with at most 3.5n + 3.5 bends. Proof. We choose as potentials pN = pW = 58 and pN W = 18 . The amortized cost at vi is determined uniquely from the number of bends needed when placing vi and the directions of the incoming and outgoing edges. Let cˆi be the maximum amortized cost of a vertex with indegree i. Going through the cases, one obtains cˆ0 = 5.25, cˆ1 = 3.5, cˆ2 = 3.25, cˆ3 = 3, cˆ4 = 3.25, cˆ5 = 3.5 and cˆ6 = 5.25. (The cases in Fig. 3 are some of those where these bounds are tight.) So the number of bends is v∈V
cˆ(v) ≤
6
cˆi ni = 5.25n0+3.5n1 +3.25n2+3n3 +3.25n4 +3.5n5 +5.25n6 .
i=0
Since n0 = 1 and n6 ≤ 1 for an st-ordering of a 6-graph, this yields the desired bound. Our algorithm can be expanded with similar techniques as in [3] to handle graphs that are not biconnected or that have loops. The proofs of the following theorems are omitted. Theorem 2. Any connected 6-graph without loops with n ≥ 3 can be drawn on the hexagonal grid with at most 4.2n bends. Theorem 3. Every simple connected 6-graph can be drawn on the hexagonal grid with at most 3.5n + 3.5 bends. Theorem 4. Any biconnected 6-graph can be drawn on the hexagonal grid with at most 3.5n + 3.5 + 14 bends, where is the number of loops in the graph.
Hexagonal Grid Drawings: Algorithms and Lower Bounds
21
The area of our construction may be exponential, since in some cases we add O(w) new rows to a drawing of width w, or O(h) many columns to a drawing of height h. The area can be reduced to quadratic if we allow more bends. Theorem 5. Every biconnected 6-graph without loops can be drawn on the hexagonal grid with at most 6n + 2 bends and area O(n2 ).
3
Lower Bounds
We now turn to lower bounds on the number of bends of hexagonal grid drawings. We start with K7 , the complete graph on 7 vertices. This graph requires 20 bends in a 3D orthogonal layout [14]. In the hexagonal grid, it can be drawn with 18 bends (see Fig. 4), and as we show now, this bound is tight. So assume that an arbitrary drawing of K7 is fixed. Let r be the number of rows that are truly used, i.e., they contain either a vertex or a segment of an edge. Similarly let c and d be the number of truly used columns and diagonals. We first show r + c + d ≥ 18, for which by symmetry it suffices to show r + d ≥ 12. Lemma 1. In any hexagonal drawing of K7 , r + d ≥ 12. Proof. We use a cut-argument similar as in [1]. A (vertical) cut is a vertical line that does not coincide with a column. An (x, y)-cut is a cut with x vertices on one side and y vertices on the other. The edges between vertices on different sides are called cut-edges. Each cut-edge has at least one segment crossed by the cut, and hence truly uses a grid line that crosses the cut (i.e., a row or a diagonal). A (3, 4)-cut in K7 has 12 cut-edges, and hence immediately implies that r + d ≥ 12. However, such a cut need not always exist. We distinguish cases. Assume there is a column c6 with exactly six vertices in it. We consider two cuts; one cut cl immediately to the left of c6 and one cut cr immediately to the right of c6 . We assume that the seventh vertex is to the left of c6 , so cl has 6 cut-edges. Let (u, v) be an edge for which u, v are both in c6 , but not consecutive in c6 . Then (u, v) cannot be drawn as a straight line. We call (u, v) a non-straight edge and note that there are 62 − 5 = 10 non-straight edges. See also Fig. 4. The drawing of each non-straight edge thus must leave column c6 and then return to it. Say it leaves towards the left side, then it crosses the cut cl when it leaves, and crosses the cut cl again when it returns. If a non-straight edges go
Non-straight edge Cut-edge
cl
c6
cr
Fig. 4. K7 drawn with 18 bends, and the case with 6 vertices in the same column.
22
Shabnam Aziza and Therese Biedl
left, then there are therefore at least 2a edge segments that cross cut cl and truly use a row or a diagonal. Since cl also has 6 cut-edges, we have r + d ≥ 2a + 6. The other 10 − a non-straight edges go right and cross cr twice, so r + d ≥ 2(10 − a). Altogether therefore r + d ≥ max{2a + 6, 2(10 − a)}. Since the value of a is unknown, we take the minimum over all possible values, and get r + d ≥ min0≤a≤10 max{2a + 6, 2(10 − a)} = 14. All other cases are treated similarly: we count how many cut-edges are on cl and cr and how many non-straight edges there are, and apply the formula to compute the lower bound on r + d. In all cases, we get r + d ≥ 12. For space reasons, we omit the details of these cases, but list the cases so the reader can verify that all cases have been covered. – – – – – – – –
A column c contains 7 vertices. A column c contains 5 vertices, and there are 2 vertices on one side of c. A column c contains 5 vertices, and there is 1 vertex on each side of c. A column c contains 4 vertices, and there are 3 vertices on one side of c. (In this case cl or cr is a (3, 4)-cut.) A column c contains 4 vertices, and there are 1 or 2 vertices on one side of c. A column c contains 3 vertices, and there are 3 or 4 vertices on one side of c. (In this case cl or cr is a (3, 4)-cut.) A column c contains 3 vertices, and there are 2 vertices on each side of c. All columns contain at most 2 vertices. Applying a scan from left to right, one can show that then there must exist a (3, 4)-cut. 2 We can relate r + c + d to the number of bends, similarly as in [2].
Lemma 2. In a hexagonal drawing of a graph with n vertices and m edges, let b be the number of bends and let r, c, d be the number of truly used rows, columns and diagonals. Then b ≥ r + c + d − 3n + m. Combining this with r + c + d ≥ 18 give the lower bounds for K7 . Theorem 6. Any hexagonal drawing of K7 has at least 18 bends. Using K7 and other small graphs, we can build arbitrarily large graphs that also have a large lower bound on the number of bends, similarly as done in [1] for orthogonal 2D drawings and in [14] for orthogonal 3D drawings. We give the detailed construction for one (illustrative) case. Theorem 7. For any n, there is a 3-connected simple graph on n > n vertices that requires at least 1.87n bends. Proof. The graph for this lower bound is illustrated in the bottom left entry of Table 1. We take an even number c of copies of K7 and place half of them in the first row and half of them in the second row. In each copy of K7 , we subdivide one edge; then we identify the subdivision vertex in the first row with the one in the second row. Also, in each copy we delete an edge (not incident to the subdivision vertex). Then we add an edge between the ith and the ((i mod 2c ) + 1)st copy of K7 in each row.
Hexagonal Grid Drawings: Algorithms and Lower Bounds
23
Table 1. Lower bounds for arbitrarily large graphs. Simple = 2.27n
34 n 15
1-connected K7 _ e
K7 _ e
K7 _ e
1 0 0 1
1 0 0 1
11 00 00 11
K7 _ e
K7 _ e
K7 _ e
15 n 7
2-connected K7 _ e
K7 _ e
28 n 15
3-connected K7 _ e
= 2.14n
Graph with loops 4n
3n
4n
2n
2.5n
K7 _ e
= 1.87n K7 _ e
Multigraph 16 n = 3.2n 5
K7 _ e
1 0 1 0
11 00 11 00
11 00 11 00
K7 _ e
K7 _ e
K7 _ e
Recall that K7 needs 18 bends. Subdividing an edge lowers this to 17 bends, because the subdivision vertex could take the place of a bend. Deleting an edge lowers this to 14 bends since one can show that in any hexagonal drawing, we can add an edge while adding at most 3 bends. Thus each copy needs at least 14 bends, so in total we need at least 28c bends for n = 15c vertices, and the 2 total number of bends is 28n 15 = 1.87n. Similar (and often easier) constructions can be used to obtain lower bounds for various types of graphs and connectivity; see Table 1.
References 1. T. Biedl. New lower bounds for orthogonal drawings. J. Graph Algorithms Appl., 2(7):1–31, 1998. 2. T. Biedl. Relating bends and size in orthogonal graph drawings. Inform. Process. Lett., 65(2):111–115, 1998. 3. T. Biedl and G. Kant. A better heuristic for orthogonal graph drawings. Comput. Geom., 9(3):159–180, 1998. 4. P. Eades, A. Symvonis, and S. Whitesides. Three-dimensional orthogonal graph drawing algorithms. Discrete Appl. Math., 103(1-3):55–87, 2000. 5. S. Even and R. E. Tarjan. Computing an st-numbering. Th. Comput. Sci., 2:339– 344, 1976. 6. G. Kant. Hexagonal grid drawings. In Graph-theoretic Concepts in Computer Science, vol. 657 of Lect. Notes in Comput. Sci., pages 263–276. Springer, 1993. 7. A. Lempel, S. Even, and I. Cederbaum. An algorithm for planarity testing of graphs. In Theory of Graphs (Internat. Sympos., Rome, 1966), pages 215–232. New York, 1967. 8. A. Papakostas and I. G. Tollis. Algorithms for area-efficient orthogonal drawings. Comput. Geom., 9(1-2):83–110, 1998. 9. J. Storer. On minimal-node-cost planar embeddings. Networks, 14(2):181–212, 1984.
24
Shabnam Aziza and Therese Biedl
10. R. Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444, 1987. 11. R. Tamassia and I. G. Tollis. Planar grid embedding in linear time. IEEE Transactions on Circuits and Systems, 36(9):1230–1234, 1989. 12. I. Tollis. Wiring layouts in the tri-hexagonal grid. Constraints, 3(1):87–120, 1998. 13. D. R. Wood. An algorithm for three-dimensional orthogonal graph drawing. In Graph Drawing, volume 1547 of Lecture Notes in Comput. Sci., pages 332–346. Springer, 1998. 14. D. R. Wood. Lower bounds for the number of bends in three-dimensional orthogonal graph drawings. J. Graph Algorithms Appl., 7(1):33–77, 2003. 15. D.R. Wood. Optimal three-dimensional orthogonal graph drawing in the general position model. Th. Comput. Sci., 299(1-3):151–178, 2003.
Improved Bounds for the Number of (≤ k)-Sets, Convex Quadrilaterals, and the Rectilinear Crossing Number of Kn J´ ozsef Balogh1, and Gelasio Salazar2, 1
2
Department of Mathematics, The Ohio State University, Columbus OH 43210 USA
[email protected] IICO-UASLP, Av. Karakorum 1470, Lomas 4ta. Seccion, San Luis Potosi, SLP, Mexico 78210
[email protected] http://cactus.iico.uaslp.mx/~gsalazar
Abstract. We use circular sequences to give an improved lower bound on the minimum number of (≤ k)-sets in a set of points in general position. We then use this to show that if S is a set of n points in general position, then the number (S) of quadrilaterals determined by convex the points in S is at least 0.37553 n4 + O(n3 ). This in turn implies that the rectilinear crossing number cr(Kn ) of the complete graph Kn is at least 0.37553 n4 + O(n3 ). These improved bounds refine results recently ´ obtained by Abrego and Fern´ andez-Merchant, and by Lov´ asz, Vesztergombi, Wagner and Welzl.
1
Introduction
Our aim in this work is to present some selected results and sketches of proofs of our recent work [5] on the use of circular sequences in the problems described in the title. For the reader familiar with the application of circular sequences to these closely related problems, we give in Subsection 1.4 a brief account of what we perceive is the main achievement hereby reported. It is well-known that the rectilinear crossing number cr(Kn ) of the complete graph Kn is closely related to the minimum number (S) of convex quadrilaterals in a set S of n points in general position. Observation 1 For each positive integer n, cr(Kn ) = min (S), |S|=n
with the minimum taken over all point sets S with n elements in general position.
Supported by NSF Grant DMS-0302804. Partially supported by City of Morahalom, Hungary. Supported by FAI-UASLP.
J. Pach (Ed.): GD 2004, LNCS 3383, pp. 25–35, 2004. c Springer-Verlag Berlin Heidelberg 2004
26
J´ ozsef Balogh and Gelasio Salazar
´ Working independently, Abrego and Fern´ andez-Merchant [1], and Lov´ asz, Vesztergombi, Wagner and Welzl [13] recently explored the close connection between (S) and the number η≤k (S) of (≤ k)-sets of S. The following result is implicitly proved in [1], and the connection with (≤ k)-sets was particularly emphasized in [13]. Theorem 1 ([1] and [13]). Let S be a set of n points in the plane in general position. Then n − 2k − 3 η≤k+1 (S) + O(n3 ), (S) = 1≤k k1 (n) := √ than the bounds in (1) and (3) √ (1/162) −71 + 71n + 19n2 − 38n + 19 ≈ 0.465178n + O( n) (see [5]). The full proof of Theorem 5 is given in [5]. We present a sketch of the general ideas in the proof in Section 2. By Observation 2, the refined bound for X≤k (n) given in Theorem 5 immediately implies improved bounds for η≤k (S), for k ≥ k1 (n). Moreover, in view of Theorem 2, Theorem 5 also gives improved bounds for (S), for any set S of n points in general position. The corresponding calculations (which are somewhat tedious but by no means difficult) are sketched in Section 3, where the following is established. Proposition 1. For every positive integer n and every k < n/2, k+2 n n − 2k − 3 · max 3 , F (k + 1, n) ≥ 0.37553 + O(n3 ). 2 4 1≤k