X-Envelope-to: CSG-L@vmd.cso.uiuc.edu
X-VMS-To: @CSG
MIME-version: 1.0
Content-transfer-encoding: 7BIT
Newsgroups: bit.listserv.csg-l
Date:         Thu, 27 Aug 1992 10:57:21 -0600
From:         "William T. Powers" <POWERS_W%FLC@VAXF.COLORADO.EDU>
Subject:      SR; Interactionism;Agre's Cooking program
X-To:         CSG-L@vmd.cso.uiuc.edu

[From Bill Powers (920827.0800)]

Mary tells me that Living Control Systems II is in "Books received"
this week in Science.

Martin Taylor (920826) --

RE: Control of other control systems

You say
>What is the problem with controlled agents themselves controlling
>others? Let us take the S-R position that some pattern in the
>environment determines the behaviour of an agent (I assume this is
what >"control" means in that context).  Then why should the actions
of that >agent not create a pattern in the environment that determines
the >behaviour of another (sub)agent?"

>It seems to me analogous to the situation of a high-level ECS
>controlling its percept by way of (unknown to it, of course) setting
>references that lower ECSs use in controlling their percepts.

The most important disanalogy is that one organism has no way of
directly setting reference signals for another. At best, one organism
can disturb another's controlled variables, and thus create some sort
of shift in the lowest levels of perception. As a result, there may be
deviations of higher-level perceptions from their reference signals,
countering which require changes in lower-level reference signals. The
nature of those changes depends on ALL the control systems in the
organism, not just the system disturbed, and is unpredictable without
complete knowledge of the organism's hierarchy of control. As your own
theory of Layered Protocols makes so clear, all communication between
independent organisms must take place through the lowest levels of the
system. That is the only contact between the higher levels.

Inside a single organism, of course, higher systems use lower ones
quite freely, just by manipulating their reference signals through the
natural connection from one level to another. Lower levels have no way
of adjusting their own reference signals. But no such connection
exists between people; all people adjust their own reference signals
at all the levels where other people can do the same thing.

Also, I should ask you why we should take the S-R position that
patterns in the environment determine the behavior of an agent. To say
this implies that given only the pattern, we can predict the behavior
of the agent. I agree that this expectation follows from the S-R
premises. But I don't agree that the expectation has ever, in fact,
been fulfilled. All that patterns in the environment can do is change
perceptions. What is done about such changes depends on the organism's
goals, not on the pattern.

If the relations between external patterns and behavior were
deterministic, we would expect a clear relation of dependency to be
observed. Instead, we see that there is always a large scatter, of the
same magnitude as or larger than the magnitude of the average apparent
effect. This is hardly a "deterministic" relationship.

>... whether you buy this analogy or not, I can't see the paradox when
>the controlled controller is seen strictly from an S-R viewpoint.

The paradox can't be seen from a strict S-R viewpoint. I'm very
puzzled by these words of yours. I certainly agree that you "do have a
slight inkling of what PCT is all about." But the impression you're
creating here is that there is something about the S-R explanation of
behavior that you still find valuable. Is that true? Or am I once
again misinterpreting?
----------------------------------------------------------------------
--
Penni Sibun (920826) --

I'm being cautious here to avoid more podiphagia.

You say
>the interactionist argument is in general deemphasizes individuals
and >emphasises their interactions.

Does this mean that interactionists believe that interactions can be
EXPLAINED without reference to the properties of individuals, or that
they can be DESCRIBED without such reference? Does the interactionist
viewpoint differ from, say, that of conventional sociology, in which
it is held that there are laws of social systems that exist apart
from, and indeed unconnected to, laws of individual behavior?
----------------------------------------------------------------------
Avery Andrews (920826) --

>Bill's arm demo (the version I have at least) has to assume that the
>visual system can track the fingertip & the target, whereas a major
>aspect of Sonja is a visual system that can to some extent actually
do >this (though he ducks problems of early vision).

In the Arm Demo, I assume that the visual system can identify the
target and the fingertip as discrete objects in the retinal image. I
assume that it can generate signals that depend on the retinal
separation of these objects in the x and y directions. The retinal
separation is given in units of angle as seen from the position of
each eye's lens, which is proportional to the spatial separation of
points in the retinal image.

Can you explain how Sonja's visual system identifies the various
retinal images, and how the relative retinal distances between image
points are converted into signals?
------------------------------------------------------------------
I have a copy of a '92 paper for AAAI (whatever that is) by Agre and
Horswill called "Cultural support for improvisation." In it he gives
the results of a run of a program called "Toast," which makes
breakfast. Evidently the output is a series of statements indicating
what is being done by the program at each step.

