Cite as part of The LAC HyperGuide
http://vir.liu.se/hg-lac/scope/, September 1995

Introduction to Logics of Actions and Change

Erik Sandewall, Department of Computer and Information Science, Linköping University, Sweden

(For a postscript version of this text, click here for latex version) or latex2e version).

The class of problems being addressed here will first be defined in abstract terms, and will then be discussed from a more applied point of view.

1. Chronicles: scenario descriptions for actions and change

A chronicle is a description, using logical formulae, of a number of actions, their general effects, and observations of some properties of the world while the actions are being performed. In simple cases, a chronicle consists of the following kinds of formulae:
action statements,
for example D(20,25,make-coffe), saying that the current agent performs the act of making coffee from time 20 to time 25;
observations,
for example H(25,coffee-hot), saying that there is hot coffee at time 25;
action laws,
for example D(s,t,make-coffee) ==> H(t,coffee-hot), saying that if coffee is made from time s to time t, then hot coffee exists at time t;
timing statements,
for example t2 < t4 - 1, relating the values of two expressions using temporal constants. Such statements are useful when the timepoint arguments of D and H are constant symbols and not explicit timepoints (for example, t2 rather than 25).
The letter D stands for Do and H for Holds. To accommodate multi-valued properties, we consider the general form of H to be H(t,f,v), saying that the ``feature'' f has the value v at time t. Then H(t,p) is an abbreviation for H(t,p,T) for the case where p can only have the value T or F. <1> The terms feature and property will be used synonymously here.

In more complex cases, chronicles may contain observations that refer to multiple timepoints, action statements that refer to conditional or composite actions, and other ontologies for time such as branching time. Also, action symbols and features/properties may have objects as arguments, for example
......H(25, stateof(tralite4), Green),
expressing that the state of traffic light number 4 is Green at time 25. Logics whereby one can express and reason about chronicles are called logics of actions and change.

2. Research Problem

The notation for chronicles that is suggested by these examples can of course be understood as the language of a first-order logic. The central research problem for logics of actions and change is that the set of intended models for a chronicle does not agree with the set of Tarskian models as provided by first-order logic, henceforth referred to as classical models. The main research task is therefore to find and to analyze suitable complements to the machinery of classical logic whereby intended and actual model sets agree, so that one obtains all the intended conclusions and only them.

The research problem and the research task can of course be equivalently formulated in terms of the ``set of conclusions'' instead of the ``set of models''. Possible conclusions from a given chronicle include derived facts (syntactically similar to observations) about the state of the world at other times or in other properties than those that were directly observed.

Different variants of this research problem are obtained by varying the assumptions that lead to the mismatch between intended and classical models. The basic assumption is inertia or ``no change without a known reason''. In the simplest case it means that actions only change those properties of the world which are indicated in the action law, whereas other properties remain constant. This simple case is referred to as strict inertia. Less trivial cases are obtained e.g. if certain static constraints are known for the state of the world, and if it is then necessary to assume that actions cause additional changes, besides those indicated by the action law, in order that the situation resulting from a particular action shall satisfy the static constraints. This case is referred to as ramification, and it will be addressed towards the end of the present article.

Non-deterministic actions pose particular problems in the context of the inertia assumption. One way of dealing with them is to introduce an additional occlusion predicate X(f,t), expressing that the value of the feature f may change during the timestep [t-1,t].

3. Applications

The research on logics for actions and change has its origin in artificial intelligence, where it is historically known under the name of the ``frame problem'' [McC:69]. Two kinds of uses have been foreseen in A.I. One is for common-sense reasoning based, in particular, on information given in natural language. Statements about actions and about the state of the world at different times are commonplace in natural-language text, and understanding them is one essential aspect of understanding the text as a whole.

The other usage is for cognitive robotics, that is, for allowing an intelligent robot to reason about its own actions and its effects, as well as about the effects of natural events and of actions taken by other robots in the same habitat. In this case, the actions are implemented as programs in the robot controller system, and reasoning about the actions is a particular kind of reasoning about programs. It is particular in the sense that one reasons not only about the program itself, but also about spontaneous events in the world where the robot (and indirectly, the program) is set to operate.

The notation for chronicles that was exemplified above allows one to characterize the duration of an action in terms of metric time. The consequent side of an action law is not restricted to specifying the final result of an action; it may also characterize the duration of the action (as a constraint on the combination of s and t), and the state of the world at intermediate points during the execution of the action. Logics of actions and change are therefore potential candidates for reasoning about hard real-time programs. However, that aspect has not been investigated very much yet, and will not be addressed in the present article.

