Dynamic local search for SAT : design, insights and analysis

In Boolean logic, a formula is satisfiable if a variable assignment exists that will make the formula equivalent to true, and the propositional satisfiability problem (SAT) is to determine if a given formula is satisfiable. SAT is one of the most fundamental problems in computer science, and since many relevant combinatorial problems can be encoded into SAT, it is of substantial theoretical and practical interest. A popular and successful approach to solving combinatorial problems such as SAT is Stochastic Local Search (SLS). In this dissertation we focus on SLS algorithms for SAT, which can find satisfying variable assignments effectively, but cannot determine if no satisfying variable assignment exists. Our primary goal is to advance the state-of-the-art for SLS algorithms for SAT. We accomplish this goal explicitly by developing new SLS algorithms that outperform the existing algorithms on interesting benchmark problems, and implicitly by advancing the understanding of current algorithms and introducing tools for developing new algorithms. The prevalent theme of our work is Dynamic Local Search (DLS), where DLS algorithms use their search history to dynamically change their behaviour. The cornerstone of this dissertation is UBCSAT, a software framework we developed for efficiently implementing and empirically evaluating SLS algorithms for SAT. We present the SCALING AND PROBABILISTIC SMOOTHING (SAPS) algorithm, which is amongst the state-of-the-art SLS algorithms for SAT. We provide an in-depth study of a class of DLS algorithms, analyze their performance and significantly advance the understanding of their behaviour. We also advance the understanding of the role of random decisions in SLS algorithms, by providing an empirical analysis on both the quality and quantity of random decisions. The capstone of this dissertation is a new conceptual model for representing and designing SLS algorithms for SAT. We introduce a new software design architecture that implements our model and is specifically designed to leverage recent tools to automate many of the tedious aspects of algorithm design. We demonstrate that by following our new algorithm design approach, we have achieved significant improvements over previous state-of-the-art SLS algorithms for SAT on encodings of software verification benchmark instances.

[1]  Harry Zhang,et al.  Combining Adaptive Noise and Look-Ahead in Local Search for SAT , 2007, SAT.

[2]  Kevin Leyton-Brown,et al.  SATenstein: Automatically Building Local Search SAT Solvers from Components , 2009, IJCAI.

[3]  Alan J. Hu,et al.  Calysto: scalable and precise extended static checking , 2008, ICSE.

[4]  Holger H. Hoos SAT-Encodings, Search Space Structure, and Local Search Performance , 1999, IJCAI.

[5]  Calin Anton,et al.  Generating Satisfiable SAT Instances Using Random Subgraph Isomorphism , 2009, Canadian Conference on AI.

[6]  Pascal Van Hentenryck,et al.  Control Abstractions for Local Search , 2003, Constraints.

[7]  Holger H. Hoos,et al.  Local Search Methods , 2006, Handbook of Constraint Programming.

[8]  Elaine B. Barker,et al.  A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications , 2000 .

[9]  Alan J. Hu,et al.  Boosting Verification by Automatic Tuning of Decision Procedures , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[10]  Carlos Ansótegui,et al.  A Gender-Based Genetic Algorithm for the Automatic Configuration of Algorithms , 2009, CP.

[11]  Harry Zhang,et al.  A Switching Criterion for Intensification and Diversification in Local Search for SAT , 2008, J. Satisf. Boolean Model. Comput..

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

[13]  John Franco,et al.  Probabilistic analysis of the Davis Putnam procedure for solving the satisfiability problem , 1983, Discret. Appl. Math..

[14]  Bart Selman,et al.  Evidence for Invariants in Local Search , 1997, AAAI/IAAI.

[15]  Thomas Stützle,et al.  SATLIB: An Online Resource for Research on SAT , 2000 .

[16]  Kevin Leyton-Brown,et al.  : The Design and Analysis of an Algorithm Portfolio for SAT , 2007, CP.

[17]  John Thornton,et al.  Clause Weighting Local Search for SAT , 2005, Journal of Automated Reasoning.

[18]  Henry Kautz,et al.  Domain-independant extensions to GSAT : Solving large structured variables , 1993, International Joint Conference on Artificial Intelligence.

[19]  Pierre Hansen,et al.  Algorithms for the maximum satisfiability problem , 1987, Computing.

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

[21]  Paul Morris,et al.  The Breakout Method for Escaping from Local Minima , 1993, AAAI.

[22]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

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

[24]  Robert E. Tarjan,et al.  A Linear-Time Algorithm for Testing the Truth of Certain Quantified Boolean Formulas , 1979, Inf. Process. Lett..

[25]  Abdul Sattar,et al.  Neighbourhood Clause Weight Redistribution in Local Search for SAT , 2005, CP.

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

[28]  Thomas Stützle,et al.  Evaluating Las Vegas Algorithms: Pitfalls and Remedies , 1998, UAI.

