Enfragmo: A System for Grounding Extended First-Order Logic to SAT

Computationally hard search and optimization problems occur widely in engineering, business, science and logistics, in domains ranging from hardware and software design and verification, to drug design, planning and scheduling. Most of these problems are NP-complete, so no known polynomial-time algorithms exist. Usually, the available solution for a user facing such problems involves mathematical programming for example, integer-linear programming tools, constraint logic programming tools and development of custom-designed implementations of algorithms for solving NP-hard problems. Successful use of these approaches normally requires a deep knowledge of programming, and is often time consuming. Another approach to attack NP search problems is to utilize the knowledge of users to produce precise descriptions of the (search) problem in a declarative specification or modelling language. A solver then takes a specification, together with an instance of the problem, and produces a solution to the problem, if there is any. Model expansion (MX), the logical task of expanding a given (mathematical) structure by new relations, is one of the well-studied directions of this approach. Formally, in MX, the user axiomatizes their problem in a language. This axiomatization describes the relationship between an instance of the problem (a given finite structure, i.e., a universe together with some relations and functions), and its solutions (certain expansions of that structure). This thesis presents the Enfragmo system for specifying and solving combinatorial search problems. Enfragmo takes a problem specification, in which the axioms are expressed in an extension of first-order logic, and a problem instance as its input and produces a propositional conjunctive normal form formula that is sent to a propositional satisfiability (SAT) solver. In this thesis, we describe several techniques that we have developed in order to build our well performing solver, Enfragmo.

[1]  James Mackenzie Crawford A theoretical analysis of reasoning by symmetry in first-order logic (extended abstract) , 1992 .

[2]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[3]  David G. Mitchell,et al.  Expressive power and abstraction in Essence , 2008, Constraints.

[4]  Georg Gottlob,et al.  Complexity and expressive power of logic programming , 1997, Proceedings of Computational Complexity. Twelfth Annual IEEE Conference.

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

[6]  Warwick Harvey,et al.  Essence: A constraint language for specifying combinatorial problems , 2007, Constraints.

[7]  Niklas Eén,et al.  SAT Based Model Checking , 2005 .

[8]  Olivier Roussel,et al.  A Translation of Pseudo Boolean Constraints to SAT , 2006, J. Satisf. Boolean Model. Comput..

[9]  Giovambattista Ianni,et al.  Computable Functions in ASP: Theory and Implementation , 2008, ICLP.

[10]  David G. Mitchell,et al.  Grounding Formulas with Complex Terms , 2011, Canadian Conference on AI.

[11]  Miroslaw Truszczynski,et al.  The Second Answer Set Programming Competition , 2009, LPNMR.

[12]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

[14]  Johan Wittocx,et al.  Grounding FO and FO(ID) with Bounds , 2010, J. Artif. Intell. Res..

[15]  Yuliya Lierler,et al.  One More Decidable Class of Finitely Ground Programs , 2009, ICLP.

[16]  Johan Wittocx,et al.  The IDP system: A model expansion system for an extension of classical logic , 2008 .

[17]  Raheleh Mohebali,et al.  A method for solving np search based on model expansion and grounding , 2007 .

[18]  Noga Alon,et al.  The monotone circuit complexity of boolean functions , 1987, Comb..

[19]  Eugenia Ternovska,et al.  Grounding for Model Expansion in k-Guarded Formulas with Inductive Definitions , 2007, IJCAI.

[20]  Yuri Gurevich,et al.  Metafinite Model Theory , 1994, LCC.

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

[22]  David G. Mitchell,et al.  Lifted Unit Propagation for Effective Grounding , 2011, ArXiv.

[23]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[24]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[25]  Johan Wittocx,et al.  Grounding with Bounds , 2008, AAAI.

[26]  Frank van Harmelen,et al.  Handbook of Knowledge Representation , 2008, Handbook of Knowledge Representation.

[27]  Gerald Pfeifer,et al.  System Description: DLV , 2001, LPNMR.

