SAT Approach for Decomposition Methods

SAT Approach for Decomposition Methods

SAT Approach for Decomposition Methods DISSERTATION submitted in partial fulfillment of the requirements for the degree of Doktorin der Technischen Wissenschaften by M.Sc. Neha Lodha Registration Number 01428755 to the Faculty of Informatics at the TU Wien Advisor: Prof. Stefan Szeider Second advisor: Prof. Armin Biere The dissertation has been reviewed by: Daniel Le Berre Marijn J. H. Heule Vienna, 31st October, 2018 Neha Lodha Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit M.Sc. Neha Lodha Favoritenstrasse 9, 1040 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwen- deten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. Wien, 31. Oktober 2018 Neha Lodha iii Acknowledgements First and foremost, I would like to thank my advisor Prof. Stefan Szeider for guiding me through my journey as a Ph.D. student with his patience, constant motivation, and immense knowledge. His guidance helped me during the time of research and writing of this thesis. I could not have imagined having a better advisor and mentor. Next, I would like to thank my co-advisor Prof. Armin Biere, my reviewers, Prof. Daniel Le Berre and Dr. Marijn Heule, and my Ph.D. committee, Prof. Reinhard Pichler and Prof. Florian Zuleger, for their insightful comments, encouragement, and patience. I am very thankful to Sebastian Ordyniak, who is my unofficial co-advisor, one of the closest collaborators, and somehow around him, all the bugs were automatically resolved. I am sincerely thankful to Prof. Matti Järvisalo and Prof. Torsten Schaub, who provided me with an opportunity to visit them and let me be a part of their research group. I gained crucial knowledge by collaborating with my co-authors, Simone Bova, Johannes Fichte, Robert Ganian, Ronald de Haan, and Markus Hecher. I am very fortunate to be a part of the doctoral program “LogiCS” at TU Wien funded by FWF, where I got to know world-class researchers from all around the world. I enjoyed the numerous fruitful discussions I have had with my peers; especially Eduard Eiben, Anna Lukina, Katalin Fazekas, Matthias Schlaipfer, Zeynep Gözen Saribatur, Fabian Klute, Tomáš Peitl, and Friedrich Slivovsky. Not to forget the invaluable administrative support I received from Anna Prianichnikova and our secretaries, Juliane Auerböck, Beatrix Bhul, Doris Dicklberger, Eva Nedoma, Karin Prater, and Ulrike Prohaska. I would like to express my gratitude towards Prof. Saket Saurabh, who recommended me to apply for this position and Prof. R. Ramanujan for encouraging me to venture out in the world. Last but not least, I would like to thank my family, my flatmates, and my friends for supporting me and providing me with a social life. I have had the great opportunity to be around a very active and collaborative environment during my Ph.D., I could not have wished for anything better. v Kurzfassung Wir suchen immer nach dem besten Weg ein Berechnungsproblem zu lösen. Jedoch kann der naheliegendste Weg, um ein gegebenes Problem zu lösen, manchmal nicht sehr praktisch sein. InformatikerInnen haben versucht praktische Wege zu finden, um schwere Probleme zu lösen. Eine der Haupttechnologien, die entwickelt wurden, um schwere Probleme zu lösen, sind strukturelle Zerlegungen. Diese ermöglichen eine gegebene Probleminstanz in kleine Teile zu zerlegen. Es gibt verschiedene Techniken die Zerlegungen zu benutzen, um ein Problem zu lösen, aber diese Techniken sind stark auf die Qualität der Zerlegung angewiesen. In dieser Arbeit entwickeln wir SAT-basierte Techniken, um „gute“ Zerlegungen zu finden. Satisfiablity (SAT) – auf Deutsch das Erfüllbarkeitsproblem der Aussagenlogik – ist eines der zentralsten Probleme in der Informatik. SAT-solver, das sind Werkzeuge, die dieses Problem lösen können, haben sich in den letzten Jahren drastisch verbessert. Aktuelle SAT-solver können einige mehrere MB große SAT-Instanzen innerhalb von Millisekunden lösen. Ein SAT-encoding ist die Transformation eines Berechnungsproblem nach SAT. Wir nutzen die Geschwindigkeit und Effizienz von SAT-basierten Techniken, um „gute“ Zerlegungen zu finden. In dieser Arbeit entwickeln wir SAT-encodings, um gute Zerlegungen zu finden. Eine der größten Hürden für SAT-encodings ist die Größe der SAT-Formel. Die meisten SAT-encodings sind zumindest kubisch in der Größe der Probleminstanz. Dies führt zu einem harten Limit für die Größe der zu lösenden Probleminstanz. Wir überwinden diese Restriktion indem wir eine neue SAT-basierte lokale Verbesserungstechnik entwickeln, in der wir versuchen, Teile einer gegebenen Zerlegungen mithilfe von SAT-encodings zu verbessern. Wir schlagen eine neue Charakterisierung für Branch-Zerlegungen vor und benutzen diese, um ein SAT-encoding für Branchwidth zu finden. Wir entwickeln einen lokalen Verbesserungsansatz für die Ermittlung besserer Branch-Zerlegungen, welche wir später auch für Baumzerlegungen benutzen. Wir entwickeln zwei verschiedene Charakterisierun- gen für spezielle Baumzerlegungen und Pfadzerlegungen und vergleichen diese empirisch. Zudem entwickeln wir auch ein SMT-encoding für die Ermittlung von fraktionalen Hyperbaum-Zerlegungen. vii Abstract We are always trying to find the best way to solve any computational problem. But, sometimes the most natural way to solve a given problem may not be very practical. Computer scientists have been trying to find practical ways for solving hard problems. One of the major technology, that was developed to solve hard problems, is decompositions. Decompositions allow one to decompose a given problem instance in small parts. There are various techniques that use decompositions to solve a problem, but these techniques rely heavily on the quality of the decompositions. In this thesis, we develop SAT-based techniques to find “good” decompositions. Satisfiability (SAT) is one of the most central problem in computer science and SAT- solvers, tools that can solve this problem, have improved drastically over the last years. Current SAT-solvers can solve some SAT instances, of several MB in size, in a matter of milliseconds. A SAT-encoding is the transformation of a computational problem to SAT. We make use of the speed and efficiency of the SAT based techniques for finding good decompositions. In this thesis we develop SAT-encodings for finding good decompositions. One of the major hurdle for SAT-encodings is the size of the SAT formula. Most of the SAT-encodings are at least cubic is the size of problem instance, which puts a hard limit on the size of the problem instance that can be solved. We overcome this restriction by developing a new SAT-based local improvement technique, where given a decomposition we try to improve parts of it using SAT-encodings. We propose a new characterization for branch decompositions and used it for a SAT- encoding for finding branchwidth. We develop local improvement approach for finding better branch decompositions, which we later used for tree decompositions as well. We develop two different characterizations for special tree decomposition and path decomposition, and compare them empirically. We also develop an SMT-encoding for finding fractional hypertree decompositions. ix Contents Kurzfassung vii Abstract ix Contents xi 1 Introduction 1 1.1 Decompositions . 1 1.2 SAT-Solvers . 3 1.3 Contribution . 4 1.4 Organization . 5 1.5 Software . 6 2 Preliminaries 9 2.1 Satisfiability . 9 2.2 Partitions . 11 2.3 Graphs . 11 2.4 Tree Decompositions . 14 2.5 Clique-width Decomposition . 18 2.6 Decompositions Addressed in this Thesis . 21 2.7 Experimental Setup and Benchmarks . 22 3 Overview of Results 25 3.1 Methodologies . 25 3.2 Results . 27 4 Branchwidth and Carving-Width 31 4.1 Introduction . 31 4.2 Preliminaries . 33 4.3 Tree Encoding for Branchwidth . 35 4.4 Partition-based Reformulation of Branchwidth . 38 4.5 Carving-Width . 43 4.6 Local Improvement for Branch Decompositions . 46 4.7 Local Improvement for Carving Decompositions . 52 xi 4.8 Experimental Results . 52 4.9 Chapter Summary . 58 5 Treewidth 59 5.1 Introduction . 59 5.2 Local Improvement of Tree Decompositions . 61 5.3 Experimental Results . 64 5.4 Chapter Summary . 66 6 Special Treewidth and Pathwidth 69 6.1 Motivation . 69 6.2 Preliminaries . 72 6.3 Preprocessing . 75 6.4 Partition-Based Approach for Special Treewidth . 86 6.5 Ordering-Based Approach for Special Treewidth . 91 6.6 SAT-Encodings for Pathwidth . 96 6.7 Experiments . 99 6.8 Chapter Summary . 109 7 Fractional Hypertree Width 111 7.1 Introduction . 111 7.2 Preliminaries . 113 7.3 Ordering-Based Characterization of Fractional Hypertree Width . 114 7.4 SMT-encoding for Fractional Hypertree Decomposition . 117 7.5 Preprocessing . 119 7.6 Symmetry Breaking and Lower Bounds with Cliques . 122 7.7 Experimental Work . 123 7.8 Chapter Summary . 128 8 Conclusion and Future Work 131 List of Figures 133 List of Tables 135 List of Algorithms 137 Bibliography 139 CHAPTER 1 Introduction Computer science has become an essential part of almost every technology; querying a database, verifying software and hardware, scheduling processes or events are a few to name. As it turns out, many of these problems are not easy to solve. In case of some of these problems, we expect that one can only verify a given solution efficiently. Fortunately, there exists a silver lining for this predicament. Namely, in some special cases, it is not necessary to solve the entire problem instance. Instead, we can find a solution by first splitting the problem instance in parts, solving these and later combining the partial solutions. The splitting of a problem instance in parts is called “decomposition” and there exist various techniques to achieve this. Each decomposition method has some kind of “width measure” associated with it, which represents the quality of a decomposition.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    163 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us