SAT Encodings of Finite CSPs

Boolean satisfiability (SAT) is the problem of determining whether there exists an assignment of the Boolean variables to the truth values such that a given Boolean formula evaluates to true. SAT was the first example of an NP-complete problem [Coo71]. Only two decades ago SAT was mainly considered as of a theoretical interest. Nowadays, the picture is very different. SAT solving becomes mature and is a successful approach for tackling a large number of applications, ranging from artificial intelligence to industrial hardware design and verification. SAT solving consists of encodings and solvers. In order to benefit from the tremendous advances in the development of solvers, one must first encode the original problems into SAT instances. These encodings should not only be easily generated, but should also be efficiently processed by SAT solvers. Furthermore, an increasing number of practical applications in computer science can be expressed as constraint satisfaction problems (CSPs). However, encoding a CSP to SAT is currently regarded as more of an art than a science, and choosing an appropriate encoding is considered as important as choosing an algorithm. Moreover, it is much easier and more efficient to benefit from highly optimized state-of-the-art SAT solvers than to develop specialized tools from scratch. Hence, finding appropriate SAT encodings of CSPs is one of the most fascinating challenges for solving problems by SAT. This thesis studies SAT encodings of CSPs and aims at: 1) conducting a comprehensively profound study of SAT encodings of CSPs by separately investigating encodings of CSP domains and constraints; 2) proposing new SAT encodings of CSP domains; 3) proposing new SAT encoding of the at-most-one constraint, which is essential for encoding CSP variables; 4) introducing the redundant encoding and the hybrid encoding that aim to benefit from both two efficient and common SAT encodings (i.e., the sparse and order encodings) by using the channeling constraint (a term used in Constraint Programming) for SAT; and 5) revealing interesting guidelines on how to choose an appropriate SAT encoding in the way that one can exploit the availability of many efficient SAT solvers to solve CSPs efficiently and effectively. Experiments show that the proposed encodings and guidelines improve the state-of-the-art SAT encodings of CSPs.

[1]  E. Hopper,et al.  An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem , 2001, Eur. J. Oper. Res..

[2]  Bart Selman,et al.  Generating Satisfiable Problem Instances , 2000, AAAI/IAAI.

[3]  Sharad Malik,et al.  Declarative Infrastructure Configuration Synthesis and Debugging , 2008, Journal of Network and Systems Management.

[4]  William J. Cook,et al.  The Traveling Salesman Problem: A Computational Study (Princeton Series in Applied Mathematics) , 2007 .

[5]  Ian P. Gent,et al.  Symmetry in Constraint Programming , 2006, Handbook of Constraint Programming.

[6]  Rubén Ruiz,et al.  TWO NEW ROBUST GENETIC ALGORITHMS FOR THE FLOWSHOP SCHEDULING PROBLEM , 2006 .

[7]  Steven Prestwich Full Dynamic Interchangeability with Forward Checking and Arc Consistency , .

[8]  Steven Prestwich Finding Large Cliques using SAT Local Search , 2010 .

[9]  Niklas Sörensson,et al.  Translating Pseudo-Boolean Constraints into SAT , 2006, J. Satisf. Boolean Model. Comput..

[10]  Alan Crispin,et al.  Quantum annealing of the graph coloring problem , 2011, Discret. Optim..

[11]  James M. Crawford,et al.  Symmetry-Breaking Predicates for Search Problems , 1996, KR.

[12]  Pedro Barahona,et al.  Representative Encodings to Translate Finite CSPs into SAT , 2014, CPAIOR.

[13]  Steven David Prestwich,et al.  SAT problems with chains of dependent variables , 2003, Discret. Appl. Math..

[14]  Toby Walsh,et al.  Local Consistencies in SAT , 2003, SAT.

[15]  Pedro Barahona,et al.  Efficient SAT-Encoding of Linear CSP Constraints , 2014, ISAIM.

[16]  Michael A. Trick Integer and Constraint Programming Approaches for Round-Robin Tournament Scheduling , 2002, PATAT.

[17]  Alain Hertz,et al.  An adaptive memory algorithm for the k-coloring problem , 2003, Discret. Appl. Math..

[18]  James M. Crawford,et al.  Experimental Results on the Application of Satisfiability Algorithms to Scheduling Problems , 1994, AAAI.

[19]  William J. Cook,et al.  Certification of an optimal TSP tour through 85, 900 cities , 2009, Oper. Res. Lett..

[20]  Marijn J. H. Heule Solving edge-matching problems with satisfiability solvers , 2009 .

[21]  Philipp Hertel,et al.  Formalizing Dangerous SAT Encodings , 2007, SAT.

[22]  Torleiv Kløve,et al.  Permutation arrays for powerline communication and mutually orthogonal latin squares , 2004, IEEE Transactions on Information Theory.

