Graph Drawing via Canonical Orders

Similar documents
Tutte s Theorem: How to draw a graph

Ma/CS 6b Class 11: Kuratowski and Coloring

9 About Intersection Graphs

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

From Wikipedia, the free encyclopedia

arxiv: v2 [cs.cg] 3 May 2015

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Kuratowski Notes , Fall 2005, Prof. Peter Shor Revised Fall 2007

Dedicated to Godfried Toussaint on his 60th birthday.

Journal of Graph Algorithms and Applications

Planarity: dual graphs

Lecture 4: Bipartite graphs and planarity

Characterizations of graph classes by forbidden configurations

Planarity. 1 Introduction. 2 Topological Results

Ma/CS 6b Class 4: Matchings in General Graphs

On Graphs Supported by Line Sets

Straight-line drawing of quadrangulations

Discrete Mathematics I So Practice Sheet Solutions 1

Jordan Curves. A curve is a subset of IR 2 of the form

Combinatorial Properties of Triangle-Free Rectangle Arrangements and the Squarability Problem

An Algorithm for Straight-Line Drawing of Planar Graphs 1. D. Harel 2 and M. Sardas 2,3. Graph drawing, Planar graphs, Layout, Visual languages.

Jordan Curves. A curve is a subset of IR 2 of the form

Mock Exam. Juanjo Rué Discrete Mathematics II, Winter Deadline: 14th January 2014 (Tuesday) by 10:00, at the end of the lecture.

The following is a summary, hand-waving certain things which actually should be proven.

List of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,

arxiv: v2 [cs.cg] 28 Jul 2017

Journal of Graph Algorithms and Applications

2 Geometry Solutions

Monotone Paths in Geometric Triangulations

Discrete Wiskunde II. Lecture 6: Planar Graphs

Straight-line Drawings of 1-planar Graphs

Math 777 Graph Theory, Spring, 2006 Lecture Note 1 Planar graphs Week 1 Weak 2

Intersection-Link Representations of Graphs

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) We will be interested in s.t. ( )~1. To gain some intuition note ( )

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) 2 ( ) ( )

Partitions and Packings of Complete Geometric Graphs with Plane Spanning Double Stars and Paths

Drawings of planar graphs with few slopes and segments

Chordal Graphs as Intersection Graphs of Pseudosegments

Matching Theory. Figure 1: Is this graph bipartite?

AN INTRODUCTION TO ORIENTATIONS ON MAPS 2nd lecture May, 16th 2017

Straight-line Drawability of Embedded Graphs

Morphing planar triangulations

DRAWING NON-PLANAR GRAPHS WITH CROSSING-FREE SUBGRAPHS*

List Coloring Graphs

CS 2336 Discrete Mathematics

Drawing planar graphs with prescribed face areas

Fixed-Parameter Algorithms, IA166

On Cyclically Orientable Graphs

6 Planar Graphs. 6.1 Euler's Formula

Small Survey on Perfect Graphs

Two trees which are self-intersecting when drawn simultaneously

INF562, Lecture 4: Geometric and combinatorial properties of planar graphs

Universal Point Subsets for Planar Graphs

Computing Cartograms with Optimal Complexity

Partitions of Graphs into Trees

Optimal Polygonal Representation of Planar Graphs

Planar Graphs, Planarity Testing and Embedding

DRAWING PLANAR GRAPHS WITH PRESCRIBED FACE AREAS

5 Graphs

Bar k-visibility Graphs

Math 443/543 Graph Theory Notes 11: Graph minors and Kuratowski s Theorem

Planar graphs. Chapter 8

Lecture 20 : Trees DRAFT

Straight-Line Drawings of 2-Outerplanar Graphs on Two Curves

Straight-Line Drawing Algorithms for Hierarchical Graphs and Clustered Graphs

Computer Graphics: Two Dimensional Viewing

Transversal structures on triangulations: a combinatorial study and straight-line drawings

HW Graph Theory Name (andrewid) - X. 1: Draw K 7 on a torus with no edge crossings.

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, Roma, Italy

Visualisierung von Graphen

2. Lecture notes on non-bipartite matching

K 4,4 e Has No Finite Planar Cover

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Computing Radial Drawings on the Minimum Number of Circles

Simultaneous Diagonal Flips in Plane Triangulations

FEDOR V. FOMIN. Lectures on treewidth. The Parameterized Complexity Summer School 1-3 September 2017 Vienna, Austria

