Theory and Practical Applications of Treewidth Tom C
Total Page:16
File Type:pdf, Size:1020Kb
Theory and Practical Applications of Treewidth Tom C. van der Zanden C. van Tom of Treewidth Applications Theory and Practical Theory and Practical Applications of Treewidth Tom C. van der Zanden Theory and Practical Applications of Treewidth Tom C. van der Zanden Tom C. van der Zanden Theory and Practical Applications of Treewidth ISBN: 978-90-393-7147-3 c Tom C. van der Zanden, Utrecht 2019 [email protected] www.tomvanderzanden.nl Cover design and printing: Drukkerij Haveka, Alblasserdam Theory and Practical Applications of Treewidth Theorie en Praktische Toepassingen van Treewidth (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de rector magnificus, prof.dr. H.R.B.M. Kummeling, ingevolge het besluit van het college voor promoties in het openbaar te verdedigen op woensdag 26 juni 2019 des middags te 2.30 uur door Tom Cornelis van der Zanden geboren op 29 december 1992 te Nieuwegein Promotor: Prof. dr. H. L. Bodlaender i Acknowledgements The four years of my PhD have been an amazing adventure. Four years to develop new ideas and to explore the mathematical beauty of algorithms, to meet many new friends, and to visit conferences in wonderful and inspiring locations. First and foremost, I want to thank my advisor, Hans Bodlaender. I was very lucky to have Hans as an advisor: most of the supervision happened during the daily morning and afternoon coffee sessions, where small talk with colleagues was interspersed with occasional discussions about our research. Formal meetings were rare, but Hans was always available to discuss if I had something to ask. Hans provided helpful research directions, but also left me plenty of freedom to explore my own interests. My research would not have been possible without the input of many collaborators. Key among these is Sándor Kisfaludi-Bak, with whom I initiated collaboration during the Lorentz Center workshop Fixed-Parameter Computational Geometry in 2016. Sándor was my city guide during our joint two-week research visit to Dániel Marx at the MTA SZTAKI in Budapest. This visit, together with many days in Eindhoven and Utrecht spent in a small room with a whiteboard, culminated in no less than three papers. I cannot commend Sándor enough1: he is a very smart, talented and hard-working mathematician and moreover, a very humble and kind person. Another very important research visit was that to the Fukuoka Institute of Tech- nology in Japan in 2017. While this was also a very productive visit (resulting in papers on memory-efficient algorithms, Subgraph Isomorphism, k-Path Vertex Cover and minimal separators), it also resulted in personal growth: being able to spend three weeks immersed in Japanese culture was transformative, the experience that I got can simply not be had as a tourist. I want to say arigat¯ogozaimashita to all of my Japanese friends: Tesshu Hanaka, Eiji Miyano, Yota Otachi, Toshiki Saitoh, Hisao Tamaki, Ryuhei Uehara, Yushi Uno, Tsuyoshi Yagita and to the students at the Fukuoka Institute of Technology who invited me to their homes. To people who are not familiar with mathematics and computer science research, it might appear boring and dry. However, to me, it sometimes feels more like a thinly veiled excuse for having fun and an extension of my hobby in puzzles. In fact, my work together with Hans was initiated when I, during his Algorithms and Networks course, took a homework assignment on the puzzle game Bloxorz a bit too far. I have met many people who think alike at various International Puzzle Parties, Gathering for Gardner 10 and 13, the 2018 Fun with Algorithms Conference in Sardinia and the 2019 Bellairs Workshop on Computational Geometry in Barbados (certainly, the only thing better than having fun with mathematics is having fun with mathematics on a beautiful tropical island). I want to acknowledge all of the people that I met pursuing 1And Sándor tells me I shouldn’t. ii Acknowledgements my interest in recreational mathematics, puzzles and their design, and in particular Andrew Cormier, Martin and Erik Demaine, Oskar van Deventer, Bob Hearn, Marc van Kreveld, Jayson Lynch, Jonathan Schroyer, Joris van Tubergen, Siert Wijnia and many others. I also want to thank the Gathering for Gardner Foundation and the late Tom Rodgers for their support. Of course, not everything is fun and games (or at least, not the type of game that is fun to play). I want to thank Herbert Hamers for our collaboration on terrorist networks, which was initiated at Lunteren 2017. I am very happy Herbert was willing to take on this interdisciplinary challenge. I would like to thank the reading committee for critically evaluating this manuscript and offering valuable comments: Hajo Broersma, Alexander Grigoriev, Marc van Kreveld, Jan Arne Telle and Gerhard Woeginger. During the NETWORKS training weeks, visiting Eindhoven and at other conferences I had a lot of fun with my fellow PhD students and other colleagues: Tom Bannink, Julien Baste, Paul Bouman, Jan-Willem Buurlage, Mark de Berg, Huib Donkers, Lars Jaffke, Bart Jansen, Aleksandar Markovic, Jesper Nederlof, Tim Ophelders, Astrid Pieterse, Carolin Rehs, Jan Arne Telle, Abe Wits, Gerhard Woeginger and many, many others. Being able to interact with so many people, and especially getting to meet fellow PhDs in similar and different stages of their programme was very valuable to me. I want to say a special thank you to Astrid and Sándor, who have been good friends from the very beginning of our PhD programmes. Of course, there are also many wonderful and inspiring people at my home base of Utrecht. My interest in algorithms was first sparked by taking part in programming contests, together with my teammates Bas te Kolste, Harry Smit and coaches Jeroen Bransen and Bas den Heijer. I want to thank Gerard Tel for teaching a wonderful introduction to algorithms class and inspiring me in the area of teaching. I have been a student assistant for many of Gerard’s classes, and I appreciate the opportunities he gave me to substitute during classroom lectures and to experiment with developing practical assignments. I want to thank Erik Jan van Leeuwen for our collaboration while teaching the algorithms course, Johan van Rooij for advising me on job searching inside and out of academia, Tomas Klos for occasionally reminding me to take the train instead of flying, Han Hoogeveen for our work on data mining and flower power, Jacco Bikker for discussions on GPU programming, Linda van der Gaag for making sure Hans stayed on top of his negotiating skills, Marjan van den Akker, Rob Bisseling, Janneke Bolt, Anneke Bonsma, Wouter ten Bosch, Cassio de Campos, Gunther Cornelissen, Federico D’Ambrosio, Marcell van Geest, Roland Geraerts, Jurriaan Hage, Ivor van der Hoog, Jan van Leeuwen, Till Miltzow, Thijs van Ommen, Silja Renooij, Edith Stap, Dirk Thierens, Sjoerd Timmer, Jérôme Urhausen, Marinus Veldhorst, Peter de Waal and Jordi Vermeulen. I would also like to thank the students who I shared the joy of many moments of learning and discovery with. I would like to thank my long-term office mates, Roel van den Broek, Nils Donselaar and Marieke van der Wegen, for the good times we shared inside and out of the office and at conferences in Vienna, Lunteren, Helsinki, Nový Smokovec and Heeze. Finally, I would like to thank my parents Hans and Loes, and several good friends and people who meant a lot for me: Elsie, Gerrit, Irene, Marrie, Cor, Daan, Jacco – thank you all very much. iii Contents 1. Introduction 1 1.1. Hard Problems . .2 1.2. The Exponential Time Hypothesis . .4 1.3. Graph Separators and Treewidth . .4 1.4. The Square Root Phenomenon in Planar Graphs . .7 1.5. Graph Embedding Problems . .8 1.6. Problems in Geometric Intersection Graphs . .9 1.7. Treewidth in Practice . 11 1.8. Published Papers . 12 2. Preliminaries 15 2.1. Basic Notations and Definitions . 15 2.2. Tree Decompositions . 16 2.3. Dynamic Programming on Tree Decompositions . 17 I Graph Embedding Problems 21 3. Algorithms 23 3.1. Introduction . 23 3.2. An Algorithm for Subgraph Isomorphism . 25 3.3. Reducing the Number of Partial Solutions Using Isomorphism Tests 28 3.4. Bounding the Number of Non-Isomorphic Partial Solutions . 29 3.5. Graph Minors and Induced Problem Variants . 31 3.6. Topological Minor . 35 3.7. Conclusions . 38 4. Lower Bounds 41 4.1. Introduction . 41 4.2. Additional Notation . 43 4.3. String Crafting and Orthogonal Vector Crafting . 43 4.4. Lower Bounds for Graph Embedding Problems . 47 4.5. Tree and Path Decompositions with Few Bags . 49 4.6. Intervalizing Coloured Graphs . 51 4.7. Conclusions . 59 iv Contents 5. Intermezzo: Polyomino Packing 61 5.1. Introduction . 61 5.2. Lower Bounds . 62 5.3. Algorithms . 67 5.4. Conclusions . 70 II Problems in Geometric Intersection Graphs 73 6. Problems in Geometric Intersection Graphs 75 6.1. Introduction . 75 6.2. Separators for Arbitrarily-Sized Fat Objects . 77 6.3. An Algorithmic Framework for Similarly-Sized Fat Objects . 81 6.4. Basic Algorithmic Applications . 84 6.5. Application of the Rank-Based Approach . 87 6.6. Conclusions . 90 III Practical Applications of Treewidth 91 7. Computing Tree Decompositions on the GPU 93 7.1. Introduction . 93 7.2. Additional Definitions . 95 7.3. The Algorithm . 96 7.3.1. Computing Treewidth . 96 7.3.2. Duplicate Elimination using Bloom Filters . 97 7.3.3. Minor-Min-Width . 98 7.4. Experiments . 99 7.4.1. Instances . 99 7.4.2. General Benchmark . 99 7.4.3. Work Size and Global v.s. Shared Memory . 101 7.4.4.