[23]  Hantao Zhang Generating College Conference Basketball Schedules by a SAT Solver , 2003 .

[24]  Hachemi Bennaceur The Satisfiability Problem Regarded as a Constraint Satisfaction Problem , 1996, ECAI.

[25]  Stephanie Thalberg,et al.  Interferometry And Synthesis In Radio Astronomy , 2016 .

[26]  Peter Brucker,et al.  A Branch and Bound Algorithm for the Job-Shop Scheduling Problem , 1994, Discret. Appl. Math..

[27]  Weixiong Zhang,et al.  An Effective Algorithm for and Phase Transitions of the Directed Hamiltonian Cycle Problem , 2010, J. Artif. Intell. Res..

[28]  Toby Walsh,et al.  CSPLIB: A Benchmark Library for Constraints , 1999, CP.

[29]  Alban Grastien,et al.  Diagnosis of Discrete Event Systems Using Satisfiability Algorithms: A Theoretical and Empirical Study , 2007, IEEE Transactions on Automatic Control.

[30]  Wolfgang Kunz,et al.  SAT and ATPG: Boolean engines for formal hardware verification , 2002, ICCAD 2002.

[31]  M. Trick,et al.  Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, Workshop, October 11-13, 1993 , 1996 .

[32]  Peter J. Stuckey,et al.  Lazy Clause Generation Reengineered , 2009, CP.

[33]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[34]  Carlos Ansótegui,et al.  Mapping Problems with Finite-Domain Variables into Problems with Boolean Variables , 2004, SAT.

[35]  Daniel Le Berre,et al.  The Sat4j library, release 2.2 , 2010, J. Satisf. Boolean Model. Comput..

[36]  Pedro Barahona,et al.  Application of Hierarchical Hybrid Encodings to Efficient Translation of CSPs to SAT , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[37]  Miroslav N. Velev,et al.  Exploiting hierarchical encodings of equality to design independent strategies in parallel SMT decision procedures for a logic of equality , 2009, 2009 IEEE International High Level Design Validation and Test Workshop.

[38]  Willem Jan van Hoeve,et al.  The alldifferent Constraint: A Survey , 2001, ArXiv.

[39]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[40]  J. Christopher Beck,et al.  Integrating Queueing Theory and Scheduling for Dynamic Scheduling Problems , 2014, J. Artif. Intell. Res..

[41]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming) , 2005 .

[42]  Steven David Prestwich,et al.  Variable Dependency in Local Search: Prevention Is Better Than Cure , 2007, SAT.

[43]  Rob A. Rutenbar,et al.  Satisfiability-based layout revisited: detailed routing of complex FPGAs via search-based Boolean SAT , 1999, FPGA '99.

[44]  Michaël Krajecki,et al.  Solving the Langford problem in parallel , 2004, Third International Symposium on Parallel and Distributed Computing/Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks.

[45]  Jussi Rintanen Planning with Specialized SAT Solvers , 2011, AAAI.

[46]  Johan de Kleer,et al.  A Comparison of ATMS and CSP Techniques , 1989, IJCAI.

[48]  Wolfgang Küchlin,et al.  SAT-Based Consistency Checking of Automotive Electronic Product Data , 2006 .

[49]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[50]  Olivier Roussel,et al.  The International SAT Solver Competitions , 2012, AI Mag..

[51]  Alan Crispin,et al.  Graph Coloring with a Distributed Hybrid Quantum Annealing Algorithm , 2011, KES-AMSTA.

[52]  Hector J. Levesque,et al.  A New Method for Solving Hard Satisfiability Problems , 1992, AAAI.

[53]  Joao Marques-Silva,et al.  Automated Design Debugging With Maximum Satisfiability , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[54]  J. Christopher Beck,et al.  Combining Constraint Programming and Local Search for Job-Shop Scheduling , 2011, INFORMS J. Comput..

[55]  Gregory J. Chaitin,et al.  Register allocation and spilling via graph coloring , 2004, SIGP.

[56]  Michael Codish,et al.  Compiling finite domain constraints to SAT with BEE* , 2012, Theory and Practice of Logic Programming.

[57]  Olivier Bailleux,et al.  Efficient CNF Encoding of Boolean Cardinality Constraints , 2003, CP.

[58]  Frank Werner,et al.  Constructive heuristic algorithms for the open shop problem , 1993, Computing.

[59]  Josep Argelich,et al.  Efficient Encodings from CSP into SAT, and from MaxCSP into MaxSAT , 2012, J. Multiple Valued Log. Soft Comput..

[60]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[61]  Mutsunori Banbara,et al.  Compiling Finite Linear CSP into SAT , 2006, CP.