Polygon Partitioning. Lecture03

Drawing Planar Graphs

The Graphs of Triangulations of Polygons

Notes in Computational Geometry Voronoi Diagrams

Testing Bipartiteness of Geometric Intersection Graphs David Eppstein

6.854J / J Advanced Algorithms Fall 2008

Treewidth and graph minors

Computer Graphics. The Two-Dimensional Viewing. Somsak Walairacht, Computer Engineering, KMITL

On the Page Number of Upward Planar Directed Acyclic Graphs

The Topology of Bendless Orthogonal Three-Dimensional Graph Drawing. David Eppstein Computer Science Dept. Univ. of California, Irvine

Graphs and Discrete Structures

Chapel Hill Math Circle: Symmetry and Fractals

Algorithms for Graph Visualization

November 14, Planar Graphs. William T. Trotter.

Week 7 Convex Hulls in 3D

ECS 20 Lecture 17b = Discussion D8 Fall Nov 2013 Phil Rogaway

Orientations of Planar Graphs

Bar k-visibility Graphs: Bounds on the Number of Edges, Chromatic Number, and Thickness

CHAPTER 2 REVIEW COORDINATE GEOMETRY MATH Warm-Up: See Solved Homework questions. 2.2 Cartesian coordinate system

Graph theory - solutions to problem set 1

Lecture 5: Dual graphs and algebraic duality

CS6100: Topics in Design and Analysis of Algorithms

Transcription:

Algorithms for Graph Visualization Summer Semester 2016 Lecture # 3 Graph Drawing via Canonical Orders (Partly based on lecture slides by Philipp Kindermann & Alexander Wolff) 1

Outline Planar Graphs: Background The Canonical Order of a Planar Graph Straight-line Drawing using a Canonical Order Geometric Representations using Canonical Orders 2

Planar Graphs: basics A graph is planar when its vertices and edges can be mapped to points and curves in R 2 such that the curves are non-crossing. A graph is plane when it is given with an embedding of its vertices and edges in R 2 which certifies its planarity. Embeddings of K 4 Non-planar graphs K 5 and K 3,3. How do we define the equivalence of planar embeddings? By the sets of inner faces and the outerface. 3

Characterizations, Recognition, and Drawings 1. [Kuratowski 1930: Sur le problème des courbes gauches en topologie] A graph is planar iff it contains neither a K 5 nor a K 3,3 minor. 2. [Hopcroft & Tarjan, J. ACM 1974] For a graph G with n vertices, there is an O(n) time algorithm to test if G is planar. 3. [Wagner 1936, Fáry 1948, Stein 1951] Every planar graph has an embedding where the edges are straight-lines. 4. [Koebe 1936: Kontaktprobleme der konformen Abbildung] Every planar graph is a circle contact graph (coin graph). (this implies 3). 4

Characterizations, Recognition, and Drawings (cont) 1. [Tutte 1963: How to draw a graph] Every 3-connected planar has an embedding with convex polygons as its faces (i.e., implies straight-lines). Idea: place vertices in the barycentre of neighbours. Drawback: requires large grids. 2. [de Fraysseix, Pack, Pollack 1988] Every plane triangulation can be drawn with striaght-lines such that the vertices reside on a (2n 4) (n 2) grid. n 2 2n 4 5

We focus on triangulations. plane triangulation is a plane graph where every face is a triangle. plane inner triangulation is a plane graph where every face except the outerface is a triangle.... But why?? Easy to construct from any plane graph. Many ways to triangulate each face: Triangulations are precisely the maximal planar graphs, i.e., every planar graph is a subgraph of one such graph. Can we nicely describe all triangulations? 6

How to construct a plane triangulation? Start with a single edge u 1 u 2. Let G 2 be this graph. Add a new vertex u i+1 to G i so that the neighbours of u i+1 are on the outerface of G i. Let G i+1 be this new graph. 1. Is G i a triangulation? No, the neighbours of ui+1 need to be a path. No, ui+1 also needs at least two neighbours in G i. No, the last vertex vn needs to cover the outerface of G n 1. Yes! 2. Do we get all plane triangulations? Yes! But how can we prove this? (first we formalize the canonical order) 7

Canonical Order A canonical order is a permutation v 1,..., v n of the vertex set of a plane graph G such that: v i+1 has at least two neighbours in G i. The neighbours of v i+1 are consecutive in: C i = (v 1 = w 1, w 2,..., w k 1, w k = v 2 ). The neighbourhood of v n is C n 1. 8

