Reasoning about Actions, Narratives and Ramifications

Antonis Kakas and Rob Miller

October 1997

Abstract

The Language E is a simple declarative language for describing the effects of action occurrences within a given narrative, using an ontology of actions, time points and fluents (i.e. properties which can change their truth values over time). This paper shows how E may be extended to deal with ramifications. More precisely, we show how Language E domain descriptions can include statements describing permanent relationships or constraints between fluents, and how the model theoretic semantics of E can be extended in an intuitive way to ensure that the effects of actions are appropriately propagated via such statements, whilst retaining E's simple approach to the frame problem. We also show how Event Calculus style logic programs may be used to compute consequences of such domain descriptions using standard SLDNF, even when only incomplete information is given about some initial state of affairs. Because of E's generality, these techniques are easily adaptable to other formalisms for reasoning about actions, such as the Language A and the Situation Calculus. [Click here for a two page summary of this paper.] [Click here for an online discussion of this paper.]


This paper is published by Linköping University Electronic Press (Recommended citation: Linköping Electronic Articles in Computer and Information Science, Vol. 2(1997): nr 12. http://www.ep.liu.se/ea/cis/1997/012/. October 16, 1997), and is posted and under public review in the News Journal of Electronic Transactions on Artificial Intelligence. It is available over the Web via Linköping University Electronic Press in postscript form: http://www.ep.liu.se/ea/cis/1997/012/cis97012.ps.

Various Prolog program listings associated with this paper are also available:

A. Complete, executable Prolog programs (with example queries listed in program comments):

  • Non-violent Yale Shooting Problem, with situation-calculus-like time structure (see Section 2.2 of paper).
  • Stuffy room example (see Section 3 of paper).
  • Electric circuit example borrowed from Michael Thielscher (see Section 3 of paper).
  • A non-determinstic example suggested by Kristof Van Belleghem.
  • Situation-calculus-like basis program in Appendix A.
  • B. Prolog program modules (to be used in conjunction with domain-specific clauses and 'basis programs'):
  • General clauses of Definition 20, Section 4.
  • General clauses of Definition 20, with additional loop checking.



  • This research was partly sponsored by the EPSRC.