Degree in Mathematics
Total Page:16
File Type:pdf, Size:1020Kb
Degree in Mathematics Title: An Experimental Study of the Minimum Linear Colouring Arrangement Problem. Author: Montserrat Brufau Vidal Advisor: Maria José Serna Iglesias Department: Computer Science Department Academic year: 2016-2017 ii An experimental study of the Minimum Linear Colouring Arrangement Problem Author: Montserrat Brufau Vidal Advisor: Maria Jos´eSerna Iglesias Facultat de Matem`atiquesi Estad´ıstica Universitat Polit`ecnicade Catalunya 26th June 2017 ii Als meus pares; a la Maria pel seu suport durant el projecte; al meu poble, Men`arguens. iii iv Abstract The Minimum Linear Colouring Arrangement problem (MinLCA) is a variation from the Min- imum Linear Arrangement problem (MinLA) and the Colouring problem. The objective of the MinLA problem is finding the best way of labelling each vertex of a graph in such a manner that the sum of the induced distances between two adjacent vertices is the minimum. In our case, instead of labelling each vertex with a different integer, we group them with the condition that two adjacent vertices cannot be in the same group, or equivalently, by allowing the vertex labelling to be a proper colouring of the graph. In this project, we undertake the task of broadening the previous studies for the MinLCA problem. The main goal is developing some exact algorithms based on backtracking and some heuristic algorithms based on a maximal independent set approach and testing them with dif- ferent instances of graph families. As a secondary goal we are interested in providing theoretical results for particular graphs. The results will be made available in a simple, open-access bench- marking platform. Keywords: MinLCA, Graph Colouring, Backtracking, Maximal Independent Set, Parame- terised Problems, Benchmarking. v vi Contents Abstract v 1 Introduction 1 1.1 Problem formulation . .1 1.2 Interest of the problem . .1 1.3 State of the art . .2 1.4 Goals and scope of the project . .2 2 Preliminaries 5 2.1 Graphs . .5 2.1.1 Graphs and notation . .5 2.1.2 Graph types . .6 2.1.3 Problems on graphs . .6 2.1.4 Data structures for graphs . .8 2.2 Computational Complexity . .9 2.3 Fixed-Parameter Algorithms . 12 2.4 Experimental platform . 13 2.4.1 Implementation details . 14 2.4.2 The cluster at RDLab . 14 3 The Minimum Linear Colouring Arrangement problem 15 3.1 Definition and examples . 15 3.1.1 The Minimum Linear Colouring Arrangement problem . 15 3.2 Computational complexity . 16 3.2.1 NP-Completeness . 16 3.2.2 Upper and lower bounds . 17 3.3 Previous results for particular graphs . 18 3.3.1 Bipartite graphs . 18 3.3.2 Complete graphs . 19 3.3.3 Planar graphs . 20 3.3.4 Outerplanar graphs . 21 3.4 New results for particular graphs . 21 vii viii CONTENTS 3.4.1 Complete balanced k-partite graphs . 21 3.4.2 k-tree . 24 3.4.3 Bounded treewidth graphs . 25 4 Algorithms and instances 27 4.1 Basic components . 27 4.2 Backtracking . 30 4.2.1 Basic schema . 30 4.2.2 Improvements . 30 4.3 Maximal Independent Set Approach . 34 4.4 Benchmarking platform . 39 4.4.1 Binomial random graphs . 39 4.4.2 Random geometric graphs . 40 4.4.3 Graphs with cliques . 40 4.4.4 Outerplanar graphs . 41 4.4.5 k-tree . 41 4.4.6 Almost 3-complete graphs . 41 4.4.7 Trees, meshes and hypercubes . 42 4.4.8 Other graphs . 42 5 Experimental Results for Backtracking 43 5.1 Experiment design . 43 5.2 Results . 43 5.2.1 MinLA instances . 43 5.2.2 MinLCA instances . 44 5.2.3 k-tree instances . 45 5.2.4 Almost 3-complete instances . 46 6 Experimental results for Maximal Independent Set 61 6.1 Experiment design . 61 6.1.1 MinLA instances . 61 6.1.2 MinLCA instances . 61 6.1.3 k-tree instances . 61 6.1.4 Almost 3-complete instances . 61 6.2 Results . 62 6.2.1 MinLA instances . 62 6.2.2 MinLCA instances . 62 6.2.3 k-tree instances . 62 6.2.4 Almost 3-complete instances . 63 7 Conclusions 75 Bibliography 77 List of Tables 4.1 MinLA instances . 39 5.1 Backtracking results for MinLA instances . 47 5.2 Chromatic number for MinLA instances . 48 5.3 Backtracking results for binomial random graphs compared with greedy algo- rithm results . 49 5.4 Backtracking results for random geometric graphs compared with greedy algo- rithm results . 50 5.5 Backtracking results for graphs with cliques compared with greedy algorithm results . 51 5.6 Backtracking results for outerplanar graphs compared with greedy algorithm results 52 5.7 Backtracking results for binomial random graphs of small orders . 53 5.8 Backtracking results for random geometric graphs of small orders . 54 5.9 Backtracking results for graphs with cliques of small orders . 55 5.10 Backtracking results for outerplanar graphs of small orders . 56 5.11 Backtracking results for k-trees . 57 5.12 Backtracking results for k-trees of small orders . 58 5.13 Backtracking results for almost 3-complete graphs . 59 5.14 Backtracking results for almost 3-complete graphs of small orders . 60 6.1 MaxInSet results for MinLA instances . 68 6.2 MaxInSet results for binomial random graphs . 69 6.3 MaxInSet results for random geometric graphs . 70 6.4 MaxInSet results for graphs with cliques . 71 6.5 MaxInSet results for random outerplanar graphs . 72 6.6 MaxInSet results for k-trees . 73 6.7 MaxInSet results for almost 3-complete graphs . 74 ix List of Figures 3.1 Original graph and optimal layout for MinLCA with cost 4. 16 3.2 Bipartite graph and optimal layout for MinLCA with cost 4. 19 3.3 Complete graph and optimal layout for MinLCA with cost 10. 20 3.4 Counterexample for the conjecture of the number of colours in an optimal linear colouring arrangement. 23 3.5 Comparison between using 3 colours and 4 colours for two complete balanced 3-partite graphs. 24 5.1 Backtracking results for MinLCA instances with small orders. 45 6.1 Results of Maximal Independent Set for MinLA instances . 64 6.2 Comparison between Best of Two and Random Selection algorithms . 65 6.3 Results of Maximal Independent Set for MinLCA instances . 66 6.4 Results of Maximal Independent Set for all instances used in MinLCA bench- marking. 67 List of Algorithms 3.1 Verifier for MinLCA-Deck .............................. 17 4.1 Set colour . 28 4.2 Uncolouring nodes . 28 4.3 Check node colouring . 29 4.4 Check all coloured . 29 4.5 Check colour used . 29 4.6 Backtracking . 32 4.7 Backtracking for.