Example: How to find a Canonical Order Idea: Start from the last vertex and find a peeling order. 16 9 12 10 8 7 15 3 14 13 11 5 4 6 1 2 9

Lemma: Every Plane Inner Triangulation Has a Canonical Order (CO) For G = (V, E), proceed by induction on V. Base Case: V = 3 (i.e., G Triangle) Inductive Case: V > 3, assume we have a CO for inner plane triangulations with V 1 vertices. Def: A chord of G is an edge connecting chord non-consecutive vertices on G s outerface. Claim 1: If G has a vertex v on its outerface which does not belong to a chord, then G \ v is an inner plane triangulation. Claim 2: G has a vertex on its outerface which does not belong to a chord. Proof of Claim 2: The chords are nested, i.e., some chord has no chord above it. This top chord has a vertex above it. qed. 10

Canonical Order: Algorithm forall the v V do chords(v) 0; out(v) false; mark(v) false; out(v 1 ), out(v 2 ), out(v n ) T; for k = n to 3 do pick v v 1, v 2 with mark(v) = F, out(v) = T, chords(v) = 0; v k v; mark(v) T; (w 1 = v 1, w 2,..., w t 1, w t = v 2 ) Outerface(G k 1 ); (w p,..., w q ) unmarked neighbours of v k ; for i = p to q do out(w i ) T; update chords( ) for w p,..., w q and their neighbours; chords(v) is the number of chords incident to v. mark(v) = T v has been picked. out(v)= T v is on the outerface of G k. Time: O(n) 11

The main idea: Invariant: G k 1 has been drawn so that: v 1 is at (0, 0) and v 2 is at (2k 6, 0). The outerface forms an x-monotone curve with slopes ±1. Why is it a grid point? G k 1 v 1 L(v v 2 k ) 12

Example Shift Algorithm +1 +2 16 9 15 10 8 7 13 3 14 12 11 5 4 6 (n 2,n 2) 1 2 (0,0) (2n 4,0) 13

How do we define the lower set L(v)? w p v k w q Each inner node is covered exactly once. In G, this cover relation defines a rooted tree. w1 w 2 G k 1 L(w i ) Lemma Applying the shift algorithm maintains monotone x-coordinates of the outerface. w t 1 w t In each G i (i {2,..., n 1}), it defines a forest where the outerface contains the roots. The trees in this forest are the bags shown here. 14

The Shift Method: de Fraysseix, Pach und Pollack v 1,..., v n : a canonical order of G; for i = 1 to n do L(v i ) {v i }; P(v 1 ) (0, 0); P(v 2 ) (2, 0); P(v 3 ) (1, 1); for k = 4 to n do Let w 1 = v 1, w 2,..., w t 1, w t = v 2 be the outerface of G k 1 ; Let w p,..., w q be the neighbours of v k ; for v q 1 j=p+1 L(w j) do x(v) x(v) + 1 ; for v t j=q L(w j) do x(v) x(v) + 2 ; P(v i ) intersection point of the lines with slope ±1 from P(w p ) and P(w q ) ; L(v i ) = q 1 j=p+1 L(w j) {v i } ; Timing: O(n 2 ). Can we do it faster? 15

Linear Time Shifting Idea 1: To compute x(v k ), y(v k ), we only need: the y-coordinates of w p and w q and the difference x(w q ) x(w p ). Idea 2: Instead of storing explicit x-coordinates we store certain x differences. v k w w p+ 1 w q 1 p w q w 3 w 2 v 1 = w 1 v 2 = w t x(v k ) = 1 2 (x(w q) + x(w p ) + y(w q ) y(w p )) (1) y(v k ) = 1 2 (x(w q) x(w p ) + y(w q ) + y(w p )) (2) x(v k ) x(w p ) = 1 2 (x(w q) x(w p ) + y(w q ) y(w p )) (3) 16

Linear Time Shifting Idea 2: Instead of storing explicit x-coordinates we store certain x differences. Namely, the edges from this augmented version of the cover tree. 15 14 13 10 12 11 9 6 8 7 5 3 4 1 2 8 7 1 9 10 3 15 13 14 12 4 11 5 6 2 17

