A

advertisement
From: AAAI-86 Proceedings. Copyright ©1986, AAAI (www.aaai.org). All rights reserved.
A Representation
Erik
Department
of AC tion
Structures
Sandewall
and Ralph Rgnnquist
of Computer
and Information
Linkiiping
University
Linkiiping,
Sweden
Abstract:
We consider structures
of actions which are partially
ordered for time, which may occur in parallel, and which have
lasting effects on the state of the world. Such action structures are
of interest
for problem-solving
with multiple
actors,
and for
understanding
narrative texts where several things are going on at
the same time, They are also of interest for other branches of
computer science besides AI.
Actions
in the action structure
are characterized
in terms of
preconditions,
postconditions,
and prevail conditions,
where the
prevail condition
is a requirement
on what must hold for the
duration of the action. All three conditions are partial states of the
world,
and therefore
elements
of a lattice.
We develop
the
formalism, give an example, and specify formally the criterion for
admissible action’ structures, where postconditions of earlier actions
serve as prevailor preconditions
of later actions in a coherent
way, and there are no conflicting attempts to change (“update”)
a
feature in the world.
Science
On the other hand, the Operating systems and Data base fields
have for a long time included work on concurrent
programming,
where the main issue is “how two or more sequential programs may
be executed
concurrently
as parallel
processes”
[Andr83].
In
principle there should not be any particular
difference between
structures of actions in the real world, and actions inside computers.
In practice, however, there is a difference which is also indicated by
the very term “concurrent
program”:
one deals with a number of
programs,
one for each processor, and uses special constructs
for
synchronization.
This works well if each of the programs
is
relatively
complex,
and synchronization
can be perceived
as a
relatively marginal annotation.
For action structures in the real world, it is less natural to use the
“concurrent
program”
viewpoint.
One would prefer to make
statements
about what actions happen, and in which order they
happen. That is therefore the approach that is taken in the present
paper. - Section 11 also contains a more extensive discussion of
how results from concurrent
programming
research relates to our
topic.
1. Introduction.
Our topic is the formal analysis of actions, i.e. things that happen
in the world. The phenomenon described by the phrase ‘John gives
the ball to Mary’, and the operation where an industrial robot
moves a workpiece from a conveyor
to an NC-machine,
are
examples of actions. Actions have a duration in time, and several
actions may occur in parallel; these are essential properties
of
actions. It is not essential that there should be an identifiable actor
who ‘does’ the action, so ‘thunder’ or ‘a thunderstorm’ could also
qualify as an action. We shall use the term ‘action structure’ for a
set of actions together with information about them, in particular,
information about their relative order in time.
A formal analysis of action structures must be very much concerned
with their effects: will (or may) a given action structure
have a
certain
effect on the world; are two given action
structures
equivalent with respect to their effects on the world, etc.
Action structures have been studied in several branches of computer
science (and also of course in several other disciplines), but with
different and sometimes complementary
assumptions or constraints.
Usually action structures have been seen as ‘plans’ or ‘programs’,
i.e. pre-scriptions
for intended
behavior
in a machine.
It is
however also possible to see an action structure as a tie-scription
of
what has happened, an account of history. In A.I., research on
‘planning and problem-solving’
has traditionally
focused on the
analysis of effects of sequences of actions, and has only recently
begun to address the complicating
issue of parallel1 actions. (A
discussion of related work in this field is in section 11 of this paper).
This research
Development.
was supported
by the Swedish
Board
2. Key
ideas
and results.
The key ideas in this paper are:
- An action structure is viewed as a set of actions, each of which
has a start-point
and an end-point.
The set of such points is
partially ordered for time.
Partial
state descriptions
are used, where each ‘feature’ or
proposition in a partial state description can have a definite value
(e.g. a truth-value),
or be undefined. The relation of ‘containing
more information
than’ defines a lattice over the space of partial
state descriptions.
Each
action
is
associated
with
prc-condition,
a
a
post-condition. and a prevail-condition. All three conditions
are partial states. The precondition and postcondition
characterize
what must hold at the beginning and the end of the action,
respectively.
The effect of the action on the world is therefore
characterized
(explicitly
or
implicitly )
by
the
preand
postconditions.
The prevail-condition
characterizes what must hold
for the whole duration of the action.
For a concrete example, consider a small car rental company with
only one outlet. The action of ‘customer renting a car’ has as its
precondition
and as its post-condition
that the car is in the
company premises, but it does not have to be in the premises
during the rental
period.
On the other hand, the action
of
‘mechanic on duty fming the car’ requires the car to be on the
premises for the duration of an action, which we would express as a
prevail-condition.
of Technical
Planning:
AUTOMATED
REASONING
/ 89
Thus in the case of pre-/
postcondition,
it is possible but
for
the
postcondition
to
be different
from
necessary
not
the
precondition, in which case the action has an effect on those aspects
or features of the world that are recorded in the conditions. In the
case of prevailcondition, the condition must necessarily be equal
at the beginning and the end of the action,
be constant for the duration of the action.
since it should hold and
In a sense
that
will become
clear
below,
the
preand
postconditions
correspond to the concept of ‘non-shared
resource’
terms.
systems
operating
access’
in
write
or
‘read
and
Prevail-conditions
correspond to the concept of ‘shared resource’ or
‘read only access’.
Also, the pre- and post-conditions
correspond to the ‘delete’ and
problem
solving
systems.
The
‘add’ clauses
in Strips-like
prevail-conditions
do not have a direct counterpart
in systems like
STRIPS, since the problem of whether another, parallel action can
violate a prevail-condition
of an action, does not arise when all
actions are assumed to happen in sequence.
such as Occam
[May83],
parallel
In programming
languages
using the seq, par, and Kleene star
programs
are constructed
Those operators are however not sufficient
(repetition)
operators.
for constructing
all possible (and useful) action structures; Figure 1
shows an example
of an action
structure
that
can not be
constructed
from
them,
Our approach
does not have those
restrictions,
and is in that sense similar to the Petri net approach
[Pete82].
In this paper,
we formulate
the model and discuss its motivation.
We also propose how the admissibility criterion for action structures
can be expressed formally, and work out an example.
3. Partial
When we characterize
the momentary
state of the world where
actions take place, we can similarly choose to use pavtial states. In
a very simple example’ we might characterize
the world only in
terms of the position of a number of electrical switches, which can
be in position ‘1’ or ‘0’. A partial state in that world would be a
function which assigns to each switch, either of the values ‘l’, ‘0’) or
‘undefined’.
Partial states go well together with partially time-ordered
action
structures,
for the following reason: if the ‘state’ (i.e. those aspects
of the world that we consider in the formal characterization)
consists of a number of components,
and two actions happen in
parallel or ‘at the same time’, but they affect distinct and unrelated
aspects of the world, then we can analyze their effects without
needing to know which of them actually occurred first, and without
needing to understand their interactions if they actually occurred at
the same time. In such a case, it is reasonable to assign a partial
state to the start-point
and end-point
of each of those actions.
After this introduction,
the presentation.
4. The
lattice
of partial
we can now proceed
to the formal
part
of
states
We assume that we have a domain S of partial states of the world,
and a partial order E on S such that <S, &> is a lattice. The lattice
operations are written u, n, c and the top and bottom elements are
written T, I as usual.
We pay particular
attention to domains which are constructed
M
the Cartesian product of a finite number of feature domains. For
example, the world which is characterized
by the position of four
different switches would be seen as
Fl x F2 x F3 x F4
where each of the Fi is the feature domain consisting of the four
elements u, 1, 0, and k, with the following order:
uclck
uEOSk
as shown also in the Hasse diagram in figure 2. One world-state
vector is defined to be E another world-state
iff corresponding
elements are C, as usual. We shall generally use u (‘undefined’) and
k (‘contradiction’)
for the bottom
and top element in feature
domains.
models
We described above how, in our approach, the set of start-points
and end-points
of actions is viewed as a partially time-ordered
set.
But
in every
actual
train
of occuring
actions,
the set of
time-points
is of course totally ordered (as long as we can assume
common-sense,
Newtonian time). The action structure is therefore
a way of characterizing
a set of similar
trains of actions. As such,
it is an alternative
to other ways of characterizing
a set of
‘admissible worlds’. One other, well-known
method would be a
logical system, where formulas and their truth-values
are defined,
and the admissible worlds are characterized
using formulas that
have the value true exactly
in the admissible worlds [Krip63,
Resch71].
90
i SCIENCE
Let s be an element in a domain Fl x F2 x . . . x Fn. The element of
Fi which is used for forming a, will be called the projection of I)
into the dimension i, and will be written s[i]. The element s will be
said to haue the i:th feature iff s(i] is different from u. We write
dim(s)
for the set of all i such that s has the i:th feature.
Two elements s and s’ are said to be co-dimcnsion.aZ iff
dim(s) = dim(s’)
An action structure over a set A of valid actions
5, p], where p (for plan) is a set of triples
and they are said to be anti-dimensionaL
[h a, t’]
where again t and t’ are time-points
every triple in the set. Each member
iff dim(s)
and dim(s’)
are disjoint sets.
The element
equals k.
s is said to be consistent iff none of its projections
domains
in T, a is in A, and t I
triple
[T
t’ for
form,
it, If, b, v, 4, t’l
It will be desirable to generalize these concepts to be used also for
those domains that are not formed as Cartesian products, and in
particular, for domains that are formed by constraining a Cartesian
product using propositions expressed in logic.
6. The
It, a, t’l
or in expanded
is now a triple
of operations
and
actions.
We now introduce a domain V of operations. For example, “to
turn on switch number 3” might be one operation. In many cases it
will be called an action
occuwencc.
In order to draw a given action structure graphically, we should in
principle make one dot for each time-point;
represent the temporal
order on time-points
using dotted arrows, and then indicate the
action occurrences using solid arrows, with the understanding that a
solid arrow may be drawn on top of the dotted arrow since the
action
anyway
implies that its beginningpoint precedes
its
end-point.
will be natural to form operations using a “verb” in some sense,
combined with a number of “case slots”. In the present treatment
we however make no assumptions about the structure of operations.
6. Coherent
The domain of actions
The preconditions,
postconditions,
and prevail-conditions
impose a
number of constraints on an action structure. Some of the relatively
obvious constraints are:
is next defined as: an action is a fourtuple
If, b, v, el
where f, b, and e are states, and v is an operation. In the sense that
was described in section 2 above, f,b, and e are the prevail
condition,
the pre-condition,
and the post-condition,
respectively.
From the domain of actions, we distinguish a subset A of valid
actions. Intuitively, valid actions are those fourtuples [f,b,v,e] where
f characterizes
the state of the world for the duration of the action,
b characterizes
the state of the world immediately
before the
operation v takes place, and e characterizes
the state of the world
at its conclusion.
For example, suppose the states of the world are fourtuples
indicate the position of each of four switches, such as
which
11, 0, u, 11
If TurnOn
is the operation of turning on switch 2, in a state where
it is off, then the following action should be in the set A of valid
actions:
[I, [u,O,u,u], TurnOn% [u,l,u,ul1
where of course I = [u,u,u,u]. In this example the prevailcondition is the bottom element of the partial state lattice because
there are no constraints in the prevail-condition.
We always require from valid actions [f,b,v,e] that b and e must be
co-dimensional
with each other, and anti-dimensional
with f.
We introduce an identity
i.e.
operation
Noop which leaves every
state
unchanged,
Is, 1, NOOP, J-I
is a member of A for every s in S.
We are now ready to introduce the action structures
themselves,
first intuitively/graphically
and then formally. We will draw an
action structure as in figure 3, where full arrows represent actions.
If two actions begin at the same time, they start in the same point;
if one immediately
succeeds
another
then the endpoint
of one arrow
is the beginning-point
of the next arrow. If a delay is allowed
between one action and the next, then a dotted arrow is drawn
from the end-point
of one to the beginningpoint of the next. In
this way, we can also express e.g. that two actions (must) begin at
the same time, or that the termination
of one (must) preceed the
termination of another.
action
structures.
- at the beginning of an action, all its preconditions
must be
present, either because they were present from the beginning of the
action structure,
or because they were the result of previous
action(s)
- several actions which affect the same ‘feature’ of a state but in
different ways, must not be allowed to occur in parallell. In other
words, the temporal order must guarantee that one of them comes
before the other
may
- several actions which require the same prevail-condition
occur in parallel. However, there must not be other, also parallel
actions that have a prevail-condition
feature in their preor
postconditions.
Th e purpose of th e present section is to capture these intuitions
through a formal definition, which we call for the action structure
to be coherent.
These intuitions actually represent a simplification relative to the
real world. Consider for example the scenario of parking a car
parallel to the curb, between two other cars, starting from the point
where ‘our’ car is positioned to the
parking slot ( in right-hand
traffic)
actions:
al: keep the car moving in the
speed
a2: keep the car’s front wheels at
left of the car in front of the
(figure 4). We consider three
reverse
direction,
at suitable
an angle pointing right
a3: keep the car’s front wheels at an angle pointing left.
The action plan of course is to do a2 and a3 in sequence, and al in
parallel to both of them. These actions affect the same ‘resource’ or
‘feature’ of the state, name?y the position of the car. Still, it is
admissible and in fact necessary to perform them in parallel - fist
turning the wheels right and left, and only then moving backwards,
would not have the intended
In the
present
paper
we
effect.
do
not
account
for
such
coordinated
actions. Here we only wish to capture the intuition of actions which
can occur in parallel because they do not interfere with each other.
In a wider perspective
and in future work, it will however be
necessary
to deal with the case of coordinated
actions.
This very natural structure is formally expressed as follows. We use
to the beginning-points
a set T of tire-points, corresponding
and end-points
of the arrows in the figure. A partial order s is
defined on T, representing the order of temporal precedence.
Planning:
AUTOMATED
REASONING
/ 01
El
92
/
SCIENCE
Let [T, I, P] b e an action structure.
define the incoming action occurrences
It’,a, tl
i.e. having
the
given t as their
For each member
t of T, we
in p to be those of the form
last element.
Graphically,
if each
action occurrence is represented
as an arrow, the incoming action
occurrences are those whose arrows end in the given time-point.
The incoming states for a time-point
t are defined as follows:
- the post-condition
of each incoming action occurrence,
is an
incoming state;
- the join of the prevail-conditions
of all the incoming action
occurrences, is also an incoming state.
Similarly,
the
outgoing action occurrences
are those of the form
It, a, t’l
having the given t as their fast element, and the outgoing states
are the pre-conditions
of the outgoing action occurrences, plus the
join of the prevail-conditions
of all the outgoing action occurrences.
We are now ready to formulate
An action structure
time-point
t in T,
[T, 5,
the coherence
criterion.
and anti-dimensional,
2. the outgoing
and anti-dimensional,
states are consistent
The join of states mentioned
t.
state of the time-point
in point 3 will be called the
cuwent
Furthermore,
an action structure
[T, 5, p] is also coherent
can add to p some number of action occurrences of the form
It, Is, 1, Noop, 11, t’]
and the resulting action structure
if one
is coherent.
The way an incoming state cold be inconsistent is if incoming action
occurrences have incompatible prevail conditions, and similarly for
This
states.
definition
captures
and the formally
most
of the intuitions,
but it leaves
derived properties
of the concept.
Suppose we are to prepare and consume a meal consisting
of
pancakes followed by a cup of coffee. The coffee is to be cooked on
the stove, and since there is only room for one pot at a time on the
stove, and we do not want to interrupt the eating in order to cook,
we decide to make the coffee before the pancakes.
(Thus hot
pancakes have higher priority than fresh cooked coffee). Figure 5
shows the action structure, including the operations of making the
heating the stove,
and allowing the stove to cool.
In order to analyze the action structure, we use partial states with
four truth-value
components,
namely the answers to the following\
questions:
is
is
is
is
where
the stove
is hot,
there
is no batter,
and
The actions
as follows:
whose operations
[I, UOUU, MakeBatter,
occur
in figure 5 can now be defined
uluu]
[I, Ouuu, HeatStove, luuu]
[ luuu, uuu0, MakeCoffee, uuul]
[luuu, ulOu, FryPancakes,
uOlu]
[I, uulu, EatPancakes,
uuOu]
(L, uuul, HaveCoffee, uuuO]
[I, luuu, CoolStove, Ouuu]
If we use these actions in the structure of figure 5, and check out
the coherence
criterion
above, we obtain a violation.
The key
problem is that the result of making the coffee, i.e. the fact that
coffee exists, must be ‘made known’ to the action of having coffee,
which of course has coffee existence as a precondition.
This is
accomplished by adding an action of the form
[uuul, I, Noop, I]
from node t4 to node t7 in the figure.
There is a similar problem concerning those nodes which are the
first ones to have a feature (i.e. no earlier time-point
has a current
state that haa the feature). We shall call such nodes the first we
node(s) for the feature. In order to satisfy the coherence criterion,
we have to add Noop actions from the initial time-point
t0 to the
first use nodes for each feature (at least if the first use node has
some predecessor
at all). The last nodes have to be similarly
connected to the final time- point t9. (This is somewhat inelegant,
but we outline below how one can avoid the need to formally
introduce
those Noop actions).
The resulting action structure
is
shown in figure 6. For simplicity, a Noop action such as
[uuul, I, Noop, I]
is written
just as [uuul] in the figure, and is drawn
-a-s-*-9
arrow.
as
a
out
We shall first motivate
this definition with a
and then proceed to the additional requirements
7. An example.
batter,
state
we do not know.
One may ask why we do not instead augment the existing arcs from
t4 to t5 and from t5 to t7 so as to contain also the information that
coffee exists. The reason is that in a more general case, there could
have been two (or more) parallel1 paths from t4 to t7, and then
there would be no reason why one or the other should ‘carry’ the
coffee existence information.
3. the join of the incoming states equals the join of the outgoing
has both incoming and outgoing states.
states, if the time-point
some constraints.
concrete example,
otherwise
p] is defined to be coherent if,for every
1. the incoming states are consistent
outgoing
the partial
the stove hot?
there batter?
there pancakes?
there coffee?
As before, each component of the partial state is either of u, 0, 1, or
k. We write the states without punctuation,
so 1Ouu is for example
It is now trivial to check off that the action structure in figure 6 is
coherent. The current state of the respective time- points, i.e. the
join of their incoming or outgoing states, is as follows:
to 0000
t1
uouu
t2 ouuu
t3
luu0
t4
1101
t5
1Olu
t6 Ouuu
t7
UUOl
to8 uuuo
t9
0000
When
action
structures
are
repeated
cyclically
(for
example,
in
robotics applications, for the programs of manufacturing
cells), it is
often undesirable to have a single startpoint
and endpoint for the
cycle. We would like a cycle to have several, parallel first actions,
each of which can start as soon as all its prerequisites have been
made available. Our model can easily be adapted for that purpose:
instead of having the extra Noop actions that go to the first use
node and from the last use node for each state feature, we would
form a vector of first use nodes and another vector of last use
nodes, across the feature space. The definitions of incoming and
outgoing states in action structures
must of course be modified
Planning:
AUTOMATED
REASONING
/ 93
i.
I
?
.i
I
i
i
7)
=i
9
i
i
i
94
/
SCIENCE
i/
i
i
rol
z!
3
’
.’
accordingly.
The operation
of combining two successive cycles is
then be performed by introducing an appropriate Noop action from
the last use node of each feature in one cycle, to the first use node
of the same feature in the next cycle.
8. Additional
and finally (“frame property”),
if u > t is the immediate successor
of t, s(u)[i] = s(t)[i] unless the b or e condition of an action forces
them to be different according to the above.
9. Verbs
conditions.
requirements.
or
verb
phrases that express post-
and
prevail-
Consider
the action
structure
described
in figure 7. It is a
prevail-condition
of operations vl and v2 that the first dimension
feature shall be 1. The operation v3 changes that value from 1 to 0,
and v4 changes it back to 1. The action structure in the figure is
coherent, according to the definition in section 6. Yet we see that
the action structure
may possibly not be correctly
executable,
namely if operation v3 takes effect before vl has concluded.
We have not said anything
about the intended
structure
of
operations.
From a software engineering background,
it may be
natural to view operations as essentially procedure calls, i.e. names
of procedures
with their proper parameters.
Preconditions,
post-conditions,
and prevail-conditions
are then a part of the
specification
and/or
the description
of the procedures,
but one
would not expect to derive those conditions from the name or the
The example illustrates a side-effect
problem: the problem which
arises if another action, maybe in a remote part of the action
structure, locally violates a condition of an action, or at least (with
unfortunate timing) threatens to violate it.
If the operations are instead thought of as verb phrases in natural
language, this picture changes somewhat. A verb phrase like ‘(to)
open the door’ directly suggests what is the postcondition,
and also
(taking for granted that one can not open a door that is already
open) the corresponding precondition.
The following
is a possible
way of characterizing
that
Let [T,l,p]
be an action structure. A sequence of action occurrences
in p is called a chain iff it has the form
[tO,al,tl], [tl,a2,t2],(t2,a3,t3]
,...
An action occurrence
[t, lf,b,v,el,~1
action occurrence
It is easily seen that in an action structure that is aligned for the
i:th feature, those actions whose b and e have the i:th feature
(active actions, drawn a-/)
and those whose f have the i:th
feature
(passive
actions,
drawn
----->)
together
form a
structure of the type shown in figure 8. Substructures
of passive,
possibly parallel1 actions with a single start-point
and end-point,
are sequentially combined with active actions.
Our intuitions
for admissible
action
structures
can now be
formulated as follows: an action structure [T,l,p]
is admissible iff
there exists some p’ which is a superset of p, where all the action
occurrences i p’-p are formed using the operation Noop, and where
[T,<,p’] is coherent, and aligned for all features.
‘model
existence’
property
is stated
here
without
If [T,<,p] is an admissible action structure,
and 3 is a total order
over T such that
t 5 t’ -> t i: t’
then one can assign a consistent state s(t) to each time-point
t in
T, in such a way that the following holds for every action
occurrence [t’, [f,b,v,e], t”] in p:
b 5 s(t’) e c s(t”)
and for every t such that t’ < t < t”,
s(t)[i] = u for each i in dim(b),
and for every t such that t’ < t 5 t”,
f c s(t)
of the operation.
In common sense reasoning, we also have access to a reportoire of
‘methods’ for how to achieve a goal. The method for achieving a
goal is often used in place of the mere attainment
of the goal. For
example, if we say: ‘as John was driving home that afternoon, he
was hit by the lightning and died’, we refer to the action which, if
properly
completed,
would have the postcondition
‘John is at
home’,
but which in this particular
occurrence
was tragically
interrupted.
Similarly, if we watch a movie where the hero is asked to ‘please
leave the room’, and he does so by crashing through the window,
the possible entertainment
effect is derived from the non-standard
way in which the hero achieved the requested result.
An action structure [T,<,p] is now said to be aligned for the i:th
feature iff there is some subset p’ of p which is a chain, and where
every action occurrence whose f,b, or e has the i:th feature, is either
a member of p’ or is subsumed by some member of p’.
The following
proof:
(the ‘body’)
constraint
formally:
is said to subsume another
[t’, [f’,b’,v’,e’], u’]
in the i:th feature, iff
t g t’ c u’ c u
and
f’[i] E f[i]
definition
These examples will suffice here as indications of how we would like
to analyze
some natural-language
verb phrases
in terms
of
intended world-states,
and standard methods for achieving them.
But there are also plenty of examples of how verb phrases refer to
prevail conditions, namely phrases of the form
‘keep’ + condition
For example,
‘keep the car on the road’, ‘keep the car at the
regulated speed’, ‘keep the pot slowly boiling’, ‘keep the audience
interested’, ‘keep all the rooms clean’, all show how a lot of common
sense phenomena
may be understood
in terms
of qualitative
regulators or feed back loops. The formal characterization
of such
actions would of course refer to the state that is intended to be
kept, as a prevail-condition.
In such cases the prevail-condition
is
not merely a prerequisite
for doing the essential action, but it
defines
the essential action.
It is interesting to notice that this could be an entry point to “naive
control theory”, which would seem to have a potential for being of
high industrial relevance. Also, we should maybe now return to von
Neumann’s
early insight that feedback systems are of outmost
importance for intelligent behavior,
‘cybernetics’ that he coined.
10.
Non-flat
feature
and blow new life into the term
domains.
Above we have introduced
feature-values
as domains,
but all
examples
have been chosen from the trivial case of flat, finite
domains. It is easy to see how the more general case can be useful
especially for prevail conditions.
For example, suppose we have
actions for painting a wall with color X, for different specific X, and
we also have an action of photographing
a white statue with that
wall as background, which (in the prevail condition of the action)
requires the wall to be non-white.
If now the feature domain is
Planning:
AUTOMATED
REASONING
/ 95
organized
branch is allowed to violate the prevail-condition,
basically
one can not characterize what is a parallell branch.
so that
u E non-white
g red E k
then we can organize our action
structure
so that
the paint-red
action is succeeded by the photographing
action. At the time-point
between those two actions, the incoming post-condition
(red) is
matched
against
an
outgoing
prevail
condition
(non-white).
In
order to satisfy the last requirement on coherent action structures,
we must add an outgoing Noop action whose prevail condition says
that the wall is red. The two outgoing prevail conditions ‘red’ and
are co-dimensional
but not equal, but that does not
‘non-white’,
matter - the important thing is that their join (‘red’) is consistent.
11. Related
The theories and languages for concurrent programming address the
issue of specifying ‘two or more sequential programs that may be
executed
concurrently
as parallell processes’ (quoted
from the
survey article of Andrews and Schneider, (Andr831). Their goal is
therefore different from the goal of the present work, which is to
characterize
parallell processes in the world outside the computer,
but evidently the techniques may sometimes be interchangable.
One of the approaches
to concurrent
programming
is to consider
cooperating ScquentiaZ processes [Dijk68], i.e. to use a set of
equipped
with
sequential
programs,
special
synchronization
operations.
That approach may make good sense for concurrent
programming,
especially in machine-oriented
programs, but is not
as attractive for describing real-world
action structures since there
is usually not a good set of ‘processors’ to write programs for and to
synchronize.
Another approach,
path expressions,
separates the specification
of operations from the constraints on execution order [Camp74]. In
that respect they can be considered
as similar to the approach
taken in the present paper, since the action structure
does not
specify the ‘procedure’ for performing an operation, but only the
allowable
orderings.
Also, the alignment
criterium
that
was
introduced
in section 8, can be thought
of as a set of path
constraints,
one for each feature. But the path operators that are
used for writing path expressions, such as “,” for concurrency
and
“;” for sequencing,
do not easily lend themselves
to expressing
structures like the one in figure 1. Also, path expressions have not
(to our knowledge) developed the counterpart
of the precondition/
postcondition /prevailcondition characterization
of operations.
A large amount of work has been based on modal Logic, both as a
tool for concurrent
programming,
and in A.I. for characterizing
structures
of actions or events (which is exactly the goal of the
present
paper).
Basically,
the
‘accessibility
relation’
that
characterizes
the Kripke semantics for modal logic [Krip63] is then
used as the relation
between
a world-state
and a (or the)
succeeding world-state.
Dynamic logic
((Prat76j)
allows one to
use a collection of such accessibility relations.
Each elementary
operation
(from world-state
to world-state)
may be one such
and relations
may be composed
algebraically,
using
relation,
composition,
“union” for
operators
such as “;” for sequential
and the Kleene star for infinite sequential
parallel composition,
repetition.
from our point of view, is that
world-states
are not explicitly
named and talked about.
The
language only allows you to say things like “in the resulting state
after first doing a, and then doing b and c in parallell, the
proposition
P will hold”. Consequently,
the language
can not
characterize
structures
like the one shown in figure 1. Also, it
becomes
quite difficult
(probably
impossible)
to express
the
constraint
of prevail-conditions,
namely that no other, parallel1
96
I SCIENCE
~e’cnporuZ logic
([Resch71])
time, as the accessibility
FA
uses the temporal ordering of points in
relation, with modal operators such as:
A is true at some future time
GA
A will be true at all future times
etc. As far as we can see, temporal logic (as used e.g. by Halpern,
Manna and Moszkowski [Halp83]) leads to the same problem as
were just discussed for dynamic logic.
Manna
and
Pnueli
[MannBlb]
apply temporal
logic to the
specification
of concurrent
programs,
using the approach
of
“cooperating sequential processes” which is not well adapted to our
goal, for the reasons quoted above.
work.
The big problem with that approach,
because
Yet another approach,
which is also frequently called “temporal
logic”, is to use a many-sorted
first-order
logic where e.g. ‘times’,
‘intervals’, ‘states’, and ‘events’ are distinct sorts, and where there
are the obvious relations and functions such as
During(il,i2)
Holds(p,i)
and so on. This approach,
which we can call “explicit temporal
logic” (to distinguish
from “modal temporal
logic”) has been
repeatedly used in A.I. Along with (one interpretation
of) the logic
programming
paradigm,
work with this approach
is done by
defining an ontology, first intuitively and then formally by writing
down a large number of axioms in first-order
logic. The axioms
must of course characterize
those sorts and relations. McDermott
has done this for one particular ontology, which uses states, times,
chronicles, etc. ((McDerm82J).
Allen has done a similar work for a
different ontology,
which treats intervals
of time as the basic
concept ([AlleBl]). A cri t i q ue of these works, which seems to extend
to the approach
in general, has been written
Yet another approach,
temporal logic, of some
it into a programming
et al ([Geor85]) is a case
by Turner
([Turn84]).
particularly
in AL, has been to extend a
kind, with additonal constructs which turn
Language. The procedural logic of Georgeff
in point.
Outside the framework
of formal logic, early AL
research
on
planning
and problem-solving
developed methods
that have
inspired the results in this paper. The handling of preconditions and
postconditions
builds directly on STRIPS,
as has already been
discussed. Its successor, the NOAH system ([Sace75]) used a partial
order on the actions in the plan, in order not to over-commit
itself
during the plan-making
process.
Also, many
“scmuntic
net” type enterprises (in the broad sense of
the attempts to develop adequate knowledge representations
to be
used for language
understanding,
scene recognition,
question
answering, etc., based on common sense and ad hoc notions) have
introduced “nodes” “arcs” , etc. for actions or events, and are able
to express tempera; relations, preconditions, and/or effects of those
actions.
Too
often,
of course,
the
expressiveness
of such
representations
is so great that a formal analysis of what it is they
express, is not possible.
In relation to these various approaches, ours can be characterized
as
an explicit temporal logic, and in that respect it is similar to the
approach of McDermott
and of Allen. However, we do not tread the
usual path of logic, i.e. to define the language, write out axioms,
define a semantics, and so on. The structures described above are
the ones which would have been used for the semantics, if we had
followed the standard
path. But we do not see the need for
language and axioms, at least not at this point. The purpose of the
present paper has been to nail down a minimal set of necessary
concepts (a simple ontology for action structures, if you wish), and
to characterize
the logically admissible action structures.
References.
[AIIe81] Allen,
knowledge”.
J.F.
Proc.
“An interval
7th IJCAI,
based
representation
of temporal
1981, pp. 221-226.
[Mann8lb]
programs:
J.S. (eds)
Manna,
273, Academic
[Andr83] Andrews, Gregory R., and Schneider, Fred B. “Concepts
and Notations for Concurrent
Programming”.
Computing Surveys,
Vol. 15, No. 1, March
1983.
[Camp741 Campbell, R.H., and Habermann, A.N. “The specification
of process synchronization
by path expressions”.
Lecture notes in
Computer Science, vol. 16. Springer Verlag, 1974, pp. 89-102.
[Dijk68] Dijkstra, E. W. “Cooperating
Genuys (ed), Programming
Languages.
1968.
sequential
Academic
processes”. In F.
Press, New York,
(Geor85] Georgeff, Michael P., Lansky, Amy L., and Bessiere,
“A Procedural Logic I’. Proc. 9th IJCAI, 1985, pp. 516-523.
Pierre
[Krip63] Kripke,
Acta Philosophica
S. “Semantical
considerations
Fennica, Vol. 16, pp. 83-94.
on modal
logic”.
[MannSl] Manna, Z., and Wolper, P. “Synthesis of Communicating
Processes
from Temporal
Logic
Specifications”.
Proc.
of the
Workshop on Logics of Programs,
Yorktown Heights, NY. Lecture
notes in Computer Science, Springer Verlag, 1981.
A. “Verification
of concurrent
Press, New York,
1981.
(May831 May, D., Inmos Ltd., Bristol, U.K. “Occam”. SIGPLAN
Notices, April 1983. (Occam is a trademark of Inmos Ltd.)
(McDerm82] McDermott,
D. “A temporal logic for reasoning
actions and plans”. Cognitive Science, Vol. 6, pp. 101-155.
(Pete821 Peterson,
J.L.
systems”. Prentice-Hall,
“Petri Net
Inc., 1982.
theory
and
the
about
modeling
of
[Prat76]
Pratt,
V.R. “Semantical
considerations
on Floyd-Hoare
logic” Proc. 17th IEEE Symp. on Foundations of Computer Science,
pp. 108- 121.
[Reschirl]
[HaIp83] Halpern, J., Manna, Z., and Moszkowski, B. “A hardware
semantics
based
on temporal
intervals”.
Proc.
19th
ICALP.
Springer Lecture Notes in Computer Science, Vol. 54, pp. 278- 292.
Z. and PnueIi,
the temporal framework”.
In: Boyer, R.S. and Moore,
The correctness problem in computer science, pp. 215-
Verlag,
Rescher,
1971.
J. and Urquhart,
A. “Temporal
[Sace75] Sacerdoti,
E.D. “A structure
for plans
Ph.D. thesis, reprinted by Elsevier North Holland
New York, 1977.
logic”.
Springer
and behavior”.
Publishing Co.,
[Tate76] Tate, A. “Project planning using a hierarchic nonplanner”. Univ. of Edinburgh, Dept. of A.I. Research, Report
[Turn841 Turner, Raymond
Horwood, Ltd., 1984.
Planning:
“Logics
for artificial
AUTOMATED
intelligence”.
REASONING
linear
25.
Ellis
/ 97
Download