Answer Set Programming (ASP) is a declarative problem solving paradigm, rooted in Logic Programming and Nonmonotonic Reasoning, which has been gaining increasing attention during the last years.
This article is a gentle introduction to the subject; it starts with motivation and follows the historical development of the challenge of deﬁning a semantics for logic programs with negation. It looks into positive programs over stratiﬁed programs to arbitrary programs, and then proceeds to extensions with two kinds of negation (named weak and strong negation), and disjunction in rule heads.
The second part then considers the ASP paradigm itself, and describes the basic idea. It shows some programming techniques and brieﬂy overviews Answer Set solvers. The third part is devoted to ASP in the context of the Semantic Web, presenting some formalisms and mentioning some applications in this area. The article concludes with issues of current and future ASP research.Answer-Set-Programming-2