Practical Tractability of CSPS by Higher Level Consistency and Tree Decomposition
Total Page:16
File Type:pdf, Size:1020Kb
University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln Computer Science and Engineering: Theses, Computer Science and Engineering, Department Dissertations, and Student Research of Spring 5-3-2013 Practical Tractability of CSPS by Higher Level Consistency and Tree Decomposition Shant Karakashian University of Nebraska-Lincoln, [email protected] Follow this and additional works at: https://digitalcommons.unl.edu/computerscidiss Part of the Artificial Intelligence and Robotics Commons Karakashian, Shant, "Practical Tractability of CSPS by Higher Level Consistency and Tree Decomposition" (2013). Computer Science and Engineering: Theses, Dissertations, and Student Research. 58. https://digitalcommons.unl.edu/computerscidiss/58 This Article is brought to you for free and open access by the Computer Science and Engineering, Department of at DigitalCommons@University of Nebraska - Lincoln. It has been accepted for inclusion in Computer Science and Engineering: Theses, Dissertations, and Student Research by an authorized administrator of DigitalCommons@University of Nebraska - Lincoln. PRACTICAL TRACTABILITY OF CSPS BY HIGHER LEVEL CONSISTENCY AND TREE DECOMPOSITION by Shant Karakashian A DISSERTATION Presented to the Faculty of The Graduate College at the University of Nebraska In Partial Fulfilment of Requirements For the Degree of Doctor of Philosophy Major: Computer Science Under the Supervision of Professor Berthe Y. Choueiry Lincoln, Nebraska May, 2013 PRACTICAL TRACTABILITY OF CSPS BY HIGHER LEVEL CONSISTENCY AND TREE DECOMPOSITION Shant Karakashian, Ph. D. University of Nebraska, 2013 Adviser: Berthe Y. Choueiry Constraint Satisfaction is a flexible paradigm for modeling many decision problems in Engineering, Computer Science, and Management. Constraint Satisfaction Problems (CSPs) are in general N P -complete and are usually solved with search. Research has identified various islands of tractability, which enable solving certain CSPs with backtrack-free search. For example, one sufficient condition for tractability relates the consistency level of a CSP to treewidth of the CSP's constraint network. However, enforcing higher levels of consistency on a CSP may require the addition of constraints, thus altering the topology of the constraint network and increasing its treewidth. This thesis addresses the following question: How close can we approach in practice the tractability guaranteed by the relationship between the level of consistency in a CSP and the treewidth of its constraint network? To achieve \practical tractability," this thesis proposes: (1) New local consistency properties and algorithms for enforcing them without adding constraints or altering the network's topology; (2) Methods to enforce these consistency properties on the clusters of a tree decomposition of the CSP; and (3) Schemes to bolster the propagation between the clusters of the tree decomposition. Our empirical evaluation shows that our techniques allow us to achieve practical tractability for a wide range of problems, and that they are both applicable (i.e., require acceptable time and space) and useful (i.e., outperform other consistency properties). We theoretically characterize the proposed consistency properties and empirically evaluate our techniques on benchmark problems. Our techniques for higher level consistency exhibit their best performances on difficult benchmark problems. They solve a larger number of difficult problem instances than algorithms enforcing weaker consistency properties, and moreover they solve them in an almost backtrack-free manner. iv COPYRIGHT c 2013, Shant Karakashian v DEDICATION To my family and my wife vi ACKNOWLEDGMENTS I am indebted to all those who helped me throughout the years of my graduate studies. I am grateful to my adviser, Professor Berthe Y. Choueiry, for her guidance, help, support and patience. I would like to thank the members of my Supervising Committee for their support and input, in particular the two readers of my dissertation Professor Rina Dechter and Professor Matthew Dwyer for the constructive feedback and corrections. The research described in this dissertation was inspired by some of the research contributions of Professor Dechter, and the discussion related in Section 6.5.4 is a direct result of her input. I would like to acknowledge research collaborations and the scientific input of the following individuals: Professor Rina Dechter and Dr. Radu Marinescu for discussions about tree decomposition, Mr. Robert J. Woodward for collaboration on Chapters 3 and 5, Professor Stephen G. Hartke for collaboration on Appendix A, Dr. Christian Bessiere for collaboration on Chapters 3, 5, and Appendix B, Mr. Christopher G. Reeson for collaboration on Chapter 3, Professor Kostas Stergiou for sharing his data and random problem generator, and Professor Stephen D. Scott and Mr. Daniel Geschwender for collaboration on Chapter 4. My gratitude goes to Mrs. Gassia Akilian, Mr. Daniel Geschwender, Ms. Phyllis O'Neil, Mr. Tony Schneider, and Mr. Robert J. Woodward for carefully proofreading this dissertation. Special thanks to Professor David Swanson, Mr. Tom Harvil and the entire team of the Holland Computing Center team for supporting me with the use of computing resources necessary for the experiments. Special thanks to Professor Eugene C. Freuder, Dr. Stephen Prestwich, and Dr. Richard Wallace for hosting me at 4C during Summer 2010, which was a wonderful research experience and invaluable training. vii I would like to thank all the members of my family and my wife for their uncon- ditional support, infinite sacrifice, and unwavering encouragement throughout this journey. My sincere gratitude goes to Dr. Jihad Boulos and Dr. Walid Keirouz for their mentorship and friendship, and for being there for me during the most critical stages of my academic journey. viii GRANT INFORMATION This research supported by a NSF CAREER Award #0133568 and NSF Grant No. RI-111795. Experiments were conducted on the equipment of the Holland Computing Center at UNL. ix Contents Contents ix List of Figures xvii List of Tables xxi List of algorithms xxiv 1 Introduction 1 1.1 Motivation & Claim . 2 1.2 Approach . 4 1.2.1 Higher level consistencies . 4 1.2.2 Tree decomposition . 4 1.3 Contributions . 5 1.4 Document Structure . 7 2 Background Information 10 2.1 Constraint Satisfaction Problems (CSPs) . 10 2.1.1 Problem definition . 11 2.1.2 Defining constraints . 12 2.1.3 Graphical representations . 13 x 2.1.4 Solving CSPs . 15 2.2 Consistency Properties . 16 2.2.1 Variable-based consistency properties . 16 2.2.2 Relation-based consistency properties . 18 2.2.3 Global consistency properties . 19 2.2.4 Comparing consistency properties . 19 2.3 Algorithms for Enforcing Consistency . 20 2.3.1 Domain filtering . 20 2.3.2 Constraint synthesis . 21 2.3.3 Relation filtering . 21 2.3.4 Techniques for improving performance in practice . 22 2.4 Tree-Structured Constraint Networks . 22 2.5 Tree Decomposition . 23 2.5.1 Definition . 23 2.5.2 Structural parameters and tractability . 25 2.5.3 Main tree-decomposition techniques . 25 2.6 Solving CSPs with Tree Decomposition . 26 2.6.1 Cluster-centered methods . 27 2.6.2 Variable-centered methods . 28 2.6.3 Backtrack-search based methods . 30 2.6.4 Approximation techniques . 31 3 Consistency Property R(∗,m)C 34 3.1 Overview . 35 3.2 R(∗,m)C ................................. 36 3.3 Weakening R(∗,m)C ........................... 38 xi 3.4 Theoretical Characterization . 40 3.5 A First Algorithm for Enforcing R(∗,m)C . 40 3.5.1 Initializing the queue . 41 3.5.2 Processing the queue . 41 3.5.3 Searching for a support . 43 3.5.4 The index-tree data structure . 43 3.5.5 Improving the search for support . 45 3.5.6 Improving forward checking . 45 3.5.7 Complexity analysis . 46 3.6 Related Work . 47 3.7 Empirical Evaluations . 49 3.7.1 Experimental set-up . 49 3.7.2 Results . 50 3.7.3 Conclusions . 62 4 An Alternative Algorithm for Enforcing R(∗,m)C 64 4.1 Background . 65 4.2 Related Work . 67 4.3 AllSol .................................. 67 4.3.1 AllSol: Solving a single counting problem . 67 4.3.2 Complexity analysis . 68 4.3.3 Qualitative comparison of PerTuple and AllSol . 69 4.4 Building a Hybrid Solver . 71 4.4.1 Data used for building the classifiers . 72 4.4.2 Parameters and features . 74 4.4.3 Building the classifiers . 76 xii 4.4.4 Empirical evaluations . 78 4.4.5 Conclusions . 83 5 Localized Consistency & Structure-Guided Propagation 84 5.1 Generating a Tree Decomposition . 85 5.2 Localizing Consistency to Clusters . 87 5.2.1 Information transfer between clusters . 88 5.2.2 Characterizing cl-R(∗,m)C . 89 5.3 Structure-Guided Propagation . 89 5.3.1 Related Work . 91 5.3.2 Structure of the propagation queue . 92 5.3.3 Queue-management strategies . 93 5.3.4 Implementing Priority and Dynamic . 94 5.3.4.1 Functions & accessors used in pseudocode . 95 5.3.4.2 Selection from fringe . 96 5.3.4.3 Algorithm for Priority . 97 5.3.4.4 Algorithm for Dynamic . 101 5.3.5 Correctness of the algorithms . 103 5.4 Empirical Evaluations . 104 5.4.1 Experimental set-up . 104 5.4.2 Evaluating the localization . 105 5.4.3 Evaluating queue-management strategies . 109 5.5 Conclusions . 112 6 Bolstering Propagation at Separators 114 6.1 Introduction . 114 6.2 Bolstering Propagation at Separators . 115 xiii 6.2.1 Three bolstering schemes . 116 6.2.1.1 Adding constraint projections . 117 6.2.1.2 Adding binary constraints . 117 6.2.1.3 Adding clique constraints . 119 6.2.1.4 Generating the relations of the binary and clique con- straints . 120 6.2.2 Transferring information between clusters . 122 6.3 Resulting Consistency Properties . 122 6.4 Related Work . 125 6.5 Empirical Evaluations . 126 6.5.1 Experimental set-up . 126 6.5.2 Aggregate results . 127 6.5.3 A finer view . 130 6.5.4 Performance as a function of the treewidth .