[62]  Carlos Ansótegui,et al.  Modeling Choices in Quasigroup Completion: SAT vs. CSP , 2004, AAAI.

[63]  Olivier Bailleux,et al.  Full CNF Encoding: The Counting Constraints Case , 2004, SAT.

[64]  Gerhard J. Woeginger,et al.  Sports tournaments, home-away assignments, and the break minimization problem , 2006, Discret. Optim..

[65]  X. Zhang,et al.  A simulated annealing and hill-climbing algorithm for the traveling tournament problem , 2006, Eur. J. Oper. Res..

[66]  Shinji Mizuno,et al.  On the separation in 2-period double round robin tournaments with minimum breaks , 2012, Comput. Oper. Res..

[67]  M. Velev Exploiting hierarchy and structure to efficiently solve graph coloring as SAT , 2007, ICCAD 2007.

[68]  Toby Walsh,et al.  Permutation Problems and Channelling Constraints , 2001, LPAR.

[69]  Toby Walsh,et al.  SAT v CSP , 2000, CP.

[70]  William Kocay,et al.  An extension of the multi-path algorithm for finding hamilton cycles , 1992, Discret. Math..

[71]  Yael Ben-Haim,et al.  Perfect Hashing and CNF Encodings of Cardinality Constraints , 2012, SAT.

[72]  Takeshi Yamada,et al.  Genetic Algorithms, Path Relinking, and the Flowshop Sequencing Problem , 1998, Evolutionary Computation.

[73]  Jean-Charles Régin Minimization of the number of breaks in sports scheduling problems using constraint programming , 1998, Constraint Programming and Large Scale Discrete Optimization.

[74]  Jin-Kao Hao,et al.  Hybrid Evolutionary Algorithms for Graph Coloring , 1999, J. Comb. Optim..

[75]  Toby Walsh,et al.  Automatically Reformulating SAT-Encoded CSPs , 2002 .

[76]  Olivier Bailleux On the CNF encoding of cardinality constraints and beyond , 2010, ArXiv.

[77]  Shuichi Miyazaki,et al.  SAT-Varible Complexity of Hard Combinatorial Problems , 1994, IFIP Congress.

[78]  B. Hnich,et al.  Âóùöòòð Óó Öøø¬ Blockin , 2000 .

[79]  Steven David Prestwich,et al.  Coloration Neighbourhood Search With Forward Checking , 2002, Annals of Mathematics and Artificial Intelligence.

[80]  Peter Brucker,et al.  A Branch & Bound Algorithm for the Open-shop Problem , 1997, Discret. Appl. Math..

[81]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[82]  Thomas Stützle,et al.  A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem , 2007, Eur. J. Oper. Res..

[83]  Charles J. Colbourn,et al.  The complexity of completing partial Latin squares , 1984, Discret. Appl. Math..

[84]  Barbara M. Smith Dual Models of Permutation Problems , 2001, CP.

[85]  Jin-Kao Hao,et al.  Coloring large graphs based on independent set extraction , 2012, Comput. Oper. Res..

[86]  Michael A. Trick,et al.  Round robin scheduling - a survey , 2008, Eur. J. Oper. Res..

[87]  Éric D. Taillard,et al.  Benchmarks for basic scheduling problems , 1993 .

[88]  J. Christopher Beck Solution-Guided Multi-Point Constructive Search for Job Shop Scheduling , 2007, J. Artif. Intell. Res..

[89]  Andreas G. Veneris Fault diagnosis and logic debugging using Boolean satisfiability , 2003, Proceedings. 4th International Workshop on Microprocessor Test and Verification - Common Challenges and Solutions.

[90]  Silvano Martello,et al.  Algorithm 595: An Enumerative Algorithm for Finding Hamiltonian Circuits in a Directed Graph , 1983, TOMS.

[91]  M. Gardner Mathematical Magic Show , 1978 .

[92]  Zhu Zhu,et al.  Minimum Satisfiability and Its Applications , 2011, IJCAI.

[93]  Arthur J. Bernstein,et al.  A class of binary recurrent codes with limited error propagation , 1967, IEEE Trans. Inf. Theory.

[94]  Alan M. Frisch,et al.  Solving Non-Boolean Satisfiability Problems with Stochastic Local Search: A Comparison of Encodings , 2001, Journal of Automated Reasoning.

[95]  Toby Walsh,et al.  Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications , 2009 .

[96]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[97]  Manuel Cebrián,et al.  Channeling Constraints and Value Ordering in the QuasiGroup Completion Problem , 2003, IJCAI.

[98]  Peter van Beek,et al.  On the Conversion between Non-Binary and Binary Constraint Satisfaction Problems , 1998, AAAI/IAAI.

