Results 1 - 10
of
42
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 234 (68 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
Smodels - an Implementation of the Stable Model and Well-Founded Semantics for Normal Logic Programs
, 1997
"... The Smodels system is a C++ implementation of the wellfounded and stable model semantics for range-restricted function-free normal programs. The system includes two modules: (i) smodels which implements the two semantics for ground programs and (ii) parse which computes a grounded version of a range ..."
Abstract
-
Cited by 226 (9 self)
- Add to MetaCart
The Smodels system is a C++ implementation of the wellfounded and stable model semantics for range-restricted function-free normal programs. The system includes two modules: (i) smodels which implements the two semantics for ground programs and (ii) parse which computes a grounded version of a range-restricted function-free normal program. The latter module does not produce the whole set of ground instances of the program but a subset that is sufficient in the sense that no stable models are lost. The implementation of the stable model semantics for ground programs is based on bottom-up backtracking search where a powerful pruning method is employed. The pruning method exploits an approximation technique for stable models which is closely related to the well-founded semantics. One of the advantages of this novel technique is that it can be implemented to work in linear space. This makes it possible to apply the stable model semantics also in areas where resulting programs are highly n...
Stable models and an alternative logic programming paradigm
- In The Logic Programming Paradigm: a 25-Year Perspective
, 1999
"... In this paper we reexamine the place and role of stable model semantics in logic programming and contrast it with a least Herbrand model approach to Horn programs. We demonstrate that inherent features of stable model semantics naturally lead to a logic programming system that offers an interesting ..."
Abstract
-
Cited by 197 (14 self)
- Add to MetaCart
In this paper we reexamine the place and role of stable model semantics in logic programming and contrast it with a least Herbrand model approach to Horn programs. We demonstrate that inherent features of stable model semantics naturally lead to a logic programming system that offers an interesting alternative to more traditional logic programming styles of Horn logic programming, stratified logic programming and logic programming with well-founded semantics. The proposed approach is based on the interpretation of program clauses as constraints. In this setting programs do not describe a single intended model, but a family of stable models. These stable models encode solutions to the constraint satisfaction problem described by the program. Our approach imposes restrictions on the syntax of logic programs. In particular, function symbols are eliminated from the language. We argue that the resulting logic programming system is well-attuned to problems in the class NP, has a well-defined domain of applications, and an emerging methodology of programming. We point out that what makes the whole approach viable is recent progress in implementations of algorithms to compute stable models of propositional logic programs. 1
The KR System dlv: Progress Report, Comparisons and Benchmarks
, 1998
"... dlv is a knowledge representation system, based on disjunctive logic programming, which offers frontends to several advanced KR formalisms. The system has ..."
Abstract
-
Cited by 102 (23 self)
- Add to MetaCart
dlv is a knowledge representation system, based on disjunctive logic programming, which offers frontends to several advanced KR formalisms. The system has
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 under the answer ..."
Abstract
-
Cited by 66 (0 self)
- Add to MetaCart
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.
Reasoning Agents In Dynamic Domains
- In Workshop on Logic-Based Artificial Intelligence
, 2000
"... The paper discusses an architecture for intelligent agents based on the use of A-Prolog - a language of logic programs under the answer set semantics. A-Prolog is used to represent the agent's knowledge about the domain and to formulate the agent's reasoning tasks. We outline how these tasks can be ..."
Abstract
-
Cited by 65 (19 self)
- Add to MetaCart
The paper discusses an architecture for intelligent agents based on the use of A-Prolog - a language of logic programs under the answer set semantics. A-Prolog is used to represent the agent's knowledge about the domain and to formulate the agent's reasoning tasks. We outline how these tasks can be reduced to answering questions about properties of simple logic programs and demonstrate the methodology of constructing these programs. Keywords: Intelligent agents, logic programming and nonmonotonic reasoning. 1 INTRODUCTION This paper is a report on the attempt by the authors to better understand the design of software components of intelligent agents capable of reasoning, planning and acting in a changing environment. The class of such agents includes, but is not limited to, intelligent mobile robots, softbots, immobots, intelligent information systems, expert systems, and decision-making systems. The ability to design intelligent agents (IA) is crucial for such diverse tasks as ...
Declarative Problem-Solving Using the DLV System
"... The need for representing indefinite information led to disjunctive deductive databases, which also fertilized work on disjunctive logic programming. Based on this paradigm, the DLV system has been designed and implemented as a tool for declarative knowledge representation. In this paper, we focus o ..."
Abstract
-
Cited by 59 (27 self)
- Add to MetaCart
The need for representing indefinite information led to disjunctive deductive databases, which also fertilized work on disjunctive logic programming. Based on this paradigm, the DLV system has been designed and implemented as a tool for declarative knowledge representation. In this paper, we focus on the usage of DLV for solving problems in a declarative manner and report on experiments that we have run on a suite of benchmark problems. We discuss how problems can be solved in a natural way using a "Guess&Check"-paradigm where solutions are guessed and verified by parts of the program. Furthermore, we describe various front-ends that can be used for solving problems in specific applications. The experiments show that due to the ongoing implementation efforts, which include fine-tuning of the underlying algorithms, successive and significant performance improvements have been achieved during the last two years. The results indicate that DLV is capable of solving some complex problems quite efficiently.
Solving Advanced Reasoning Tasks using Quantified Boolean Formulas
, 2000
"... We consider the compilation of different reasoning tasks into the evaluation problem of quantified boolean formulas (QBFs) as an approach to develop prototype reasoning systems useful, e.g., for experimental purposes. ..."
Abstract
-
Cited by 58 (17 self)
- Add to MetaCart
We consider the compilation of different reasoning tasks into the evaluation problem of quantified boolean formulas (QBFs) as an approach to develop prototype reasoning systems useful, e.g., for experimental purposes.
Representing Knowledge in A-Prolog
"... In this paper, we review some recent work on declarative logic programming languages based on stable models/answer sets semantics of logic programs. These languages, gathered together under the name of A-Prolog, can be used to represent various types of knowledge about the world. By way of example ..."
Abstract
-
Cited by 55 (1 self)
- Add to MetaCart
In this paper, we review some recent work on declarative logic programming languages based on stable models/answer sets semantics of logic programs. These languages, gathered together under the name of A-Prolog, can be used to represent various types of knowledge about the world. By way of example we demonstrate how the corresponding representations together with inference mechanisms associated with A-Prolog can be used to solve various programming tasks.

