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 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.