Aggregate functions in disjunctive logic programming: semantics, complexity, and implementation in DLV

  • Authors:
  • Tina Dell'Armi;Wolfgang Faber;Giuseppe Ielpa;Nicola Leone;Gerald Pfeifer

  • Affiliations:
  • Dept. of Mathematics, Univ. of Calabria, Rende, CS, Italy;Inst. f. Informationssysteme, TU Wien, Wien, Austria;Dept. of Mathematics, Univ. of Calabria, Rende, CS, Italy;Dept. of Mathematics, Univ. of Calabria, Rende, CS, Italy;Inst. f. Informationssysteme, TU Wien, Wien, Austria

  • Venue:
  • IJCAI'03 Proceedings of the 18th international joint conference on Artificial intelligence
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Disjunctive Logic Programming (DLP) is a very expressive formalism: it allows to express every property of finite structures that is decidable in the complexity class ΣP2 (NPNP). Despite the high expressiveness of DLP, there are some simple properties, often arising in real-world applications, which cannot be encoded in a simple and natural manner. Among these, properties requiring to apply some arithmetic operators (like sum, times, count) on a set of elements satisfying some conditions, cannot be naturally expressed in DLP. To overcome this deficiency, in this paper we extend DLP by aggregate functions. We formally define the semantics of the new language, named DLPA. We show the usefulness of the new constructs on relevant knowledge-based problems. We analyze the computational complexity of DLPA, showing that the addition of aggregates does not bring a higher cost in that respect. We provide an implementation of the DLPA language in DLV- the state-of-the-art DLP system - and report on experiments which confirm the usefulness of the proposed extension also for the efficiency of the computation.