Linear Time Shifting To update the binary tree according to a new vertex v k In the binary tree, we need the y(v k ) and the x differences from v k to its covered neighbour w p+1 and to its end neighbours w p and w q. Compute y(v k ) with (2), and x (v k, w p ) with (3). x (v k, w q ) = x (w p, w q ) x (v k, w p ), and x (v k, v p+1 ) = x (w p, w p+1 ) - x (v k, w p ). v k w w p+ 1 w q 1 p w q w 3 w 2 v 1 = w 1 v 2 = w t 18

Intersection Representations of Graphs Definition For a collection S of sets S 1,..., S n, the intersection graph G(S) of S has vertex set S and edge set {S i S j : i, j {1,..., n}, i j, and S i S j }. We call S an intersection representation of G(S). http://upload.wikimedia.org/wikipedia/commons/e/e9/intersection_ graph.gif Does every graph have an intersection representation? 19

Contact Representations of Graphs A collection of interiorly disjoint objects S = {S 1,..., S n } is called a contact representation of its intersection graph G(S). Some object-types: circles, line segments, triangles, rectangles,... What about the domain? 2D, 3D, higher dimension, non-orientable?... Is the intersection graph of a contact representation always planar? No. Not even for planar object-types! Which object-types can be used to represent all planar graphs? 20

Planar Graphs Contact Disk [Koebe 1936] Contact Triangles and T-shapes [de Fraysseix, Ossona de Mendez, Rosenstiehl 1994] Side Contact of 3D Boxes [Thomassen 1986] Bipartite Planar = Axis-aligned Segment contact [Hartman, Newman, Ziv 1991; de Fraysseix, Ossona de Mendez, Pach 1994] and many more! 21

Triangulating for respresentations Goal: Prove that all planar graphs have a intersection/contact representation by some object-type T. If we are given a plane graph, there are many ways to triangulate it by adding edges or vertices. Recall, our previous triangulation picture: What is best for our goal? Adding vertices. Lemma For any given object-type T, if every planar triangulation has an intersection representation using T -type objects, then every planar graph also can be represented using T -type objects. 22

Intersection Representations of Planar Graphs Lemma For any given object-type T, if every planar triangulation has an intersection representation using T -type objects, then every planar graph also can be represented using T -type objects. Proof Start with a planar graph G and triangulate G to get G by adding one dummy vertex for each face. Now, we have a T -type intersection representation R of G. Remove the objects corresponding to dummy objects from R and now we have R which represents precisely G. The more general property we are exploiting is the fact that intersection classes of graphs are hereditary, i.e., closed under the taking of induced subgraphs. 23

T-contact and Triangle-contact Representations Example Representations: Idea: Use the canonical order. Notice any interesting invariant about the two representations? Did something change?? Observations: The base triangle or T-shape is precisely its position in the canonical order. The highest point is precisely the base of its cover neighbour from above. 24

T-contact and Triangle-contact Systems Using the canonical order, we can generate a right-triangle contact representation. Note: we also get a T-contact representation. 16 15 14 13 12 10 11 16 7 4 5 6 9 15 10 8 7 13 3 14 12 11 5 4 6 3 1 2 2 1 25

Schnyder Realizers......... partition of the internal edges into three spanning trees every vertex has out-degree exactly one in T 1, T 2 and T 3 vertex rule: order of edges: entering T 1, leaving T 2, entering T 3, leaving T 1, entering T 2, leaving T 3. 26

Schnyder Realizers Cont. T 1 T 2 T 3 3 edge-disjoint spanning trees T 1, T 2, T 3 cover G. T 1, T 2, T 3 rooted at external vertices of G. 27

Schnyder Realizers, Canonical Orders, and Representations v 1 v 1 v n (a) v 2 v 2 v n (b) (c) v n=8 v 7 v 6 v 5 v 4 v 3 v 1 v 2 (d) (e) (f) 28

Exercises 1. Canonical Orders: 1.1 Can you describe a special canonical order to build precisely the maximal outerplane graphs (i.e., outerplane inner triangulations)? (hint: how many neighbours can v i have in G i?) 1.2 Can you describe a variation on the canonical order to build precisely the maximal biparatite plane graphs (i.e., every face has 4 vertices)? 2. Contact Representations: 2.1 Show that every maximal outerplane graphs has a contact representation by: (i) rectangles; (ii) squares. 2.2 Show that every maximal bipartite plane graph has a contact representation by: (i) rectangles; (ii) vertical and horizontal line segments. 2.3 Show that there is a planar graph which does not have a contact representation by line segments. Note: here we do not restrict the slopes on the line segments in any way. Hint: how many edges can there be in the intersection graph of such a contact representation? 29