Application of SPQR-Trees in the Planarization Approach for Drawing Graphs

Total Page:16

File Type:pdf, Size:1020Kb

Application of SPQR-Trees in the Planarization Approach for Drawing Graphs Application of SPQR-Trees in the Planarization Approach for Drawing Graphs Dissertation zur Erlangung des Grades eines Doktors der Naturwissenschaften der Technischen Universität Dortmund an der Fakultät für Informatik von Carsten Gutwenger Dortmund 2010 Tag der mündlichen Prüfung: 20.09.2010 Dekan: Prof. Dr. Peter Buchholz Gutachter: Prof. Dr. Petra Mutzel, Technische Universität Dortmund Prof. Dr. Peter Eades, University of Sydney To my daughter Alexandra. i ii Contents Abstract . vii Zusammenfassung . viii Acknowledgements . ix 1 Introduction 1 1.1 Organization of this Thesis . .4 1.2 Corresponding Publications . .5 1.3 Related Work . .6 2 Preliminaries 7 2.1 Undirected Graphs . .7 2.1.1 Paths and Cycles . .8 2.1.2 Connectivity . .8 2.1.3 Minimum Cuts . .9 2.2 Directed Graphs . .9 2.2.1 Rooted Trees . .9 2.2.2 Depth-First Search and DFS-Trees . 10 2.3 Planar Graphs and Drawings . 11 2.3.1 Graph Embeddings . 11 2.3.2 The Dual Graph . 12 2.3.3 Non-planarity Measures . 13 2.4 The Planarization Method . 13 2.4.1 Planar Subgraphs . 14 2.4.2 Edge Insertion . 17 2.5 Artificial Graphs . 19 3 Graph Decomposition 21 3.1 Blocks and BC-Trees . 22 3.1.1 Finding Blocks . 22 3.2 Triconnected Components . 24 3.3 SPQR-Trees . 31 3.4 Linear-Time Construction of SPQR-Trees . 39 3.4.1 Split Components . 40 3.4.2 Primal Idea . 42 3.4.3 Computing SPQR-Trees . 44 3.4.4 Finding Separation Pairs . 46 iii 3.4.5 Finding Split Components . 58 3.4.6 Corrections on the Hopcroft and Tarjan Algorithm . 61 3.4.7 Computational Experiments . 63 4 Crossing Minimization 73 4.1 The One-Edge Insertion Problem . 74 4.1.1 Traversing Costs . 76 4.1.2 Biconnected Graphs . 78 4.1.3 General Graphs . 84 4.1.4 Near-Planar Graphs . 86 4.2 Crossing Minimization Heuristics . 88 4.2.1 Preprocessing . 89 4.2.2 Planar Subgraphs . 96 4.2.3 Edge Re-Insertion . 97 4.3 Experimental Analysis . 100 4.3.1 Results for the Rome Graphs . 102 4.3.2 Results of the Artificial Graphs . 122 4.3.3 Summary . 124 5 Graph Embedding 127 5.1 Maximum External Face . 131 5.1.1 Biconnected Graphs . 132 5.1.2 Connected Graphs . 138 5.2 Minimum Block-Nesting Depth . 141 5.3 Minimum Block-Nesting Depth and Maximum External Face . 146 5.4 Experimental Analysis . 147 5.4.1 The Rome Graphs . 148 5.4.2 The Block Graphs . 149 5.4.3 Summary . 153 6 Embedding Constraints 155 6.1 ec-Constraints and ec-Planarity . 157 6.2 ec-Expansion . 158 6.2.1 Construction of the ec-Expansion . 158 6.2.2 ec-Expansion and ec-Planar Embeddings . 159 6.3 ec-Planarity Testing . 160 6.4 ec-Edge Insertion . 163 6.4.1 ec-Edge Insertion Paths and ec-Traversing Costs . 163 6.4.2 The Algorithm for Biconnected Graphs . 164 6.4.3 Correctness and Optimality . 168 6.4.4 Generalization to Connected Graphs . 171 6.5 Summary and Discussion . 173 7 Conclusion 175 Bibliography 179 iv Index 191 v vi Abstract The planarization method is the most successful practical approach for minimiz- ing the number of crossings in a drawing of a graph and, when used as the first step of the topology-shape-metrics approach, one of the best methods to draw sparse graphs in general. In this thesis, we apply BC- and SPQR-trees, that is, data structures for decomposing a graph with respect to its bi- and triconnected components, for improving the planarization method in several aspects. First of all, we present a corrected version of a linear-time algorithm for find- ing the triconnected components of a graph and apply it to SPQR-trees, thus giving the first correct linear-time implementation for constructing SPQR-trees. Then, we apply BC- and SPQR-trees for solving the one-edge insertion problem (OEIP) in linear time. The OEIP can be stated as follows: Given a planar graph G and two vertices v,w in G , find an embedding of G in which we can draw the edge (v,w ) with a minimum number of crossings. Our algorithm thus solves a long-standing open problem in graph drawing. Applying the OEIP within the pla- narization approach already improves this crossing minimization method sub- stantially. Additionally, we introduce further pre- and postprocessing methods and experimentally analyze their performance with a well-known benchmark set of graphs, as well as a new one containing graphs with known crossing numbers. Our study shows that the crossing minimization heuristic comes very close to the optimal results in most cases, or even finds the optimum. Apart from being a tool for crossing minimization, the planarization method also provides a planar embedding which is used as input for a planar graph draw- ing algorithm. However, the choice of the planar embedding is essential for the quality of the resulting drawing, for example, with respect to number of bends or total edge length. We propose properties of good planar embeddings, namely a minimal block-nesting depth and an external face of maximum degree, and present linear-time algorithms for computing such planar embeddings. Experi- mental evaluations suggest that using such embeddings can improve the quality of the resulting layouts. Finally, we extend the planarization method by incorporating embedding con- straints, that is, constraints imposed on the order of incident edges around a ver- tex. Such constraints typically occur in practical applications; for example, we can compute planar embeddings respecting side constraints (each incident edge is assigned to one of the four sides of the vertex) or port constraints. We give linear-time algorithms for both planarity testing and edge insertion with embed- ding constraints, thus yielding the same asymptotic running times as in the un- constrained case. vii Zusammenfassung Die Planarisierungsmethode ist in der Praxis der erfolgreichste Ansatz zur Mini- mierung von Kreuzungen in Zeichnungen von Graphen. Sie wird insbesondere auch als erster Schritt im so genannten Topology-Shapes-Metrics-Verfahren ver- wendet, was damit eines der besten Verfahren zum Zeichnen von dünnen Gra- phen darstellt. In dieser Doktorarbeit benutzen wir BC- und SPQR-Bäume — Da- tenstrukturen zur Zerlegung eines Graphen in seine Zwei- und Dreizusammen- hangskomponenten — zur Verbesserung der Planarisierungsmethode in meh- rerlei Hinsicht. Als Erstes präsentieren wir eine korrigierte Version eines Linearzeitalgorith- mus, der die Dreizusammenhangskomponenten eines Graphen finden kann, und wenden diesen auf die Konstruktion von SPQR-Bäumen an. Die daraus resul- tierende Implementierung ist damit die erste korrekte Linearzeitimplementie- rung zur Konstruktion von SPQR-Bäumen. Danach benutzen wir BC- und SPQR- Bäume, um das Eine-Kante-Einfügeproblem in Linearzeit zu lösen. Dieses Pro- blem lässt sich wie folgt formulieren: Gegeben sei ein planarer Graph G und zwei Knoten v und w aus G , finde eine Einbettung von G , in die wir die Kan- te (v,w ) mit der kleinstmöglichen Anzahl an Kreuzungen einzeichnen können. Der hier vorgestellte Algorithmus löst damit ein seit langem bestehendes offenes Problem im Graphenzeichnen. Durch Anwendung dieses Algorithmus in der Pla- narisierungsmethode kann die Kreuzungsminimierung bereits erheblich verbes- sert werden. Zusätzlich stellen wir weitere Vor- und Nachbearbeitungsmethoden vor und analysieren diese experimentell mit Hilfe bekannter Benchmarkgraphen und einer neuen Benchmark-Bibliothek von Graphen mit bekannten Kreuzungs- zahlen. Unsere Studie zeigt, dass die daraus resultierenden Heuristiken zur Kreu- zungsminimierung sehr nahe an das Optimum herankommen und es in vielen Fällen auch erreichen. Neben der Minimierung von Kreuzungen an sich liefert die Planarisierungs- methode als Ergebnis auch eine planare Einbettung, die als Eingabe für planare Zeichenalgorithmen dient. Allerdings ist die richtige Wahl der planaren Einbet- tung entscheidend für die Qualität der resultierenden Zeichnung, zum Beispiel im Hinblick auf Anzahl der Knicke oder Kantenlängen. Daher schlagen wir zwei einfache Kriterien für planare Einbettungen vor, die zu guten Zeichnungen füh- ren können: Eine minimale Verschachtelungstiefe der Blöcke des Graphen und eine Außenfläche maximalen Grades. Wir stellen für beide Kriterien optimale Linearzeitalgorithmen vor. Experimentelle Studien zeigen, dass diese planaren Einbettungen tatsächlich zu besseren Zeichnungen führen können. Abschließend erweitern wir die Planarisierungsmethode um Einbettungsein- schränkungen, welche die mögliche Reihenfolge der Kanten um einen Knoten beschränken. Solche Einschränkungen findet man häufig in praktischen Anwen- dungen, wie etwa bei der Modellierung von Side Constraints und Port Constraints. Wir präsentieren Linearzeitalgorithmen für das Testen auf Planarität und opti- male Einfügen einer Kante unter Beachtung der Einbettungsbeschränkungen. viii Acknowledgements Many people supported and encouraged me during the time in which I did re- search for and worked on this thesis. I wish to express here my gratitude to all of them. First of all, I wish to thank my advisor Petra Mutzel for introducing me to the field of graph drawing. It was her lecture on Automatic Graph Drawing at Saarland University that raised my interest in graph drawing and the beautiful theory behind it. She gave me the opportunity to work on AGD, our first C++ library for automatic graph drawing, and the right balance of scientific guidance and freedom to do my research. She also made it possible that I could attend numerous conferences and workshops all over the world, which I enjoyed a lot. I also want to thank the people at the Chair XI for Algorithm Engineering at the Technische Universität Dortmund for the highly enjoyable atmosphere and fruitful discussions with my colleagues. In particular, I thank my roommate Karsten Klein and the other people of Petra Mutzel’s research group, Markus Chi- mani, Maria Kandyba, Wolfgang Paul, Hoi-Ming Wong, and Bernd Zey, as well as our secretary Gundel Jankord for taking so much administrative work from our shoulders.
Recommended publications
  • Linear Algebraic Techniques for Spanning Tree Enumeration
    LINEAR ALGEBRAIC TECHNIQUES FOR SPANNING TREE ENUMERATION STEVEN KLEE AND MATTHEW T. STAMPS Abstract. Kirchhoff's Matrix-Tree Theorem asserts that the number of spanning trees in a finite graph can be computed from the determinant of any of its reduced Laplacian matrices. In many cases, even for well-studied families of graphs, this can be computationally or algebraically taxing. We show how two well-known results from linear algebra, the Matrix Determinant Lemma and the Schur complement, can be used to elegantly count the spanning trees in several significant families of graphs. 1. Introduction A graph G consists of a finite set of vertices and a set of edges that connect some pairs of vertices. For the purposes of this paper, we will assume that all graphs are simple, meaning they do not contain loops (an edge connecting a vertex to itself) or multiple edges between a given pair of vertices. We will use V (G) and E(G) to denote the vertex set and edge set of G respectively. For example, the graph G with V (G) = f1; 2; 3; 4g and E(G) = ff1; 2g; f2; 3g; f3; 4g; f1; 4g; f1; 3gg is shown in Figure 1. A spanning tree in a graph G is a subgraph T ⊆ G, meaning T is a graph with V (T ) ⊆ V (G) and E(T ) ⊆ E(G), that satisfies three conditions: (1) every vertex in G is a vertex in T , (2) T is connected, meaning it is possible to walk between any two vertices in G using only edges in T , and (3) T does not contain any cycles.
    [Show full text]
  • On Computing Longest Paths in Small Graph Classes
    On Computing Longest Paths in Small Graph Classes Ryuhei Uehara∗ Yushi Uno† July 28, 2005 Abstract The longest path problem is to find a longest path in a given graph. While the graph classes in which the Hamiltonian path problem can be solved efficiently are widely investigated, few graph classes are known to be solved efficiently for the longest path problem. For a tree, a simple linear time algorithm for the longest path problem is known. We first generalize the algorithm, and show that the longest path problem can be solved efficiently for weighted trees, block graphs, and cacti. We next show that the longest path problem can be solved efficiently on some graph classes that have natural interval representations. Keywords: efficient algorithms, graph classes, longest path problem. 1 Introduction The Hamiltonian path problem is one of the most well known NP-hard problem, and there are numerous applications of the problems [17]. For such an intractable problem, there are two major approaches; approximation algorithms [20, 2, 35] and algorithms with parameterized complexity analyses [15]. In both approaches, we have to change the decision problem to the optimization problem. Therefore the longest path problem is one of the basic problems from the viewpoint of combinatorial optimization. From the practical point of view, it is also very natural approach to try to find a longest path in a given graph, even if it does not have a Hamiltonian path. However, finding a longest path seems to be more difficult than determining whether the given graph has a Hamiltonian path or not.
    [Show full text]
  • Teacher's Guide for Spanning and Weighted Spanning Trees
    Teacher’s Guide for Spanning and weighted spanning trees: a different kind of optimization by sarah-marie belcastro 1TheMath. Let’s talk about spanning trees. No, actually, first let’s talk about graph theory,theareaof mathematics within which the topic of spanning trees lies. 1.1 Graph Theory Background. Informally, a graph is a collection of vertices (that look like dots) and edges (that look like curves), where each edge joins two vertices. Formally, A graph is a pair G =(V,E), where V is a set of dots and E is a set of pairs of vertices. Here are a few examples of graphs, in Figure 1: e b f a Figure 1: Examples of graphs. Note that the word vertex is singular; its plural is vertices. Two vertices that are joined by an edge are called adjacent. For example, the vertices labeled a and b in the leftmost graph of Figure 1 are adjacent. Two edges that meet at a vertex are called incident. For example, the edges labeled e and f in the leftmost graph of Figure 1 are incident. A subgraph is a graph that is contained within another graph. For example, in Figure 1 the second graph is a subgraph of the fourth graph. You can see this at left in Figure 2 where the subgraph in question is emphasized. Figure 2: More examples of graphs. In a connected graph, there is a way to get from any vertex to any other vertex without leaving the graph. The second graph of Figure 2 is not connected.
    [Show full text]
  • Introduction to Spanning Tree Protocol by George Thomas, Contemporary Controls
    Volume6•Issue5 SEPTEMBER–OCTOBER 2005 © 2005 Contemporary Control Systems, Inc. Introduction to Spanning Tree Protocol By George Thomas, Contemporary Controls Introduction powered and its memory cleared (Bridge 2 will be added later). In an industrial automation application that relies heavily Station 1 sends a message to on the health of the Ethernet network that attaches all the station 11 followed by Station 2 controllers and computers together, a concern exists about sending a message to Station 11. what would happen if the network fails? Since cable failure is These messages will traverse the the most likely mishap, cable redundancy is suggested by bridge from one LAN to the configuring the network in either a ring or by carrying parallel other. This process is called branches. If one of the segments is lost, then communication “relaying” or “forwarding.” The will continue down a parallel path or around the unbroken database in the bridge will note portion of the ring. The problem with these approaches is the source addresses of Stations that Ethernet supports neither of these topologies without 1 and 2 as arriving on Port A. This special equipment. However, this issue is addressed in an process is called “learning.” When IEEE standard numbered 802.1D that covers bridges, and in Station 11 responds to either this standard the concept of the Spanning Tree Protocol Station 1 or 2, the database will (STP) is introduced. note that Station 11 is on Port B. IEEE 802.1D If Station 1 sends a message to Figure 1. The addition of Station 2, the bridge will do ANSI/IEEE Std 802.1D, 1998 edition addresses the Bridge 2 creates a loop.
    [Show full text]
  • Sampling Random Spanning Trees Faster Than Matrix Multiplication
    Sampling Random Spanning Trees Faster than Matrix Multiplication David Durfee∗ Rasmus Kyng† John Peebles‡ Anup B. Rao§ Sushant Sachdeva¶ Abstract We present an algorithm that, with high probability, generates a random spanning tree from an edge-weighted undirected graph in Oe(n4/3m1/2 + n2) time 1. The tree is sampled from a distribution where the probability of each tree is proportional to the product of its edge weights. This improves upon the previous best algorithm due to Colbourn et al. that runs in matrix ω multiplication time, O(n ). For the special case of unweighted√ graphs, this improves upon the best previously known running time of O˜(min{nω, m n, m4/3}) for m n5/3 (Colbourn et al. ’96, Kelner-Madry ’09, Madry et al. ’15). The effective resistance metric is essential to our algorithm, as in the work of Madry et al., but we eschew determinant-based and random walk-based techniques used by previous algorithms. Instead, our algorithm is based on Gaussian elimination, and the fact that effective resistance is preserved in the graph resulting from eliminating a subset of vertices (called a Schur complement). As part of our algorithm, we show how to compute -approximate effective resistances for a set S of vertex pairs via approximate Schur complements in Oe(m + (n + |S|)−2) time, without using the Johnson-Lindenstrauss lemma which requires Oe(min{(m + |S|)−2, m + n−4 + |S|−2}) time. We combine this approximation procedure with an error correction procedure for handing edges where our estimate isn’t sufficiently accurate.
    [Show full text]
  • Vertex Deletion Problems on Chordal Graphs∗†
    Vertex Deletion Problems on Chordal Graphs∗† Yixin Cao1, Yuping Ke2, Yota Otachi3, and Jie You4 1 Department of Computing, Hong Kong Polytechnic University, Hong Kong, China [email protected] 2 Department of Computing, Hong Kong Polytechnic University, Hong Kong, China [email protected] 3 Faculty of Advanced Science and Technology, Kumamoto University, Kumamoto, Japan [email protected] 4 School of Information Science and Engineering, Central South University and Department of Computing, Hong Kong Polytechnic University, Hong Kong, China [email protected] Abstract Containing many classic optimization problems, the family of vertex deletion problems has an important position in algorithm and complexity study. The celebrated result of Lewis and Yan- nakakis gives a complete dichotomy of their complexity. It however has nothing to say about the case when the input graph is also special. This paper initiates a systematic study of vertex deletion problems from one subclass of chordal graphs to another. We give polynomial-time algorithms or proofs of NP-completeness for most of the problems. In particular, we show that the vertex deletion problem from chordal graphs to interval graphs is NP-complete. 1998 ACM Subject Classification F.2.2 Analysis of Algorithms and Problem Complexity, G.2.2 Graph Theory Keywords and phrases vertex deletion problem, maximum subgraph, chordal graph, (unit) in- terval graph, split graph, hereditary property, NP-complete, polynomial-time algorithm Digital Object Identifier 10.4230/LIPIcs.FSTTCS.2017.22 1 Introduction Generally speaking, a vertex deletion problem asks to transform an input graph to a graph in a certain class by deleting a minimum number of vertices.
    [Show full text]
  • Minor-Closed Graph Classes with Bounded Layered Pathwidth
    Minor-Closed Graph Classes with Bounded Layered Pathwidth Vida Dujmovi´c z David Eppstein y Gwena¨elJoret x Pat Morin ∗ David R. Wood { 19th October 2018; revised 4th June 2020 Abstract We prove that a minor-closed class of graphs has bounded layered pathwidth if and only if some apex-forest is not in the class. This generalises a theorem of Robertson and Seymour, which says that a minor-closed class of graphs has bounded pathwidth if and only if some forest is not in the class. 1 Introduction Pathwidth and treewidth are graph parameters that respectively measure how similar a given graph is to a path or a tree. These parameters are of fundamental importance in structural graph theory, especially in Roberston and Seymour's graph minors series. They also have numerous applications in algorithmic graph theory. Indeed, many NP-complete problems are solvable in polynomial time on graphs of bounded treewidth [23]. Recently, Dujmovi´c,Morin, and Wood [19] introduced the notion of layered treewidth. Loosely speaking, a graph has bounded layered treewidth if it has a tree decomposition and a layering such that each bag of the tree decomposition contains a bounded number of vertices in each layer (defined formally below). This definition is interesting since several natural graph classes, such as planar graphs, that have unbounded treewidth have bounded layered treewidth. Bannister, Devanny, Dujmovi´c,Eppstein, and Wood [1] introduced layered pathwidth, which is analogous to layered treewidth where the tree decomposition is arXiv:1810.08314v2 [math.CO] 4 Jun 2020 required to be a path decomposition.
    [Show full text]
  • Geographic Routing Without Planarization Ben Leong, Barbara Liskov & Robert Morris Require Planarization
    Geographic Routing without Planarization Ben Leong, Barbara Liskov & Robert Morris MIT CSAIL Greedy Distributed Spanning Tree Routing (GDSTR) • New geographic routing algorithm – DOES NOT require planarization – uses spanning tree, not planar graph – low maintenance cost – better routing performance than existing algorithms Overview • Background • Problem • Approach • Simulation Results • Conclusion Geographic Routing • Wireless nodes have x-y coordinates – can use virtual coordinates (Rao et al. 2003) • Nodes know coordinates of immediate neighbors • Packet destinations specified with x-y coordinates • In general, forward packets greedily Geographic Routing Geographic Routing Source Geographic Routing Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Geographic Routing: Dealing with Dead Ends Destination Source Whoops. Dead end! Face Routing Destination Source Face Routing Destination Source Face Routing Destination Source Back to Greedy Forwarding Destination Source Back to Greedy Forwarding Destination Source Back to Greedy Forwarding Destination Source Planarization is Costly! • Planarization is hard for real networks – GG and RNG don’t work • Planarization is complicated & costly! – CLDP (Kim et al., 2005) Greedy Distributed Spanning Tree Routing (GDSTR) • Route on a spanning tree • Use convex hulls to “summarize” the area covered by a subtree – convex hulls tells us what points are possibly reachable – reduces the
    [Show full text]
  • Introducing Subclasses of Basic Chordal Graphs
    Introducing subclasses of basic chordal graphs Pablo De Caria 1 Marisa Gutierrez 2 CONICET/ Universidad Nacional de La Plata, Argentina Abstract Basic chordal graphs arose when comparing clique trees of chordal graphs and compatible trees of dually chordal graphs. They were defined as those chordal graphs whose clique trees are exactly the compatible trees of its clique graph. In this work, we consider some subclasses of basic chordal graphs, like hereditary basic chordal graphs, basic DV and basic RDV graphs, we characterize them and we find some other properties they have, mostly involving clique graphs. Keywords: Chordal graph, dually chordal graph, clique tree, compatible tree. 1 Introduction 1.1 Definitions For a graph G, V (G) is the set of its vertices and E(G) is the set of its edges. A clique is a maximal set of pairwise adjacent vertices. The family of cliques of G is denoted by C(G). For v ∈ V (G), Cv will denote the family of cliques containing v. All graphs considered will be assumed to be connected. A set S ⊆ V (G) is a uv-separator if vertices u and v are in different connected components of G−S. It is minimal if no proper subset of S has the 1 Email: [email protected] aaURL: www.mate.unlp.edu.ar/~pdecaria 2 Email: [email protected] same property. S is a minimal vertex separator if there exist two nonadjacent vertices u and v such that S is a minimal uv-separator. S(G) will denote the family of all minimal vertex separators of G.
    [Show full text]
  • Graph Layout for Applications in Compiler Construction
    Theoretical Computer Science Theoretical Computer Science 2 I7 ( 1999) 175-2 I4 Graph layout for applications in compiler construction G. Sander * Abstract We address graph visualization from the viewpoint of compiler construction. Most data struc- tures in compilers are large, dense graphs such as annotated control flow graph, syntax trees. dependency graphs. Our main focus is the animation and interactive exploration of these graphs. Fast layout heuristics and powerful browsing methods are needed. We give a survey of layout heuristics for general directed and undirected graphs and present the browsing facilities that help to manage large structured graphs. @ l999-Elsevier Science B.V. All rights reserved Keyrror& Graph layout; Graph drawing; Compiler visualization: Force-directed placement; Hierarchical layout: Compound drawing; Fisheye view 1. Introduction We address graph visualization from the viewpoint of compiler construction. Draw- ings of compiler data structures such as syntax trees, control flow graphs, dependency graphs [63], are used for demonstration, debugging and documentation of compilers. In real-world compiler applications, such drawings cannot be produced manually because the graphs are automatically generated, large, often dense, and seldom planar. Graph layout algorithms help to produce drawings automatically: they calculate positions of nodes and edges of the graph in the plane. Our main focus is the animation and interactive exploration of compiler graphs. Thus. fast layout algorithms are required. Animations show the behaviour of an algorithm by a running sequence of drawings. Thus there is not much time to calculate a layout between two subsequent drawings. In interactive exploration, it is annoying if the user has to wait a long time for a layout.
    [Show full text]
  • 1.1 Introduction 1.2 Spanning Trees
    Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002 Eric Vigoda Scribe: Varsha Dani & Tom Hayes 1.1 Introduction The aim of this course is to address the complexity of counting and sampling problems from an algorithmic perspective. Typically we will be interested in counting the size of a collection of combinatorial structures of a graph, e.g., the number of spanning trees of a graph. We will soon see that this style of counting problem is intimately related to the sampling problem which asks for a random structure from this collection, e.g., generate a random spanning tree. The course will demonstrate that the class of counting and sampling problems can be addressed in a very cohesive and elegant (at least to my tastes) manner. In this lecture we study some classical algorithms for exact counting. There are few problems which admit efficient algorithms for the exact counting version. In most cases we will have to settle for approximation algorithms. It is interesting to note that both of the algorithms presented in this lecture rely on a reduction to the determinant. This is the case for virtually all (of the very few known) exact counting algorithms. For the two problems considered in this lecture we will show a reduction to the determinant. Consequently both of these problems can be solved in O(n3) time where n is the number of vertices in the input graph. 1.2 Spanning Trees Our first theorem is known as Kirchoff’s Matrix-Tree Theorem [2], and dates back over 150 years.
    [Show full text]
  • Forbidden Subgraph Pairs for Traceability of Block- Chains
    Electronic Journal of Graph Theory and Applications 1(1) (2013), 1–10 Forbidden subgraph pairs for traceability of block- chains Binlong Lia,b, Hajo Broersmab, Shenggui Zhanga aDepartment of Applied Mathematics, Northwestern Polytechnical University, Xi’an, Shaanxi 710072, P.R. China bFaculty of EEMCS, University of Twente, P.O. Box 217, 7500 AE Enschede, The Netherlands [email protected], [email protected], [email protected] Abstract A block-chain is a graph whose block graph is a path, i.e. it is either a P1, a P2, or a 2-connected graph, or a graph of connectivity 1 with exactly two end-blocks. A graph is called traceable if it contains a Hamilton path. A traceable graph is clearly a block-chain, but the reverse does not hold in general. In this paper we characterize all pairs of connected graphs {R,S} such that every {R,S}-free block-chain is traceable. Keywords: forbidden subgraph, induced subgraph, block-chain, traceable graph, closure, line graph Mathematics Subject Classification : 05C45 1. Introduction We use Bondy and Murty [1] for terminology and notation not defined here and consider finite simple graphs only. Let G be a graph. If a subgraph G′ of G contains all edges xy ∈ E(G) with x,y ∈ V (G′), then G′ is called an induced subgraph of G. For a given graph H, we say that G is H-free if G does not contain an induced subgraph isomorphic to H. For a family H of graphs, G is called H-free if G is H-free for every H ∈ H.
    [Show full text]