: Compiling problem specifications into SAT

We present a compiler that translates a problem specification into a propositional satisfiability test (SAT). Problems are specified in a logic-based language, called np-spec, which allows the definition of complex problems in a highly declarative way, and whose expressive power is such as to capture all problems which belong to the complexity class NP. The target SAT instance is solved using any of the various state-of-the-art solvers available from the community. The system obtained is an executable specification language for all NP problems which shows interesting computational properties. The performance of the system has been tested on a few classical problems, namely graph coloring, Hamiltonian cycle, job-shop scheduling, and on a real-world scheduling application, namely the tournament scheduling problem.

[1]  Gerald Pfeifer,et al.  The KR System dlv: Progress Report, Comparisons and Benchmarks , 1998, KR.

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

[3]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

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

[5]  Ellis Horowitz,et al.  Fundamentals of Data Structures , 1984 .

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

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

[8]  Fabio Massacci,et al.  Logical Cryptanalysis as a SAT Problem , 2000, Journal of Automated Reasoning.

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

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

[11]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[12]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[13]  Andrea Schaerf,et al.  Scheduling Sport Tournaments using Constraint Logic Programming , 1999, Constraints.

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

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

[16]  Daniel Jackson Automating first-order relational logic , 2000, SIGSOFT '00/FSE-8.

[17]  Luigi Palopoli,et al.  NP-SPEC: an executable specification language for solving all problems in NP , 1999, Comput. Lang..

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

[19]  Norman Sadeh,et al.  Look-ahead techniques for micro-opportunistic job shop scheduling , 1992 .

[20]  Ellis Horowitz,et al.  Fundamentals of Data Structures in Pascal , 1984 .

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

[22]  Masayuki Fujita,et al.  Automatic Generation of Some Results in Finite Algebra , 1993, IJCAI.

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

[24]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.

[25]  Jack Minker Foundations of deductive databases and logic programming , 1988 .

[26]  Marco Schaerf,et al.  An Algorithm to Evaluate Quantified Boolean Formulae and Its Experimental Evaluation , 2002, Journal of Automated Reasoning.

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

[28]  Luigi Palopoli,et al.  Circumscribing DATALOG: Expressive Power and Complexity , 1998, Theor. Comput. Sci..

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

[30]  David S. Johnson,et al.  Cliques, Coloring, and Satisfiability , 1996 .

[31]  Vladimir Lifschitz,et al.  Computing Circumscription , 1985, IJCAI.

[32]  Richard M. Karp,et al.  Complexity of Computation , 1974 .

[33]  Fabio Massacci,et al.  Logical Cryptanalysis as a SAT Problem ? Encoding and Analysis of the U.S. Data Encryption Standard , 2000 .

[34]  Holger H. Hoos,et al.  Solving Hard Combinatorial Problems with GSAT - A Case Study , 1996, KI.

[35]  Luigi Palopoli,et al.  NP-SPEC: an executable specification language for solving all problems in NP , 2000, Comput. Lang..

[36]  Chu Min Li,et al.  Heuristics Based on Unit Propagation for Satisfiability Problems , 1997, IJCAI.

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