0      break-egg egg-11 bowl-4
       [making omelette]

1      add-egg egg-10 omelette-batter-0
2      add-egg egg-9 omelette-batter-0
3      beat omeletter-batter-0 whisk
4      move pan-4 burner-4
5      move butter-pat-15 pan-4
6      melt burner-4 pan-4 buttter-pat-15
7      move slice-23 toaster\
       [Waiting for butter so making toast]

8      start toaster slice-23
9      move knife-4 plate-1
10     *** done with goal (knife clean plate-1)

11     move fork-4 plate-1
12     *** done with goal (fork clean plate-1)

13     move butter-pat-14 knife-3
       [back to toast]

14     butter slice-23 knife-3 butter-pat-14
15     pour-omelette-batter omelette-batter-0
       [butter melted so back to omelette]

16     move slice-23 plate-1
       [setting table]

At the end is:

  Figure 2. Sample run of the breakfast program. The agent was given
  the goals of making an omelette, two pancakes, a slice of toast, and
  setting the table, then cleaning up. Our comments appear in square
  brackets.

Then, in the section called "Control experiments":

  To insure that the breakfast maker problem was not entirely trivial,
  we implemented a STRIPS formalization of a subset of the domain and
  tested it using the SNLP non-linear planner [ref] on the omelette
  making subproblem. A solution to this involves breaking and beating
  three eggs, melting butter, initial cooking, then folding and
browning
  each side. The planner could solve the problem when led through the
  correct plan a few steps at a time, but could not solve the complete
  subproblem from start to finish given the resources which we had
  available to us.(The planner ran for 6 hours on a Symbolics XL1200
  before exhausting its paging disk). The planner was able to make
toast
  and set the table however.

If this is what is meant by "too much machinery," I get the point. 6
hours!

Before this section, the authors discuss the philosophy of their
approach, which depends on using the properties of objects in the
environment to replace a great deal of computation. Here's my
interpretation of what they say; make allowances for the fact that I'm
trying to swim through a sea of unfamiliar terminology. Gratuitous
comments by me are in square brackets.

Objects in the world are characterized by the roles they play in
customary routine activities. [The playing of roles is attributed to
the objects. A lot of the language that follows could be cleaned up by
inserting "are perceived to be" or some such proviso at frequent
intervals].

A given object type is characterized by a state graph: nodes are
states and arcs are labeled as operations that change the state from
one node to another. [These are apparently thought of as properties of
the objects, but operations are defined in terms of their outcomes,
not in terms of the actions that bring them about. In HPCT terms, the
operations could be re-phrased as the setting of goals specifying a
new state which lower systems then bring about, thus moving the object
state to the new node].

An operation can be a label that applies to several arcs leaving a
given node, thus being "nondeterministic." [This baffles me. Do they
mean "stochastic?" Do they mean that under various circumstances, a
given act can have different outcomes? We begin to see the penalties
of failing to distinguish between the actions of the system on an
environment and the response of objects in that environment to the
actions. Properties of the behaving system are being merged with
properties of the environment.]

A object instance has an associated object type.

A world state is a set of instances and a mapping from each of these
instances to a state in its type's graph. A history follows a set of
instances through a series of changes. [This would seem to amount to a
model of the environment's behavior]

An action type is a sequence of pairs made of an object type and an
operation from that type's state graph.[ So an action type is a set
sequence of operations that produces a set sequence of states. The
assumption that there are no disturbances is clear. A given type of
action will always produce a given result. The need for control theory
is evident.]

A history is thus determined by an initial world state and a sequence
of action instances.

A task is a set of object types, an initial world state, and a set of
goals, each of which consists of an object type and a state from that
type's graph. [So reference levels are picked from states known to be
possible for that type of object -- see the role of memory in the HPCT
model.]

A goal for an object is satisfied if the world state contains some
instance of the object type that is in the indicated state.(So one
cannot assert that two instances of a given type must be in a given
state). [I don't see the advantage of this rule. It says, apparently,
that the goal of breaking a given egg is satisfied if the egg being
operated on remains intact, but another egg breaks. But I must
remember that the environment in this system can't do anything
spontaneously -- there are no disturbances. So the only egg that can
break is the one being operated on by the break operation and there's
no need to keep track of which egg is broken.]

