Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedd
Total Page:16
File Type:pdf, Size:1020Kb
Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedder A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer Science University of Toronto Copyright c 2011 by Marc Tedder Abstract Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs Marc Tedder Doctor of Philosophy Graduate Department of Computer Science University of Toronto 2011 This thesis presents the first sub-quadratic circle graph recognition algorithm, and develops im- proved algorithms for two important hierarchical decomposition schemes: modular decomposition and split decomposition. The modular decomposition algorithm results from unifying two dif- ferent approaches previously employed to solve the problem: divide-and-conquer and factorizing permutations. It runs in linear-time, and is straightforward in its understanding, correctness, and implementation. It merely requires a collection of trees and simple traversals of these trees. The split-decomposition algorithm is similar in being straightforward in its understanding and correctness. An efficient implementation of the algorithm is described that uses the union-find data-structure. A novel charging argument is used to prove the running-time. The algorithm is the first to use the recent reformulation of split decomposition in terms of graph-labelled trees. This facilitates its extension to circle graph recognition. In particular, it allows us to efficiently apply a new lexicographic breadth-first search characterization of circle graphs developed in the thesis. Lexicographic breadth-first search is additionally responsible for the efficiency of the split decom- position algorithm, and contributes to the simplicity of the modular decomposition algorithm. ii Acknowledgements It is no secret to those who know me that I have had difficulty reconciling myself to my subject. What has made it easier – and made this thesis possible – is the tremendous kindness, generosity, and patience of a number of people. My supervisor, Derek Corneil, is foremost amongst these. He has somehow managed to endure my persistent irreverence toward the subject to which he has dedicated his life. However, it is not so much his dedication that has tolerated me as it has been his understanding. This has afforded me the luxury of arriving at this point on my own terms, and along the way, presented me the opportunities for my success. Although his role in this signals his recognition of its importance, he cannot possibly appreciate my gratitude. I could not have been more fortunate to have had him as my supervisor. It is not often that one gets the chance to say that their coauthors changed their life. But that is what Michel Habib and Christophe Paul did when they invited me to study with them in France for nearly two months in 2008. As clich´ed though it may be, one cannot spend a month in Paris without being changed. Of course, spending two weeks in Provence has no less effect. But what I will remember as much as the museums and the aqueducts is the enthusiasm of both Michel and Christophe. It has the quality of making you want to learn. My greatest wish would be to learn some of their skills in seeing connections between problems. And from my other coauthor, Emeric Gioan, whose introduction in Montpellier I owe to Christophe, my wish would be to learn some of his skills in seeing problems so sharply. My hope is that this thesis reflects some progress in these pursuits. Countless people from the Department of Computer Science at the University of Toronto deserve recognition for their contributions to this thesis, both direct and indirect. My PhD Supervisory Committee recommended content changes that have improved its quality, and have been forgiving enough to permit my unorthodox road to completion. That road was partially paved by the assistance of Linda Chow in the graduate office, who never failed to come through for me. All the while, my friends in the department have helped make these the best years of my life. Too often we don’t realize this until after such years have passed. They made me realize this each day I came to the office. It seems undignified to mention each by name, but I will single out Ingrid. For it is she who introduced me to Yuki. And it is Yuki who has given all of this meaning. iii Contents 1 Introduction 1 1.1 OverviewoftheThesis............................. ...... 3 2 Background 4 2.1 ModularDecomposition . ...... 4 2.2 SplitDecomposition .............................. ...... 7 2.3 CircleGraphs.................................... 10 2.4 Lexicographic Breadth-First Search . ............ 12 3 Technical Background 15 3.1 Preliminaries ................................... ..... 15 3.2 ModularDecomposition . ...... 17 3.3 SplitDecomposition .............................. ...... 19 3.3.1 Graph-LabelledTrees . 21 3.4 CircleGraphs.................................... 28 3.5 Lexicographic Breadth-First Search . ............ 30 4 Simple, Linear-Time Modular Decomposition 33 4.1 DividingbyLBFS .................................. 33 4.2 Modules Not Containing the Pivot . ........ 36 4.3 Factorizing Permutation . ........ 43 4.4 ModulesContainingthePivot. ........ 49 4.5 Conquering ...................................... 54 4.6 ImplementationandRunningTime. ........ 57 4.6.1 DividingbyLBFS ................................ 59 4.6.2 Modules Not Containing the Pivot . ...... 59 iv 4.6.3 Factorizing Permutation . ...... 60 4.6.4 Modules Containing the Pivot . ...... 60 4.6.5 Conquering .................................... 61 5 Simpler and Efficient Split Decomposition 63 5.1 Incremental Split-Decomposition . ........... 64 5.1.1 StateAssignment............................... 64 5.1.2 Pruning:AReduction . .. .. .. .. .. .. .. .. 65 5.1.3 ExistenceofanUnmixedNode . 68 5.1.4 Nonexistence of an Unmixed Node . ..... 71 5.1.5 CombiningtheCases.. .. .. .. .. .. .. .. .. 77 5.1.6 Incremental Characterization . ........ 80 5.2 LBFS-Incremental Split Decomposition . ........... 82 5.2.1 RegulatingTwins............................... 83 5.2.2 RegulatingStars ............................... 86 5.3 AnImplementation................................ ..... 89 5.3.1 TheData-Structure ............................. 89 5.3.2 Simplifications and Notation . ...... 92 5.3.3 Updatinglastanduniversal . ...... 93 5.3.4 Pruning ....................................... 94 5.3.5 ExistenceofanUnmixedNode . 96 5.3.6 Cleaning...................................... 98 5.3.7 Contraction................................... 100 5.3.8 CombiningtheCases.. .. .. .. .. .. .. .. .. 103 5.4 AnAggregateAnalysis. .. .. .. .. .. .. .. .. 103 5.4.1 Setting Up the Charging Argument . 105 5.4.2 (Re)AssigningCharge . 107 5.4.3 BoundingtheTotalCharge . 111 5.4.4 BoundingtheRunning-Time . 114 6 (Almost) Linear-Time Circle Graph Recognition 116 6.1 AddingaGoodVertex............................... 117 6.2 ConsecutivityandGLTs . 119 6.2.1 ConsecutivityintheLabels . 120 6.2.2 ConsecutivityintheGraph . 123 v 6.3 Incremental Circle Graph Recognition . ...........127 6.3.1 Algorithm..................................... 130 6.3.2 ImplementationandRunningTime. 132 7 Conclusion 138 7.1 ModularDecomposition . 138 7.1.1 Practical Applications . 139 7.1.2 Transitive Orientation . 139 7.1.3 ComparativeAnalysis . 140 7.2 SplitDecomposition .............................. 141 7.2.1 Linear-TimeandUnion-Find . 141 7.2.2 Linear-time Without Union-Find . .......142 7.2.3 Simpler Split-Decomposition? . ........143 7.3 CircleGraphs.................................... 144 7.3.1 Linear-Time? .................................. 144 7.3.2 Linear-Time Recognition of Permutation Graphs . ...........145 7.3.3 Graph-Labelled Trees and their Generalizations . .............146 7.4 Lexicographic-Breadth First Search . ............146 7.4.1 ANewLBFSParadigm .............................. 147 7.4.2 Recognition of Chordal Bipartite Graphs . .........147 Bibliography 148 vi List of Figures 2.1 The set H = {a, b, c, d} isamodule. ........................... 5 2.2 Composing two graphs by adding all possible edges between A′ = {a, b, c, d} and B′ = {e, f}. If A = {a, b, c, d, k, ℓ} and B = {e, f, g, h, i, j}, then (A, B) is a split in theresultinggraph.................................. .... 7 2.3 A chord diagram on the left, and its corresponding circle graph on the right. 10 2.4 The chords corresponding to N(x) appear consecutively without repetition. 12 3.1 The modular decomposition tree for the graph in figure 2.1. We use “P” to stand for prime, and 0 and 1 to stand for “parallel” and “series”, respectively. The use of 0and1iscommonintheliterature. ..... 18 3.2 The split decomposition tree of the graph in figure 2.2. ............... 21 3.3 An example of a graph-labelled tree. .......... 22 3.4 The GLT induced by the nodes not incident to e and f in the GLT of figure 3.3. 23 3.5 Grafting two GLTs with respect to q and q′........................ 24 3.6 An example of the node-join and node-split operations. ............... 26 3.7 An example of the clique-join and clique-split operations. ............... 26 3.8 An example of the star-join and star-split operations. ................. 27 3.9 Chord diagrams for two degenerate graphs: on the left, a clique on four vertices; on the right, a star with three extremities. Chord diagrams can be obtained for any degenerate graph by following the patterns above. ........... 30 4.1 An example graph to demonstrate