Abstract

Answer Set Programming (ASP) is a rule-based language rooted in traditional Logic Programming, Databases, Knowledge Representation, and Nonmonotonic Reasoning. It offers a flexible language for declarative problem solving, with support of efficient general-purpose solvers and reasoners. The larger part of this article provides an introduction to ASP, with a historical perspective, a definition of the core language, a guideline to knowledge representation, and an overview of existing ASP solvers. One part focuses on one commonly used feature: aggregates and generalized atoms. The inclusion of aggregates in ASP (and Logic Programming at large) has long been motivated, however there are some issues with semantics to be addressed, in particular when aggregates occur in recursive definitions. Very similar considerations are needed when coupling ASP with other formalisms, which we collectively refer to as “generalized atoms”. An overview of these semantic challenges and proposals for addressing them is provided, along with an overview of complexity results and system support.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call