Rewriting recursive aggregates in answer set programming: Back to monotonicity

Mario Alviano, Wolfgang Faber, Martin Gebser

Research output: Contribution to journalArticle

21 Citations (Scopus)

Abstract

Aggregation functions are widely used in answer set programming for representing and reasoning on knowledge involving sets of objects collectively. Current implementations simplify the structure of programs in order to optimize the overall performance. In particular, aggregates are rewritten into simpler forms known as monotone aggregates. Since the evaluation of normal programs with monotone aggregates is in general on a lower complexity level than the evaluation of normal programs with arbitrary aggregates, any faithful translation function must introduce disjunction in rule heads in some cases. However, no function of this kind is known. The paper closes this gap by introducing a polynomial, faithful, and modular translation for rewriting common aggregation functions into the simpler form accepted by current solvers. A prototype system allows for experimenting with arbitrary recursive aggregates, which are also supported in the recent version 4.5 of the grounder gringo, using the methods presented in this paper.

Original languageEnglish
Pages (from-to)559-573
Number of pages15
JournalTheory and Practice of Logic Programming
Volume15
Issue number4-5
DOIs
Publication statusPublished - 3 Sep 2015

    Fingerprint

Cite this