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.

论文关键词:Automatic generation of problem reformulation,Executable specifications,SAT problem,NP-complete problems

论文评审过程:Received 20 November 2001, Accepted 21 January 2004, Available online 10 December 2004.

论文官网地址:https://doi.org/10.1016/j.artint.2004.01.006