Results 1 - 10
of
273
The DLV System for Knowledge Representation and Reasoning
- ACM Transactions on Computational Logic
, 2002
"... Disjunctive Logic Programming (DLP) is an advanced formalism for knowledge representation and reasoning, which is very expressive in a precise mathematical sense: it allows to express every property of finite structures that is decidable in the complexity class ΣP 2 (NPNP). Thus, under widely believ ..."
Abstract
-
Cited by 456 (102 self)
- Add to MetaCart
Disjunctive Logic Programming (DLP) is an advanced formalism for knowledge representation and reasoning, which is very expressive in a precise mathematical sense: it allows to express every property of finite structures that is decidable in the complexity class ΣP 2 (NPNP). Thus, under widely believed assumptions, DLP is strictly more expressive than normal (disjunction-free) logic programming, whose expressiveness is limited to properties decidable in NP. Importantly, apart from enlarging the class of applications which can be encoded in the language, disjunction often allows for representing problems of lower complexity in a simpler and more natural fashion. This paper presents the DLV system, which is widely considered the state-of-the-art implementation of disjunctive logic programming, and addresses several aspects. As for problem solving, we provide a formal definition of its kernel language, function-free disjunctive logic programs (also known as disjunctive datalog), extended by weak constraints, which are a powerful tool to express optimization problems. We then illustrate the usage of DLV as a tool for knowledge representation and reasoning, describing a new declarative programming methodology which allows one to encode complex problems (up to ∆P 3-complete problems) in a declarative fashion. On the foundational side, we provide a detailed analysis of the computational complexity of the language of
Complexity and Expressive Power of Logic Programming
, 1997
"... This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results ..."
Abstract
-
Cited by 366 (57 self)
- Add to MetaCart
(Show Context)
This paper surveys various complexity results on different forms of logic programming. The main focus is on decidable forms of logic programming, in particular, propositional logic programming and datalog, but we also mention general logic programming with function symbols. Next to classical results on plain logic programming (pure Horn clause programs), more recent results on various important extensions of logic programming are surveyed. These include logic programming with different forms of negation, disjunctive logic programming, logic programming with equality, and constraint logic programming. The complexity of the unification problem is also addressed.
Splitting a Logic Program
- Principles of Knowledge Representation
, 1994
"... In many cases, a logic program can be divided into two parts, so that one of them, the \bottom " part, does not refer to the predicates de ned in the \top " part. The \bottom " rules can be used then for the evaluation of the predicates that they de ne, and the computed va ..."
Abstract
-
Cited by 294 (16 self)
- Add to MetaCart
In many cases, a logic program can be divided into two parts, so that one of them, the \bottom " part, does not refer to the predicates de ned in the \top " part. The \bottom " rules can be used then for the evaluation of the predicates that they de ne, and the computed values can be used to simplify the \top " de nitions. We discuss this idea of splitting a program in the context of the answer set semantics. The main theorem shows how computing the answer sets for a program can be simpli ed when the program is split into parts. The programs covered by the theorem may use both negation as failure and classical negation, and their rules may have disjunctive heads. The usefulness of the concept of splitting for the investigation of answer sets is illustrated by several applications. First, we show that a conservative extension theorem by Gelfond and Przymusinska and a theorem on the closed world assumption by Gelfond and Lifschitz are easy consequences of the splitting theorem. Second, (locally) strati ed programs are shown to have a simple characterization in terms of splitting. The existence and uniqueness of an answer set for such a program can be easily derived from this characterization. Third, we relate the idea of splitting to the notion of order-consistency. 1
Logic Programming and Knowledge Representation - the A-Prolog perspective
- Artificial Intelligence
, 2002
"... In this paper we give a short introduction to logic programming approach to knowledge representation and reasoning. The intention is to help the reader to develop a 'feel' for the field's history and some of its recent developments. The discussion is mainly limited to logic programs u ..."
Abstract
-
Cited by 98 (2 self)
- Add to MetaCart
(Show Context)
In this paper we give a short introduction to logic programming approach to knowledge representation and reasoning. The intention is to help the reader to develop a 'feel' for the field's history and some of its recent developments. The discussion is mainly limited to logic programs under the answer set semantics. For understanding of approaches to logic programming build on well-founded semantics, general theories of argumentation, abductive reasoning, etc., the reader is referred to other publications.
A Logic Programming System for Non-monotonic Reasoning
- Journal of Automated Reasoning
, 1995
"... The evolution of Logic Programming semantics has included the introduction of a new explicit form of negation, beside the older implicit (or default) negation typical of Logic Programming. The richer language has been shown adequate for a spate of knowledge representation and reasoning forms. Th ..."
Abstract
-
Cited by 93 (44 self)
- Add to MetaCart
The evolution of Logic Programming semantics has included the introduction of a new explicit form of negation, beside the older implicit (or default) negation typical of Logic Programming. The richer language has been shown adequate for a spate of knowledge representation and reasoning forms. The widespread use of such extended programs requires the definition of a correct top-down querying mechanism, much as for Prolog wrt. normal programs. One purpose of this paper is to present and exploit a SLDNF-like derivation procedure, SLX, for programs with explicit negation under well founded semantics (WFSX) and prove its soundness and completeness. (Its soundness wrt. the answer-sets semantics is also shown.) Our choice of WFSX as the base semantics is justified by the structural properties it enjoys, which are paramount for top-down query evaluation. Of course, introducing explicit negation requires dealing with contradiction. Consequently, we allow for contradiction to appear,...
Disjunctive Stable Models: Unfounded Sets, Fixpoint Semantics, and Computation
- Information and Computation
, 1997
"... Disjunctive logic programs have become a powerful tool in knowledge representation and commonsense reasoning. This paper focuses on stable model semantics, currently the most widely acknowledged semantics for disjunctive logic programs. After presenting a new notion of unfounded sets for disjunct ..."
Abstract
-
Cited by 89 (20 self)
- Add to MetaCart
(Show Context)
Disjunctive logic programs have become a powerful tool in knowledge representation and commonsense reasoning. This paper focuses on stable model semantics, currently the most widely acknowledged semantics for disjunctive logic programs. After presenting a new notion of unfounded sets for disjunctive logic programs, we provide two declarative characterizations of stable models in terms of unfounded sets. One shows that the set of stable models coincides with the family of unfounded-free models (i.e., a model is stable iff it contains no unfounded atoms). The other proves that stable models can be defined equivalently by a property of their false literals, as a model is stable iff the set of its false literals coincides with its greatest unfounded set. We then generalize the well-founded WP operator to disjunctive logic programs, give a fixpoint semantics for disjunctive stable models and present an algorithm for computing the stable models of function-free programs. The algor...
A Classification Theory of Semantics of Normal Logic Programs: II. Weak Properties
- FUNDAMENTA INFORMATICAE
, 1995
"... Our aim in this article is to supplement the set of strong properties introduced in the preceding article ([Dix94]) with a set of weak principles in order to characterize semantics of logic programs. In [Dix94] we introduced our point of view: we observed that all semantics induce in a natural way a ..."
Abstract
-
Cited by 81 (0 self)
- Add to MetaCart
Our aim in this article is to supplement the set of strong properties introduced in the preceding article ([Dix94]) with a set of weak principles in order to characterize semantics of logic programs. In [Dix94] we introduced our point of view: we observed that all semantics induce in a natural way a sceptical non-monotonic entailment relation SEM scept . We ask for the properties of these sceptical relations and use them to describe all possible semantics. We collect in this paper serious shortcomings of some semantics proposed recently. Their strange behaviour led us to formulate in a natural way certain principles to avoid these problems. We argue that any well-behaved semantics should satisfy these principles. The main results state that our list of weak principles is complete in the following sense: any well-behaved-semantics is an extension of the well-founded semantics WFS and coincides for stratified programs with Apt, Blair, and Walker's supported model M supp P . We also...
Verifiable agent interaction in Abductive Logic Programming: the SCIFF framework
- ACM TRANSACTIONS ON COMPUTATIONAL LOGIC
, 2008
"... SCIFF is a new abductive logic programming proof-procedure for reasoning with expectations in dynamic environments. SCIFF is also the main component of a framework thought to specify and verify interaction in open agent societies. In this paper we present the declarative and operational semantics of ..."
Abstract
-
Cited by 76 (53 self)
- Add to MetaCart
SCIFF is a new abductive logic programming proof-procedure for reasoning with expectations in dynamic environments. SCIFF is also the main component of a framework thought to specify and verify interaction in open agent societies. In this paper we present the declarative and operational semantics of SCIFF, its termination, soundness and completeness results, and some sample applications to demonstrate its use in the multi-agent domain.