Typically, one wishes action laws to be as compact as possible, so ideally they should only have to specify some of the changes that are due to an action, leaving other resulting changes to be inferred by logical means. This topic is closely related to the update problem in databases.

4. Use of Preferential Nonmonotonic Logics

The standard approach in this research is to use nonmonotonic logics. The following notation will be used. Let Y be a chronicle, represented as a set of logical formulae of the kinds exemplified above. Then [Y] will refer to the set of classical models for Y, and Mod(Y) will refer to the set of intended models. A unary selection function is a function from a set of models to a subset of that set. A selection function S is correct for a chronicle Y iff Mod(Y) = S [Y]. Selection functions are therefore the primary instrument for reconciling intended and classical model sets.

A preference relation is a strict partial order on models. Many simple cases of selection functions can be defined directly in terms of a preference relation <<, so that the set of selected models is
......Min(<<, Y),
meaning the set of <<-minimal classical models. More sophisticated selection functions can be obtained in the following fashions:

Binary selection functions:
The premises are divided into two partitions, so that the chronicle Y is in fact a pair <Y1,Y2>. The set of classical models is defined by
......[<Y1,Y2>] = [Y1] ^* [Y2],
and the set of selected models is defined as
......S([Y1], [Y2])
where S is a function which maps two sets of models to a subset of their intersection.
Reformulation:
The set of selected models is defined as
......[G(Y)],
where G is a reformulation function, that is, a syntactic transformation on the set Y of formulae which satisfies G(Y) >=* Y. The goal of reducing the set of models is achieved by minimization in the case of filtering, and by adding more formulae to the originally given set, in the case of reformulation.
Combinations and generalizations
of the methods described so far, that is, minimization, k-ary selection functions, and reformulation. In particular, it is possible and often useful to let a chronicle consist of more than two partitions, corresponding to the use of a k-ary selection function.
One particular use of binary selection functions is for filtering, where the set of selected models for <Y1,Y2> is
......Min(<<,[Y1] ^* [Y2] ).

5. Entailment Methods and Range of Applicability

In earlier publications [San:93j,San:93bb,SanSho], I have argued that the appropriate question with respect to a method based on a non-monotonic logic is not ``is it correct'', but ``what is its range of applicability''. In other words, one identifies the set of conditions that must be satisfied by a chronicle Y in order that the set of selected models according to the given entailment method shall agree with the set of intended models for the same chronicle. I refer to this as the systematic approach to the study of applied non-monotonic logics.

The reasons for analyzing the range of applicability should be fairly evident. One is not always interested in finding and using the method with the largest range of applicability: it is to be expected that there are some methods with a fairly narrow range of applicability, but which allow more efficient implementation. If such a method exists, and its range of applicability does include those chronicles that may arise in a given application, then one will be happy to use that method for the application at hand.

The range of applicability may be significantly improved through the use of the following concepts. A pretransformation G is a mapping from chronicles to chronicles such that Mod(Y) = Mod(G(Y)). An entailment method is a pair < G, S > where G is a pretransformation and S is a selection function whose arity corresponds to the structure of the chronicle. If S is unary, then an entailment method <G,S> assigns the set S[G(Y)] of models to each chronicle Y. It is correct for the chronicle Y iff
......S[G(Y)] = Mod(Y).
Similarly, if S is a binary selection function, and G(<Y1,Y2 >) = <Y1',Y2'>, then <G,S> is correct for <Y1,Y2> iff S(<[Y1'],[Y2']>) = Mod(<Y1,Y2>).
Pretransformations may be used, for example, for adding timing statements which exclude concurrent execution of actions, if the intended models only allow sequentially executed actions.

In order to identify the range of applicability for an entailment method, one needs the following formal tools:

an underlying semantics,
providing a formal definition of the set of intended models corresponding to each chronicle;
a taxonomy of chronicles,
providing a ``coordinate system'' whereby one can characterize the range of applicability.

In the earlier publications I have defined the underlying semantics and the taxonomy for the case of strict inertia, together with precise formulations of the syntax and of the classical semantics, which are of course also needed.

Footnotes

  1. In earlier publications I wrote D(s,t,E) as [s,t]E, and H(t,f,v) as [t]f = v.