[99]  Tomomi Matsui,et al.  Semidefinite programming based approaches to the break minimization problem , 2006, Comput. Oper. Res..

[100]  Bart Selman,et al.  Planning as Satisfiability , 1992, ECAI.

[101]  Josep Argelich,et al.  New Insights into Encodings from MaxCSP into Partial MaxSAT , 2010, 2010 40th IEEE International Symposium on Multiple-Valued Logic.

[102]  Joost P. Warners,et al.  A Linear-Time Transformation of Linear Inequalities into Conjunctive Normal Form , 1998, Inf. Process. Lett..

[103]  Jean-Charles Régin,et al.  A Filtering Algorithm for Constraints of Difference in CSPs , 1994, AAAI.

[104]  Niklas Een,et al.  MiniSat v1.13 - A SAT Solver with Conflict-Clause Minimization , 2005 .

[105]  Hachemi Bennaceur,et al.  A Comparison between SAT and CSP Techniques , 2004, Constraints.

[106]  Fahiem Bacchus,et al.  Enhancing Davis Putnam with extended binary clause reasoning , 2002, AAAI/IAAI.

[107]  Martin Gebser,et al.  The Conflict-Driven Answer Set Solver clasp: Progress Report , 2009, LPNMR.

[108]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[109]  Michael D. Ernst,et al.  Automatic SAT-Compilation of Planning Problems , 1997, IJCAI.

[110]  Steffen Hölldobler,et al.  An Efficient Encoding of the at-most-one Constraint , 2013 .

[111]  Jimmy Ho-Man Lee,et al.  Speeding Up Constraint Propagation By Redundant Modeling , 1996, CP.

[112]  Christian Bessiere,et al.  Constraint Propagation , 2006, Handbook of Constraint Programming.

[113]  Steve Linton,et al.  Conditional Symmetry Breaking , 2005, CP.

[114]  William A. Sandrin,et al.  Carrier frequency assignment for nonlinear repeaters , 1977 .

[115]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[116]  Inês Lynce,et al.  Effective CNF Encodings for the Towers of Hanoi , 2008 .

[117]  Daniel Jackson,et al.  Finding bugs with a constraint solver , 2000, ISSTA '00.

[118]  Dániel Marx,et al.  RAPH COLORING PROBLEMS AND THEIR APPLICATIONS IN SCHEDULING , 2022 .

[119]  Albert Oliveras,et al.  Cardinality Networks: a theoretical and empirical study , 2011, Constraints.

[120]  Holger H. Hoos,et al.  Stochastic local search - methods, models, applications , 1998, DISKI.

[121]  Bart Selman,et al.  The state of SAT , 2007, Discret. Appl. Math..

[122]  Vasco M. Manquinho,et al.  Exploiting Cardinality Encodings in Parallel Maximum Satisfiability , 2011, 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence.

[123]  Peter J. Stuckey,et al.  A Stochastic Non-CNF SAT Solver , 2006, PRICAI.

[124]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[125]  Jörg Hoffmann,et al.  SAT Encodings of State-Space Reachability Problems in Numeric Domains , 2007, IJCAI.

[126]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[127]  Ian P. Gent Arc Consistency in SAT , 2002, ECAI.

[128]  Igor L. Markov,et al.  Efficient symmetry breaking for Boolean satisfiability , 2003, IEEE Transactions on Computers.

[129]  Toby Walsh,et al.  Handbook of Constraint Programming (Foundations of Artificial Intelligence) , 2006 .

[130]  Alban Grastien,et al.  Importance of Variables Semantic in CNF Encoding of Cardinality Constraints , 2009, SARA.

[131]  Carsten Sinz,et al.  Towards an Optimal CNF Encoding of Boolean Cardinality Constraints , 2005, CP.

[132]  Jingchao Chen,et al.  A New SAT Encoding of the At-Most-One Constraint , 2010 .

[133]  Bart Selman,et al.  Encoding Plans in Propositional Logic , 1996, KR.

[134]  Henry A. Kautz Deconstructing Planning as Satisfiability , 2006, AAAI.

[135]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[136]  Ronald J. Gould,et al.  Updating the hamiltonian problem - A survey , 1991, J. Graph Theory.

[137]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[138]  Allen Van Gelder,et al.  Another look at graph coloring via propositional satisfiability , 2008, Discret. Appl. Math..

[139]  Inês Lynce,et al.  SAT in Bioinformatics: Making the Case with Haplotype Inference , 2006, SAT.

[140]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[141]  Van-Hau Nguyen,et al.  Solving the all-interval series problem: SAT vs CP , 2014, SoICT.

[142]  Teresa Alsinet,et al.  Minimal and Redundant SAT Encodings for the All-Interval-Series Problem , 2002, CCIA.