Problems of Unknown Complexity
Total Page:16
File Type:pdf, Size:1020Kb
Problems of Unknown Complexity Graph isomorphism and Ramsey theoretic numbers Dissertation zur Erlangung des Grades des Doktors der Naturwissenschaften (Dr. rer. nat.) der Naturwissenschaftlich-Technischen Fakult¨aten der Universit¨at des Saarlandes vorgelegt von Pascal Schweitzer Saarbr¨ucken 2009 Revised April 2012. Tag des Kolloquiums: 24. Juli 2009: Dekan der Naturwissenschaftlich-Technischen Fakult¨at I: Professor Dr. Joachim Weickert Berichterstatter: Professor Dr. Kurt Mehlhorn, Max-Planck-Institut f¨ur Informatik, Saarbr¨ucken Professor Dr. Markus Bl¨aser, Fachbereich Informatik der Universit¨at des Saarlandes Professor Dr. Brendan McKay, Department of Computer Science, Australian National University Mitglieder des Pr¨ufungsausschusses: Professor Dr. Joachim Weickert (Vorsitzender) Professor Dr. Kurt Mehlhorn Professor Dr. Markus Bl¨aser Professor Dr. Brendan McKay (via Videokonferenz) Dr. Nicole Megow In memory of Martin Kutz Zusammenfassung Wir entwickeln Algorithmen fur¨ drei kombinatorische Probleme unbekannter Kom- plexit¨at: Das Graphisomorphieproblem, die Berechnung von van der Waerden-Zahlen und die Berechnung von Ramsey-Zahlen. Mit theoretischen und praktischen Methoden wird ein Vergleich zu bereits existierenden Algorithmen gezogen. Der Schraubenkasten, ein zertifizierender, randomisierter Graph-nicht-Isomorphie Algorithmus, fuhrt¨ zuf¨allige Stichproben in zwei gegeben Graphen durch, und schließt durch Festellen von statistisch signifikant abweichendem Verhalten der gesammelten Daten auf Nichtisomorphie. Die Durchfuhrung¨ der Stichproben und damit die erhal- tenen Daten sowie die verwendete Methode zum Festellen statistisch abweichenden Verhaltens passen sich dabei den Eingabegraphen an. Auf isomorphen Graphen wird mit hoher Wahrscheinlichkeit ein Isomorphismus gefunden, der als Zertifikat dient. Fur¨ nichtisomorphe Eingabegraphen dienen als randomisiertes Zertifikat die Zusam- mensetzung des Schraubenkastens und die Spezifizierung eines gunstigen¨ statistischen Tests. Zur Berechnung von van der Waerden-Zahlen entwickeln wir einen Algorithmus, der durch die Verwendung von Platzhaltern ein gleichzeitiges Bearbeiten von verschiedenen Elementen des zu durchsuchenden L¨osungsraums erm¨oglicht. Mit ihm werden neue van der Waerden-Zahlen berechnet. Der Zusammenhang der ersten beiden Probleme ist durch das dritte gegeben, dessen L¨osung die anderen L¨osungen zu einem Algorithmus verknupft,¨ der Ramsey-Zahlen berechnet. 4 Abstract We consider three computational problems with unknown complexity status: The graph isomorphism problem, the problem of computing van der Waerden numbers and the problem of computing Ramsey numbers. For each of the problems, we devise an algorithm that we analyze with theoretical and practical means by a comparison with contemporary algorithms that solve the respective problems. The ScrewBox algorithm solves the graph isomorphism problem by a random sam- pling process. Given two graphs, the algorithm randomly searches an invariant that may be randomly evaluated quickly and that shows significant statistical difference on the input graphs. This invariant is gradually and adaptively constructed depending on the difficulty of the input. Isomorphism is certified by supplying an isomorphism. Non-isomorphism is certified by the ScrewBox, the invariant whose statistical behavior deviates on the input graphs, together with the appropriate statistical test. The wildcards algorithm for van der Waerden numbers solves the second problem. Its key technique is to treat colorings of integers avoiding monochromatic arithmetic progressions simultaneously by allowing ambiguity. This, together with a specific preprocessing step, forms the algorithm that is used to compute previously unknown van der Waerden numbers. The wildcards algorithm for Ramsey numbers combines the techniques and algo- rithms with which we approach the first two problems to solve the third problem. 5 Contents 1 Introduction 9 2 Graph isomorphism 15 2.1 Thegraphisomorphismproblem . 16 2.1.1 Reductions: equivalent and non-equivalent problems ...... 18 2.2 BrendanMcKay’sNauty. 22 2.3 TheWeisfeiler-Lehmanmethod . 24 2.4 The Cai-F¨urer-Immerman construction and Miyazaki graphs ..... 26 2.5 EugeneLuks’boundeddegreealgorithm . 30 2.6 TheScrewBox ............................... 31 2.6.1 Thebasicsamplingalgorithm . 33 2.6.2 Higherlevelscrews. 37 2.6.3 Cheap screws of high level . 40 2.6.4 Customizing the algorithm . 42 2.6.5 Placementofthescrews . 44 2.6.6 Capabilities provided by the screws . 47 2.6.7 Thechoiceofpattern . 48 2.7 Advanced statistical tests for equal distribution . ......... 49 2.7.1 Testingabiasedcoin. 50 2.7.2 Testing two random variables for equal distribution . ...... 54 2.7.3 Choosinganoptimalfilter . 56 2.7.4 Testing with the ScrewBox . 58 2.8 Difficultgraphinstances . 60 2.8.1 Stronglyregulargraphs . 61 2.8.2 Hadamardmatrices . 62 2.8.3 Projectiveplanes . 62 2.9 EngineeringtheScrewBox . 63 2.9.1 Random sampling without replacement . 64 2.9.2 Pairlabel matrices . 65 2.9.3 Matrix multiplication . 65 2.10 Evaluation of the ScrewBox algorithm . 67 2.10.1 Theoretical evaluation . 68 2.10.2 Practical evaluation . 70 2.10.3 The CFI-construction and the ScrewBox . 75 2.11 Certification................................. 78 2.11.1 Beyond deterministic certification . 82 7 Contents 2.11.2 Amplification of randomized certifiability . .... 85 2.12Conclusion ................................. 86 3 Van der Waerden numbers 89 3.1 VanderWaerdennumbers. 90 3.1.1 Existence of van der Waerden numbers . 91 3.2 UpperboundsforvanderWaerdennumbers. 94 3.3 Lower bounds for van der Waerden numbers . 94 3.3.1 Lov´asz’ Local Lemma in the context of van der Waerden numbers 95 3.4 KnownmixedvanderWaerdennumbers. 96 3.5 Detecting monochromatic arithmetic progressions . ........ 98 3.6 Theculpritalgorithm . .. .. .. .. .. .. .. .. 99 3.7 Kouril’sandPaul’sSATtechnique . 100 3.8 The wildcards algorithm for mixed van der Waerden numbers..... 101 3.8.1 Incorporating culprits in the wildcards algorithm . ...... 105 3.9 Preprocessingtechniques. 106 3.9.1 Preprocessingwithlatepeak . 109 3.9.2 Preprocessingfortwocolors . 110 3.10 Implementation details . 111 3.11 Certification................................. 111 3.12 Evaluation and conclusion . 112 4 Ramsey numbers 115 4.1 Ramseynumbers .............................. 116 4.1.1 ExistenceofRamseynumbers. 117 4.2 UpperboundsforRamseynumbers. 117 4.3 LowerboundsforRamseynumbers . 117 4.4 KnownRamseynumbers. 118 4.5 Computational Complexity of Ramsey numbers . 119 4.6 Previousalgorithms . .. .. .. .. .. .. .. .. 120 4.7 The wildcards algorithm for Ramsey numbers . 121 4.7.1 High level description of the wildcards algorithm . ..... 122 4.7.2 The Gluing technique for the wildcards algorithm . .... 126 4.8 Certification................................. 126 4.9 Evaluationandconclusion . 127 8 1 Introduction When we are posed the algorithmic question:“How do you compute this efficiently?” with classical computational complexity theory we produce two kinds of answers: Ei- ther we devise a provably efficient algorithm or we show, using the theoretical frame- work, that it is likely, that we will never be able to construct an efficient algorithm for the problem, no matter how hard we try. Despite the large applicability of the classical computational complexity, there are problems for which our tools have not provided either answer yet. The complexity of these problems is unknown. This thesis is concerned with three fundamental computational problems, arising from combinatorics, with unknown complexity status: 1. the graph isomorphism problem, 2. the computation of van der Waerden numbers and 3. the computation of Ramsey numbers. For decades, numerous approaches have been taken to each of the problems in order to show one of the classical alternatives. Still, the unsettled complexity status of the problems remains. Nevertheless, we desire algorithms that solve these problems as efficiently as possible. In this thesis we develop algorithmic concepts that address the problems. Using the concepts, for each problem we design an algorithm that we evaluate by means of the- oretical and practical comparison to state-of-the-art algorithms that have previously been designed. The design of such algorithms goes hand in hand with mathemati- cal insight into the combinatorial structures involved in the problems and into their complexity. The third problem is strongly connected to the first two problems and thus forms the link between the two. This becomes apparent, as the algorithms devised for the graph isomorphism problem and the problem of computing van der Waerden numbers are merged to form an algorithm that computes Ramsey numbers. We briefly describe the three problems considered. Graph isomorphism Numerous graph theoretical treatises mention Euler’s famous problem, the Seven Bridges of K¨onigsberg [39], in their introduction. In 1736 Euler asks whether it is possible to tour K¨onigsberg, using all of its bridges exactly once. The solution ab- stracts the paths within the city into a graph, consisting of vertices, the islands, and edges between them, the bridges. The graph thus models the relation between vertices 9 1 Introduction that governs whether there is an edge between them. Readily agreed by Euler and his readers, for the existence of such a tour, the names of the different islands and their geographic location is irrelevant. Mathematically this abstraction is reformulated to the fact that our solution depends only on the isomorphism type of the graph.