The authors say of this scheme as described so far, "... it allows us
to define one important source of complexity-ameliorating constrain in
a natural way, as follows."

What follows is a series of categories. First, a class of tasks called
cooking tasks, containing two object types: tools and materials.

A tool is an object that possesses at least one free state (meaning
that this state can be reached from any other state using a single
operation). Each tool has a normal state, such as "clean and dry."

A tool action involves one or more tools; a normal tool action
requires the tool to be in its normal state at the beginning.

A material has a raw state, from which all its other states are
reached by operations in the class normal tool actions. [This reminds
me of writing a program in which all the variables are arrays of
pointers to structure entities, in anticipation of later expansion to
a general case. In my experience, the programs always change before
the general case is reached, so the program becomes excessively
ponderous because of including generalities that turn out never to be
used.] Other operations on materials can also occur.

There is also a third object class called containers.
----------------------------------------------------------------------
--
Well, we can see roughly the universe in which this approach takes
place. There are parts of it that suggest how level-9 (program)
behaviors might be organized, with sequence and category being
included, but all lower-level control processes being assumed to take
place successfully. That assumption is OK with me. What's missing, of
course, is any explicit recognition of the goal-directed tasks as
being control processes. The ways of categorizing the elements of
these tasks are arbitrary; more useful categories, I think, would
result from including one lower level of perception, relationships.
Even just "in" and "on" would be enough to eliminate the category
"container."  To go on:
---------------------------------------------------------------------
"We assume that the agent can readily detect the states of all visible
objects. The agent achieves its goals by using normal tool actions to
push materials through their state graphs along certain customary
trajectories; and it uses focused actions to get tools into normal
states. The algorithm thus depends on a culturally defined abstraction
that minimizes interactions among the actions in cooking tasks."

Summing up, the authors give this description of the algorithm:

While there are unsatisfied goals,

Choose aribtrarily an unsatisfied goal.

Let G be the specified goal state.

Find an instance M of the specified material type.

Determine its current state S.

Let A be the entry for the S and G in M's action table.
Choose tool instances to fill each of A's participant slots,
preferring instances which are already in their normal state.

If some chosen tool T is not in its normal state, then perform the
action specified in T's action table for its current state. Otherwise
perform A using M and the chosen tools.
----------------------------------------------------------------------
-
This last summary is ever so much simpler than all the verbiage that
led up to it, because the attempt to present a general case has been
reduced to a specific case. We can see how to relate it to control
theory rather directly, because the algorithm is basically a control
process. A goal is given, compared with a current state of affairs,
and steps are taken to reduce any difference between the goal-state
and the perceived state to zero.

One change I would suggest is the explicit addition of an error graph
for each operation. The main weakeness of this algorithm as it stands
is that every operation must produce a predictable state. By using an
error graph this limitation could be removed.

There are many states in which an object can be, only some of which
are needed at a given moment, the rest being departures from that
state. For each perceived state of an object and each goal state of
the same object, there is an error-state. The action that is required
to decrease that error depends on how much error there is, and what
its direction is. If, for example, a sub-goal is "break three eggs
into the pan", and there are no eggs left on the kitchen counter after
two have been broken, the lower-level action that brought the eggs to
the counter in the first place should be used again, with an argument
of 1: "get 1 egg and put it on the counter." This reduces the error in
the number of eggs to zero and allows the higher-level process to
complete the correction of its error.

The error graph could be very complex unless we reduce each perceived
variable to a single dimension (like number-of-eggs-on-the-counter),
multiplying the number of systems operating in parallel as required.
When the perceptual variable can vary only in one dimension, the error
graph becomes one-dimensional: for a particular perception and a
particular goal, pick a subgoal that will increase or decrease the
difference as required. It is not required that the action eliminate
the error; only that it make the error smaller. If the error gets
smaller on every iteration, it will eventually go to zero. In many
cases it can go to zero in one or two iterations. This allows for
disturbances to occur, both from independent events and from the
actions of other control systems in the same agent  operating at the
same time. A disturbance will simply move the error graph to a new
node, which will indicate the sub-goal adjustment needed to reduce the
error from that starting point. So if the agent accidentally drops an
egg, it will reactivate the lower-level system that got the other eggs
from the refrigerator and complete breaking the required number of
eggs into the pan.

This is saying no more than that this algorithm, since it already
resembles a control process, might as well be carried the rest of the
way.
----------------------------------------------------------------------
Best to all,


Bill P.
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU