Texas Action Group: Selected Papers


Michael Gelfond, Representing 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 tasks.


Marcello Balduccini and Michael Gelfond, Diagnostic 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, Logic 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 this problem.


Marcello Balduccini, Michael Gelfond and Monica Nogueira, Answer set 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 flight controllers.
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 domain.


Michael Gelfond, Answer 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, The AAA Architecture: An Overview. In Working Notes of the AAAI Spring Symposium on Architectures for Intelligent Theory-Based Agents (AITA08), 2008.
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 reasoning components.
Chitta Baral, Michael Gelfond, and Nelson Rushton, Probabilistic reasoning with answer sets. Theory and Practice of Logic Programming, 2008.
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 programs.
Vladimir Lifschitz, What is answer set programming? In Proceedings of the AAAI Conference on Artificial Intelligence, 2008.
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.
Vladimir Lifschitz, Twelve definitions of a stable model. In Proceedings of the International Conference on Logic Programming, 2008.
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, 2008.
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 solver DLV.


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.
Vladimir Lifschitz, 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.


Michael Gelfond, 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. Reasoning 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.
Vladimir Lifschitz, 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