An Unfolding-Based Semantics for Logic Programming with Aggregates

The paper presents two equivalent definitions of answer sets for logic programs with aggregates. These definitions build on the notion of unfolding of aggregates, and they are aimed at creating methodologies to translate logic programs with aggregates to normal logic programs or positive programs, whose answer set semantics can be used to defined the semantics of the original programs. The first definition provides an alternative view of the semantics for logic programming with aggregates described by Pelov et al. The second definition is similar to the traditional answer set definition for normal logic programs, in that, given a logic program with aggregates and an interpretation, the unfolding process produces a positive program. The paper shows how this definition can be extended to consider aggregates in the head of the rules. The proposed views of logic programming with aggregates are simple and coincide with the ultimate stable model semantics, and with other semantic characterizations for large classes of program (e.g., programs with monotone aggregates and programs that are aggregate-stratified). Moreover, it can be directly employed to support an implementation using available answer set solvers. The paper describes a system, called ASP^A, that is capable of computing answer sets of programs with arbitrary (e.g., recursively defined) aggregates.

[1]  Kotagiri Ramamohanarao,et al.  Efficient Recursive Aggregation and Negation in Deductive Databases , 1998, IEEE Trans. Knowl. Data Eng..

[2]  Paolo Ferraris,et al.  Answer Sets for Propositional Theories , 2005, LPNMR.

[3]  Ilkka Niemelä,et al.  Smodels - An Implementation of the Stable Model and Well-Founded Semantics for Normal LP , 1997, LPNMR.

[4]  Yuliya Lierler,et al.  Cmodels-2: SAT-based Answer Set Solver Enhanced to Non-tight Programs , 2004, LPNMR.

[5]  Enrico Pontelli,et al.  Smodels with CLP and Its Applications: A Simple and Effective Approach to Aggregates in ASP , 2004, ICLP.

[6]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[7]  John C. Shepherdson,et al.  Unfold/fold transformations of logic programs , 1992, Mathematical Structures in Computer Science.

[8]  Chitta Baral Knowledge Representation, Reasoning and Declarative Problem Solving: Principles and properties of declarative programming with answer sets , 2003 .

[9]  Victor W. Marek,et al.  Logic Programs with Abstract Constraint Atoms , 2004, AAAI.

[10]  Uday S. Reddy,et al.  Transformation of Logic Programs into Functional Programs , 1984, SLP.

[11]  Maurice Bruynooghe,et al.  Partial Stable Models for Logic Programs with Aggregates , 2004, LPNMR.

[12]  Enrico Pontelli,et al.  A Constructive semantic characterization of aggregates in answer set programming , 2007, Theory Pract. Log. Program..

[13]  Nikolay Pelov,et al.  Semantics of logic programs with aggregates , 2004 .

[14]  Kenneth A. Ross,et al.  The well-founded semantics for general logic programs , 1991, JACM.

[15]  Maurice Bruynooghe,et al.  Translation of Aggregate Programs to Normal Logic Programs , 2003, Answer Set Programming.

[16]  Vladimir Lifschitz,et al.  Answer set programming and plan generation , 2002, Artif. Intell..

[17]  Sergio Greco,et al.  Dynamic Programming in Datalog with Aggregates , 1999, IEEE Trans. Knowl. Data Eng..

[18]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[19]  David Chan,et al.  An Extension of Constructive Negation and its Application in Coroutining , 1989, NACLP.

[20]  Agostino Dovier,et al.  Intensional Sets in CLP , 2003, APPIA-GULP-PRODE.

[21]  Agostino Dovier,et al.  Compiling Intensional Sets in CLP , 1994, ICLP.

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

[23]  Enrico Pontelli,et al.  Answer Sets for Logic Programs with Arbitrary Abstract Constraint Atoms , 2006, AAAI.

[24]  Wolfgang Faber,et al.  Recursive Aggregates in Disjunctive Logic Programs: Semantics and Complexity , 2004, JELIA.

[25]  Fangzhen Lin,et al.  ASSAT: computing answer sets of a logic program by SAT solvers , 2002, Artif. Intell..

[26]  Vladimir Lifschitz,et al.  Nested expressions in logic programs , 1999, Annals of Mathematics and Artificial Intelligence.

[27]  Kenneth A. Ross,et al.  Monotonic Aggregation in Deductive Database , 1997, J. Comput. Syst. Sci..

[28]  Carlo Zaniolo,et al.  Negation and Aggregates in Recursive Rules: the LDL++ Approach , 1993, DOOD.

[29]  Maurice Bruynooghe,et al.  Ultimate Well-Founded and Stable Semantics for Logic Programs with Aggregates , 2001, ICLP.

[30]  Alberto Pettorossi,et al.  Transformation of Logic Programs , 1994 .

[31]  Hamid Pirahesh,et al.  The Magic of Duplicates and Aggregates , 1990, VLDB.

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

[33]  C. R. Ramakrishnan,et al.  An unfold/fold transformation framework for definite logic programs , 2004, TOPL.

[34]  Mary Lynn Heidt Developing an inference engine for ASET-Prolog , 2001 .

[35]  Michael Gelfond,et al.  Representing Knowledge in A-Prolog , 2002, Computational Logic: Logic Programming and Beyond.

[36]  Enrico Pontelli,et al.  SmodelsA - A System for Computing Answer Sets of Logic Programs with Aggregates , 2005, LPNMR.

[37]  I. Niemelä,et al.  Extending the Smodels system with cardinality and weight constraints , 2001 .

[38]  Peter J. Stuckey,et al.  Negation and Constraint Logic Programming , 1995, Inf. Comput..