[29]  Michael T. Wolfinger,et al.  Barrier Trees of Degenerate Landscapes , 2002 .

[30]  Yoav Shoham,et al.  Understanding Random SAT: Beyond the Clauses-to-Variables Ratio , 2004, CP.

[31]  P. Slater,et al.  Permutations of the positive integers with restrictions on the sequence of differences. , 1977 .

[32]  H. Hoos Computer-Aided Design of High-Performance Algorithms , 2008 .

[33]  Holger H. Hoos,et al.  Warped Landscapes and Random Acts of SAT Solving , 2004, AI&M.

[34]  Holger H. Hoos,et al.  UBCSAT: An Implementation and Experimentation Environment for SLS Algorithms for SAT & MAX-SAT , 2004, SAT.

[35]  Kevin Leyton-Brown,et al.  Hydra: Automatically Configuring Algorithms for Portfolio-Based Selection , 2010, AAAI.

[36]  Thomas Stützle,et al.  Iterated Robust Tabu Search for MAX-SAT , 2003, Canadian Conference on AI.

[37]  Bart Selman,et al.  Pushing the Envelope: Planning, Propositional Logic and Stochastic Search , 1996, AAAI/IAAI, Vol. 2.

[38]  Bart Selman,et al.  Problem Structure in the Presence of Perturbations , 1997, AAAI/IAAI.

[39]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

[40]  Ian P. Gent,et al.  Unsatisfied Variables in Local Search , 1995 .

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

[42]  Dale Schuurmans,et al.  The Exponentiated Subgradient Algorithm for Heuristic Boolean Programming , 2001, IJCAI.

[43]  Armin Biere,et al.  PicoSAT Essentials , 2008, J. Satisf. Boolean Model. Comput..

[44]  Chu Min Li,et al.  Diversification and Determinism in Local Search for Satisfiability , 2005, SAT.

[45]  M. D. MacLaren The Art of Computer Programming. Volume 2: Seminumerical Algorithms (Donald E. Knuth) , 1970 .

[46]  Éric D. Taillard,et al.  Robust taboo search for the quadratic assignment problem , 1991, Parallel Comput..

[47]  Luca Maria Gambardella,et al.  Adaptive memory programming: A unified view of metaheuristics , 1998, Eur. J. Oper. Res..

[48]  Jeremy Frank,et al.  Weighting for Godot: Learning Heuristics for GSAT , 1996, AAAI/IAAI, Vol. 1.

[49]  Hector J. Levesque,et al.  Hard and Easy Distributions of SAT Problems , 1992, AAAI.

[50]  Zhe Wu,et al.  An Efficient Global-Search Strategy in Discrete Lagrangian Methods for Solving Hard Satisfiability Problems , 2000, AAAI/IAAI.

[51]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[52]  Byungki Cha,et al.  Adding New Clauses for Faster Local Search , 1996, AAAI/IAAI, Vol. 1.

[53]  John N. Hooker,et al.  Needed: An Empirical Science of Algorithms , 1994, Oper. Res..

[54]  Alex S. Fukunaga Efficient Implementations of SAT Local Search , 2004, SAT.

[55]  John N. Hooker,et al.  Testing heuristics: We have it all wrong , 1995, J. Heuristics.

[56]  John Thornton,et al.  Using Cost Distributions to Guide Weight Decay in Local Search for SAT , 2008, PRICAI.

[57]  Frank Hutter,et al.  Automated configuration of algorithms for solving hard computational problems , 2009 .

[58]  Oliver Kullmann The SAT 2005 Solver Competition on Random Instances , 2006, J. Satisf. Boolean Model. Comput..

[59]  Kazuo Iwama,et al.  Improved upper bounds for 3-SAT , 2004, SODA '04.

[60]  Uwe Schöning A Probabilistic Algorithm for k-SAT and Constraint Satisfaction Problems , 1999, FOCS.

[61]  Kevin Leyton-Brown,et al.  Performance Prediction and Automated Tuning of Randomized and Parametric Algorithms , 2006, CP.

[62]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[63]  Mark E. Stickel,et al.  Implementing the Davis–Putnam Method , 2000, Journal of Automated Reasoning.

[64]  Benjamin W. Wah,et al.  A Discrete Lagrangian-Based Global-Search Method for Solving Satisfiability Problems , 1996, J. Glob. Optim..

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

[66]  Holger H. Hoos,et al.  On the Run-time Behaviour of Stochastic Local Search Algorithms for SAT , 1999, AAAI/IAAI.

[67]  Alex S. Fukunaga,et al.  Evolving Local Search Heuristics for SAT Using Genetic Programming , 2004, GECCO.

[68]  Toby Walsh,et al.  Towards an Understanding of Hill-Climbing Procedures for SAT , 1993, AAAI.

[69]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning , 1991, Oper. Res..

