Subscribe

Issue No.04 - April (2004 vol.16)

pp: 487-503

ABSTRACT

<p><b>Abstract</b>—Almost all semantics for logic programs with negation identify a <it>set</it>, <tmath>SEM(P)</tmath>, of models of program <tmath>P</tmath>, as the intended semantics of <tmath>P</tmath>, and any model <tmath>M</tmath> in this class is considered a possible meaning of <tmath>P</tmath> with regard to the semantics the user has in mind. Thus, for example, in the case of stable models [CHECK END OF SENTENCE], choice models [CHECK END OF SENTENCE], answer sets [CHECK END OF SENTENCE], etc., different possible models correspond to different ways of "completing” the incomplete information in the logic program. However, different end-users may have different ideas on which of these different models in <tmath>SEM(P)</tmath> is a reasonable one from their point of view. For instance, given <tmath>SEM(P)</tmath>, user <tmath>U_1</tmath> may <it>prefer</it> model <tmath>M_1\in SEM(P)</tmath> to model <tmath>M_2\in SEM(P)</tmath> based on some evaluation criterion that she has. In this paper, we develop a logic program semantics based on <it>Optimal Models</it>. This semantics does not add yet another semantics to the logic programming arena—it takes as input an existing semantics <tmath>SEM(P)</tmath><it>and</it> a user-specified objective function <tmath>Obj</tmath>, and yields a new semantics <tmath>\underline{{\rm{Opt}}}(P)\subseteq SEM(P)</tmath> that realizes the objective function <it>within the framework of preferred models identified already by <tmath>SEM(P)</tmath></it>. Thus, the user who may or may not know anything about logic programming has considerable flexibility in making the system reflect her own objectives by building "on top” of existing semantics known to the system. In addition to the declarative semantics, we provide a complete complexity analysis and algorithms to compute optimal models under varied conditions when <tmath>SEM(P)</tmath> is the stable model semantics, the minimal models semantics, and the all-models semantics.</p>

INDEX TERMS

Disjunctive logic programming, computational complexity, nonmonotonic reasoning, knowledge representation, optimization problems.

CITATION

Francesco Scarcello, Nicola Leone, "Optimal Models of Disjunctive Logic Programs: Semantics, Complexity, and Computation",

*IEEE Transactions on Knowledge & Data Engineering*, vol.16, no. 4, pp. 487-503, April 2004, doi:10.1109/TKDE.2004.1269672