[28]  Martin Gebser,et al.  GrinGo : A New Grounder for Answer Set Programming , 2007, LPNMR.

[29]  David G. Mitchell,et al.  New Encoding for Translating Pseudo-Boolean Constraints into SAT , 2013, SARA.

[30]  Giovambattista Ianni,et al.  An ASP System with Functions, Lists, and Sets , 2009, LPNMR.

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

[32]  R. Goodstein,et al.  An introduction to the theory of numbers , 1961 .

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

[34]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[35]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[36]  A. Salomaa,et al.  Chinese remainder theorem: applications in computing, coding, cryptography , 1996 .

[37]  Eugenia Ternovska,et al.  A Logic of Non-monotone Inductive Definitions and Its Modularity Properties , 2004, LPNMR.

[38]  Alex M. Andrew,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2004 .

[39]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[40]  Olivier Roussel,et al.  New Encodings of Pseudo-Boolean Constraints into CNF , 2009, SAT.

[41]  Igor L. Markov,et al.  PBS: A Backtrack-Search Pseudo-Boolean Solver and Optimizer , 2000 .

[42]  Emina Torlak,et al.  A constraint solver for software engineering: finding models and cores of large relational specifications , 2009 .

[43]  P. Flener,et al.  Symmetry in matrix models , 2001 .

[44]  Mihalis Yannakakis,et al.  The complexity of facets (and some facets of complexity) , 1982, STOC '82.

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

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

[47]  Yuliya Lierler,et al.  Termination of Grounding Is Not Preserved by Strongly Equivalent Transformations , 2011, LPNMR.

[48]  Marius Thomas Lindauer,et al.  Potassco: The Potsdam Answer Set Solving Collection , 2011, AI Commun..

[49]  Toby Walsh,et al.  Analysis of Heuristics for Number Partitioning , 1998, Comput. Intell..

[50]  Andreas Blass,et al.  On the Unique Satisfiability Problem , 1982, Inf. Control..

[51]  Mario Alviano,et al.  Dynamic Magic Sets for Programs with Monotone Recursive Aggregates , 2011, LPNMR.

[52]  Ronald Fagin Generalized first-order spectra, and polynomial. time recognizable sets , 1974 .

[53]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[54]  Christian Borgs,et al.  Phase transition and finite‐size scaling for the integer partitioning problem , 2001, Random Struct. Algorithms.

[55]  Yuri Gurevich,et al.  Metafinite Model Theory , 1994, Inf. Comput..

[56]  Bakir Farhi,et al.  New results on the least common multiple of consecutive integers , 2008, 0808.1507.

[57]  Eugenia Ternovska,et al.  Reducing Inductive Definitions to Propositional Satisfiability , 2005, ICLP.

[58]  P. Bhave,et al.  Integer programming formulations of vehicle routing problems , 1985 .

[59]  David G. Mitchell,et al.  Enfragmo: A System for Modelling and Solving Search Problems with Logic , 2012, LPAR.

[60]  David G. Mitchell,et al.  Speed-Up Techniques for Negation in Grounding , 2010, LPAR.

[61]  Leonid Libkin,et al.  Elements of Finite Model Theory , 2004, Texts in Theoretical Computer Science.

[62]  David G. Mitchell,et al.  Problem Solving with the Enfragmo System , 2013, Theory Pract. Log. Program..

[63]  Georg Gottlob,et al.  Disjunctive datalog , 1997, TODS.

[64]  Toni Mancini,et al.  SAT as an Effective Solving Technology for Constraint Problems , 2006, ISMIS.

[65]  Tommi Syrjänen Omega-Restricted Logic Programs , 2001, LPNMR.

[66]  David G. Mitchell,et al.  A Framework for Representing and Solving NP Search Problems , 2005, AAAI.

[67]  Karem A. Sakallah,et al.  Pueblo: A Hybrid Pseudo-Boolean SAT Solver , 2006, J. Satisf. Boolean Model. Comput..

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