[70]  Bart Selman,et al.  Noise Strategies for Improving Local Search , 1994, AAAI.

[71]  Abdul Sattar,et al.  Adaptive Clause Weight Redistribution , 2006, CP.

[72]  Abdul Sattar,et al.  Advances in Local Search for Satisfiability , 2007, Australian Conference on Artificial Intelligence.

[73]  Stephan Mertens,et al.  Pseudo Random Coins Show More Heads Than Tails , 2003 .

[74]  Evgeny Dantsin,et al.  Deterministic Algorithms for k-SAT Based on Covering Codes and Local Search , 2000, ICALP.

[75]  Holger H. Hoos,et al.  On the Quality and Quantity of Random Decisions in Stochastic Local Search for SAT , 2006, Canadian Conference on AI.

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

[77]  Holger H. Hoos,et al.  Dynamic Scoring Functions with Variable Expressions: New SLS Methods for Solving SAT , 2010, SAT.

[78]  John Thornton,et al.  Additive versus Multiplicative Clause Weighting for SAT , 2004, AAAI.

[79]  Mauricio G. C. Resende,et al.  A continuous approach to inductive inference , 1992, Math. Program..

[80]  Marco Bucci,et al.  A Design of Reliable True Random Number Generator for Cryptographic Applications , 1999, CHES.

[81]  Peter C. Cheeseman,et al.  Where the Really Hard Problems Are , 1991, IJCAI.

[82]  Holger H. Hoos,et al.  An adaptive noise mechanism for walkSAT , 2002, AAAI/IAAI.

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

[84]  Zhe Wu,et al.  Trap Escaping Strategies in Discrete Lagrangian Methods for Solving Hard Satisfiability and Maximum Satisfiability Problems , 1999, AAAI/IAAI.

[85]  Endre Szemerédi,et al.  Many hard examples for resolution , 1988, JACM.

[86]  Alan M. Ferrenberg,et al.  Monte Carlo simulations: Hidden errors from "good" random number generators. , 1992, Physical review letters.

[87]  Edward A. Hirsch,et al.  UnitWalk: A new SAT solver that uses local search guided by unit clause elimination , 2005, Annals of Mathematics and Artificial Intelligence.

[88]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[89]  Hector J. Levesque,et al.  Generating Hard Satisfiability Problems , 1996, Artif. Intell..

[90]  Laurent Simon,et al.  The Essentials of the SAT 2003 Competition , 2003, SAT.

[91]  Abdul Sattar,et al.  Old Resolution Meets Modern SLS , 2005, AAAI.

[92]  Andrew Slater,et al.  Modelling More Realistic SAT Problems , 2002, Australian Joint Conference on Artificial Intelligence.

[93]  Alex S. Fukunaga,et al.  Automated Discovery of Local Search Heuristics for Satisfiability Testing , 2008, Evolutionary Computation.

[94]  Lakhdar Sais,et al.  Tabu Search for SAT , 1997, AAAI/IAAI.

[95]  Holger H. Hoos,et al.  Scaling and Probabilistic Smoothing: Efficient Dynamic Local Search for SAT , 2002, CP.

[96]  C.H. Papadimitriou,et al.  On selecting a satisfying truth assignment , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[97]  Peter F. Stadler,et al.  Towards a theory of landscapes , 1995 .

[98]  Maria Luisa Bonet,et al.  On the Structure of Industrial SAT Instances , 2009, CP.

[99]  Inês Lynce,et al.  OpenSAT: An Open Source SAT Software Project , 2003 .

[100]  Andrew J. Parkes,et al.  Tuning Local Search for Satisfiability Testing , 1996, AAAI/IAAI, Vol. 1.

[101]  Tracy Larrabee,et al.  Test pattern generation using Boolean satisfiability , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[102]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[103]  Bart Selman,et al.  Systematic Versus Stochastic Constraint Satisfaction , 1995, IJCAI.

[104]  Toby Walsh,et al.  Morphing: Combining Structure and Randomness , 1999, AAAI/IAAI.

[105]  Steven David Prestwich,et al.  Random Walk with Continuously Smoothed Variable Weights , 2005, SAT.

[106]  John Thornton,et al.  Longer-Term Memory in Clause Weighting Local Search for SAT , 2004, Australian Conference on Artificial Intelligence.

[107]  Fred W. Glover,et al.  Future paths for integer programming and links to artificial intelligence , 1986, Comput. Oper. Res..

[108]  Wheeler Ruml,et al.  Complete Local Search for Propositional Satisfiability , 2004, AAAI.

[109]  Alex S. Fukunaga,et al.  Automated discovery of composite SAT variable-selection heuristics , 2002, AAAI/IAAI.

[110]  Dale Schuurmans,et al.  Local search characteristics of incomplete SAT procedures , 2000, Artif. Intell..