Texas Action Group: Selected Papers
knowledge in A-Prolog, in Computational Logic: Logic Programming and
Beyond, Essays in Honour of Robert A. Kowalski, Springer-Verlag, 2002.
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
Marcello Balduccini and Michael Gelfond,
reasoning with A-Prolog, Theory and Practice of Logic Programming,
Vol. 3, 2003.
In this paper, we suggest an architecture for a software agent which operates
a physical device and is capable of making observations and of testing and
repairing the device's components. We present simplfied definitions of the
notions of symptom, candidate diagnosis, and diagnosis which are based on
the theory of action language AL. The definitions allow one to give a simple
account of the agent's behavior in which many of the agent's tasks are reduced
to computing stable models of logic programs.
Enrico Giunchiglia, Joohyung Lee, Vladimir Lifschitz, Norman McCain and
Hudson Turner, Nonmonotonic causal theories,
Artificial Intelligence, Vol. 153, 2004.
The nonmonotonic causal logic defined in this paper can be used to represent
properties of actions, including actions with conditional and indirect
effects, nondeterministic actions, and concurrently executed actions. It
has been applied to several challenge problems in the theory of commonsense
knowledge. We study the relationship between this formalism and other work
on nonmonotonic reasoning and knowledge representation, and discuss its
implementation, called the Causal Calculator.
Chitta Baral and Michael Gelfond,
programming and reasoning about actions, a chapter in the Handbook of
Temporal Reasoning in Artificial Intelligence, Elsevier, 2005.
To perform nontrivial reasoning an intelligent agent situated in a changing
domain needs the knowledge of causal laws that describe the effects of
actions that change the domain, and the ability to observe and record
occurrences of these actions and the truth values of fluents at particular
moments of time. One of the central problems of knowledge representation
is the discovery of methods of representing this kind of information in a
form allowing various types of reasoning about the dynamic world and at the
same time tolerant of future updates. The goal of this chapter is to
demonstrate how recent advances in logic programming can be used to address
Marcello Balduccini, Michael Gelfond and Monica Nogueira,
based design of knowledge systems, Annals of Mathematics and Artificial
Intelligence, Vol. 47, 2006.
The aim of this paper is to demonstrate that A-Prolog is a powerful
language for the construction of reasoning systems. In fact, A-Prolog
allows to specify the initial situation, the domain model, the
control knowledge, and the reasoning modules. Moreover, it is
efficient enough to be used for practical tasks and can be nicely
integrated with programming languages such as Java. An extension of
A-Prolog (CR-Prolog) allows to further improve the quality of
reasoning by specifying requirements that the solutions should
satisfy if at all possible. The features of A-Prolog and CR-Prolog
are demonstrated by describing in detail the design of USA-Advisor,
an A-Prolog based decision support system for the Space Shuttle
Vladimir Lifschitz and Wanwan Ren, A modular
action description language, in Proceedings of the AAAI Conference
on Artificial Intelligence, 2006.
"Toy worlds" involving actions, such as the blocks world and the
Missionaries and Cannibals puzzle, are often used by researchers in the areas
of commonsense reasoning and planning to illustrate and test their ideas.
We would like to create a database of general-purpose knowledge about actions
that encodes common features of many action domains of this kind, in the same
way as abstract algebra and topology represent common features of specific
number systems. This paper is a report on the first stage of this
project--the design of an action description language in which this database
will be written. The new language is an extension of the action
language C+. Its main distinctive feature is the possibility of
referring to other action descriptions in the definition of a new action
sets. In Handbook of Knowledge Representation, Elsevier, 2007.
Introduction to Answer Set Prolog - a language for knowledge representation
and reasoning based on the answer set/stable model semantics of logic programs.
Marcello Balduccini and Michael Gelfond,
Architecture: An Overview. In Working Notes of the AAAI Spring
Symposium on Architectures for Intelligent Theory-Based Agents (AITA08),
This paper describes the AAA architecture for intelli-
gent agents reasoning about, and acting in, a changing
environment. The architecture is based on a simple con-
trol loop. Both the description of the domain=92s behavior
and the reasoning components are written in Answer Set
Prolog. The architecture is designed to make the agents
capable of planning and of detecting, interpreting, and
recovering from, unexpected observations. Overall, the
design and the knowledge bases are elaboration toler-
ant. Another distinguishing feature of the architecture
is that the same domain description is shared by all the
Chitta Baral, Michael Gelfond, and Nelson Rushton,
reasoning with answer sets. Theory and Practice of Logic
This paper develops a declarative language, P-log, that combines
logical and probabilistic arguments in its reasoning. Answer Set Prolog
is used as the logical foundation, while causal Bayes nets
serve as a probabilistic foundation. We give several non-trivial examples
and illustrate the use of P-log for knowledge representation and updating
of knowledge. We argue that our approach to updates is more appealing than
existing approaches. We give sufficiency conditions for the coherency of P-log
programs and show that Bayes nets can be easily mapped to coherent P-log
What is answer set programming? In
Proceedings of the AAAI Conference on Artificial Intelligence,
Answer set programming (ASP) is a form of declarative programming oriented
towards difficult search problems. As an outgrowth of research on the use of
nonmonotonic reasoning in knowledge representation, it is particularly useful
in knowledge-intensive applications. ASP programs consist of rules that look
like Prolog rules, but the computational mechanisms used in ASP are
different: they are based on the ideas that have led to the creation of
fast satisfiability solvers for propositional logic.
Twelve definitions of a stable model. In
Proceedings of the International Conference on Logic Programming,
This is a review of some of the definitions of the
concept of a stable model that have been proposed in the literature. These
definitions are equivalent to each other, at least when applied to traditional
Prolog-style programs, but there are reasons why each of them is valuable and
interesting. A new characterization of stable models
can suggest an alternative picture of the intuitive meaning of logic programs;
or it can lead to new
algorithms for generating stable models; or it can work better than others
when we turn
to generalizations of the traditional syntax that are important from the
perspective of answer set programming; or it can be more convenient for use
in proofs; or it can be interesting simply because it demonstrates a
relationship between seemingly unrelated ideas.
Joohyung Lee, Vladimir Lifschitz and Ravi Palla,
A reductive semantics for counting and choice
in answer set programming.
Proceedings of the AAAI Conference on Artificial Intelligence,
In a recent paper, Ferraris, Lee and
Lifschitz conjectured that the concept
of a stable model of a first-order formula can be used to treat some
answer set programming expressions as abbreviations. We follow up on that
suggestion and introduce an answer set programming language that defines the
meaning of counting and choice by reducing these constructs to first-order
formulas. For the new language, the concept of a safe program is defined,
and its semantic role is investigated. We compare the new language with the
concept of a disjunctive program with aggregates introduced by Faber, Leone
and Pfeifer, and discuss the possibility of implementing a fragment of
the language by translating it into the input language of the answer set
Paolo Ferraris, Joohyung Lee and Vladimir Lifschitz,
Stable models and circumscription.
Artificial Intelligence, Vol. 175, 2011.
The concept of a stable model provided a declarative semantics for
Prolog programs with negation as failure and became a starting point for
the development of answer set programming. In this paper we propose a
new definition of that concept, which covers many constructs used in answer
set programming and, unlike the original definition,
refers neither to grounding nor to fixpoints.
It is based on a syntactic transformation similar to parallel circumscription.
Datalog programs and their stable models.
In Datalog 2.0, 2011.
This paper is about the functionality of software systems used in answer set
programming (ASP). ASP languages are viewed here, in the spirit of Datalog,
as mechanisms for characterizing intensional (output) predicates in terms
of extensional (input) predicates. Our approach to the semantics of ASP
programs is based on the concept of a stable model defined in terms of a
modification of parallel circumscription.
Notes on AI.
Introduction. Syntax and semantics of A-Prolog. Creating a knowledge base.
Reasoning with defaults. Answer set programming. Reasoning in dynamic
domains. The Prolog interpreter.
Michael Gelfond and Daniela Inclezan.
about dynamic domains in modular action language ALM.
The paper presents an action language, ALM, for the
representation of knowledge about dynamic systems.
ALM extends action language AL by providing it
with a modular structure and the ability to separate the definition
of classes of objects of the domain from the definition of instances of
these classes. This, together with the means for defining actions and
fluents of the domain as special cases of previously defined ones,
facilitates the stepwise development,
testing, and readability of a knowledge base, as well as the development
of knowledge representation libraries.
We illustrate the methodology of representing
knowledge in ALM and report on its use
for the development of question answering systems in the framework
of our collaboration on Project Halo.
Lecture notes on mathematical logic.
These notes provide an elementary, but mathematically solid, introduction to
propositional and first-order logic. There are many exercises.
TAG home page