Towards Automated Integration of Guess and Check Programs in Answer Set Programming
Many NP-complete problems can be encoded in the answer set semantics of logic programs in a very concise way, where the encoding reflects the typical “guess and check” nature of NP problems: The property is encoded in a way such that polynomial size certificates for it correspond to stable models of a program. However, the problem-solving capacity of full disjunctive logic programs (DLPs) is beyond NP at the second level of the polynomial hierarchy. While problems there also have a “guess and check” structure, an encoding in a DLP is often non-obvious, in particular if the “check” itself is coNP-complete; usually, such problems are solved by interleaving separate “guess” and “check” programs, where the check is expressed by inconsistency of the check program. We present general transformations of head-cycle free (extended) logic programs into stratified disjunctive logic programs which enable one to integrate such “guess” and “check” programs automatically into a single disjunctive logic program. Our results complement recent results on meta-interpretation in ASP, and extend methods and techniques for a declarative “guess and check” problem solving paradigm through ASP.
Unable to display preview. Download preview PDF.