PCT and process control; modling spatial perception

[From Bill Powers (940714.0900 MDT)]

Paul George (940713.1700) --

Excellent replies to my request for labels on the diagram. I'm going to
concentrate on main differences/agreements and not comment on side-
issues, about which we have no _important_ disagreements.

                              :
                              :
                   B ======
               =========>|| F2 ||---C----------D
              >> ====== |
              ^^ : v
              >> : =====
           ====== : || F3 ||
   A ====>|| F1 || : ======
           ====== : | E
             ^^ : | |
             >> H ====== v ====== |
              ====<======|| F4 ||<-----G------ F <----|| F5 ||<---
                          ====== ======
                              :
                              :

A = reference value or setpoint. Usually the desired state of H, but
sometimes a limit - i.e. action should be taken when H exceeds the
limit until H falls below.

Right. We call A the reference _signal_, as it is variable. We call a
"limit" system a "one-way" control system; if controls only when H
exceeds (or is less than) A.

B = Control output, output variable, or sometimes 'command'. Note that
we usually keep it around and use it in computations (F1).

This is what we call the error signal. It represents the difference
between A and H. We wouldn't use the word "control" here; see below.

H = Control input, input variable, or input data (precise aren+t we).
Same apparent semantics as in PCT controlled variable. In our case H
can be a scalar or vector array, but that is an artifact of design. We
could construct things your way with one loop per variable.

Here there is some divergence. In PCT, H is the perceptual signal. It is
_not_ what we call the controlled variable, because we use the term
"variable" to refer to observables in the environment (what an external
observer could see). A "signal" is a variable inside the control system.
It is true that H is a controlled signal, in that the action of the
whole loop is such as to make H match A, whatever A may be. I don't much
like "control input", because this implies that the signal H is capable
of controlling something -- i.e., maintaining it in a specificed state.

Yes, you could construct things my way with one loop per variable;
that's the current preferred model in PCT, but of course there's nothing
carved in stone there. Thinking of one loop per variable makes it easier
to understand what a system is doing. Sometimes, I think, it makes a
system easier to design, too.

F1 = Control logic or function Block. Usually not a simple, 2 variable
difference. Usually a number of H values and B values and (sometimes) A
values go through a set of algorithms to determine the desired value
for B. We are usually forced to be pro-active due to latencies in the

system and the process under control.

Again, I consider the term "control" unfortunate, because by itself this
block can do no controlling. Control is what the whole loop does. We
call F1 the comparator, and treat it as a simple subtraction. This is
part of seeing how far we can go with the simple PCT model, as Tom
Bourbon noted. Neurally, subtracting one signal from another to get a
difference signal is very simple: one excitatory input and one
inhibitory input do the trick. Of course this means that to get two-way
subtraction you have to have two comparators, because neural signals
can't reverse sign. We usually ignore this problem.

As to multiplicity of inputs to a comparator, I think that is taken care
of by the "one-variable-one-loop" architecture. Also I think that
allowing too many aribtrary connections in an ad-hoc way leads to messy
designs, and probably unlikely designs for a living system. And much of
what you might try to do with a complex comparator is taken care of in a
simpler way by a hierarchy of control.

F2 = Output point. An output tranducer. Performs D to A conversion in
some cases. Basically translates B to whatever the actuator instrument
requires. In some cases performs computations or sampling on B. Depends
on the cycle time of F1 vs that of the instrument.

Agree. We call F2 the Output Function. It converts the error signal into
some immediate influence on the physical environment, unidirectionally
(disturbing its output does not alter its input).

F4 = Input Point. An input transducer. Usually performs A to D

conversion. Usually samples or averages F.

We call F4 the Input Function or Perceptual Function. It converts one or
more inputs from variables like F into a signal H that represents some
aspect of the part of the environment where F is. The kind of function
performed depends on the level in the hierarchy. For a system in the
middle of the hierarchy, the inputs F are really copies of lower-level
perceptual signals, some of which are under direct control and some of
which simply represent states of the lower-level world. The first-level
systems receive inputs only from the environment. Part of the modeling
problem is to decide what function F4 performs. It could be sampling,
averaging, or anything else.

Since the output of F4, or H, is what is really controlled (the ultimate
criterion is that H must match A), it is the form of F4 that determines
what the external observer will see being controlled in the environment
of the control system. Thus in PCT, we do NOT begin by knowing what
aspect of the external world is under control, as the engineer would. We
have to deduce what is under control by hypothesizing forms of F4, then
testing to see whether the environment, viewed through the hypothetical
function, is resistant to disturbance because of the actions of the
system. That's the basis for the Test for the controlled variable.
Engineers don't have to use that test; they know what aspect of the
environment is supposed to be under control.

F4.1 = Sensor Instrument. Translates the sensed variable F into some
kind of a reading or metric. A pressure sensor turns a pressure into a
voltage. Sometimes combines some set of physical sensors into a reading
or set of readings. Note that I may measure the temperature of a vessel
and translate it into the temperature of the substance inside the
vessel. Sometimes samples or averages a continious reading. I think
this has the same sematics as your G, but we consider it a function,

since it is a device. The channel is separate. Some advanced instruments

are control systems in their own right. They may have both sensors and

actuators, and may transmit an error signal.

No problem here. In the nervous system, all input translations are
either from a physical variable to a neural signal (considered as a
continuously-variable frequency at the lower levels) or from a signal
into a signal. No A/D conversions as such, of course.

You are simply expressing the hierarchical nature of perception. At the
lowest level, where stimulus intensity is converted to neural frequency,
there are some control systems (like the spinal reflexes or the iris
reflex) which directly control intensity signals, and thus indirectly
control the physical variable (F) of which the signal is a quantitative
analog. Copies of the controlled signal also pass upward to higher
levels, the same levels from which the reference signals for the spinal
control systems arise. So a higher system may send its error signal (B)
to the reference inputs of a number of spinal control systems, and
receive its input information (F) in the form of copies of the
controlled perceptual signals H from a number of intensity-control
systems (as well as from uncontrolled sources). Thus the set of
intensity-control systems becomes, on the output side, part of the
output function (F2) of the higher system, and also provides input data
(F) to the input function (F4) of the higher system. The input function
generally is a many-to-one function.

When we model just the higher system, we lump all the lower systems into
the higher system's output function, and treat the upgoing signals
entering the input function as if they were aspects of the environment.
So all control systems at all levels operate through the environment,
although at different levels of abstraction. We can experiment with
higher levels of control without necessarily understanding the lower
levels that are involved.

So OK on your F4.1->F4 chain. In HPCT we actually have an F4.1...F4.11
chain! With, of course, control systems at each level.

G = Input signal or measurement. We would usually have a G' which is
the channel (wire), but the distinction is not important to the control
system. As noted above, G in some cases is an error signal.

I meant for G to refer to physical processes at too low a level to be of
interest in modeling (like the jiggle of electrons in a wire). It's
whatever conveys a physical quantity like temperature measured near the
skin to the surface of a cell like a temperature-sensor.

In PCT G would _never_ be properly called an error signal. The function
F4 might construct a perception representing the difference between two
environmental variables -- for example, the difference in position
between a fingertip and a target, as seen. But that is just another
perceptual signal, representing the current state of some variable in
the environment. Zero difference in position might constitute an error,
if the reference signal A is set to specify some non-zero difference
that is to be maintained. In the Little Man, non-zero reference signals
for controlling target-finger separation in X and Y are used to make the
finger draw a circle around the target.

F - An attribute or characteristic of the process or of the equipment
being controlled . A temperature, pressure, etc.

Yes. That, in HPCT, would be a first-level controlled variable, with Ht
standing for the temperature, Hp for pressure, etc. With both T and P
under control, a higher-level system might receive the signals Hp and Ht
as inputs at a second level, in which case those inputs become F for the
higher system. Then the higher system could continually compute T/P,

represent the ratio as a second-level perceptual signal H2, and control
the ratio of T to P (or any other function of the two variables) by
varying reference signals entering the two lower systems controlling T
and P. Only the lowest level of system sends its output directly into
the environment via transducers. All higher systems must act by varying
the reference signals for lower-level systems.

F3, F5 = As in yours, though we would think of it as some
characteristic or part of the process system under control. We usually
'mirror' this function within the control system for various practical
reasons.

In PCT we distinguish these functions for a good reason. The function F3
lies in the path between the visible physical output of the control
system (D) and the visible controlled variable (F). The function F5 does
not; it conveys the effects of independent _disturbances_ (E) to the
controlled variable by a path that is independent of the system's
actions. In general, both E and the form of F5 are unknown to the
control system and cannot be deduced from the behavior of signals in the
control loop. An example is the effect on your car's direction of a
crosswind. The velocity of the crosswind would be E. The aerodynamic
laws that convert the vector velocity into a lateral force on the car
would be F5. You keep your car on the road without being able to sense E
and without knowing how to compute F5.

As you can no doubt see immediately, if F is under control, there will
be a necessary relationship between D and E. This is the apparent
relationship on which stimulus-response theory was built, with the
existence of controlled variables like F being unsuspected.

C - Could be a channel as in yours, but again the 'output' signal or
'output data' is usually distinguished from the wire.

OK. A detail.

D - not real clear on its usage in PCT. The action of the actuator
usually affects the process or equipment being controlled, frequently
indirectly.

Another critical point in PCT. D is the immediate effect of the actuator
on the environment. In a motor, it would be the torque generated by the
motor on the end of the shaft at the motor. This is rarely the variable
that is to be put under control (F). What is usually to be controlled is
some rather remote effect of D on the environment, such as the position
of a load being wound up on a pulley at the other end of the shaft. The
function F3 expresses the physical link between the actuator output D
and the variable to be controlled, F. Because of the function F3, it is
possible for other influences in the environment to affect the
controlled variable F independently of the output D of the control
system. The state of the controlled variable is really given by
F = F3(D) + F5(E) (in the simplest case). This is why, if F is being
actively controlled at zero, we get the interesting relationship that
Rick Marken often talks about using other symbols: F3(D) = -F5(E).
That's what gives the appearance of responses to stimuli.

The definition of D depends on the level of control you're talking
about. It is always defined so that D is very difficult for the
environment to affect, so D depends ONLY on the error signal in the
control system.

F2.1: OK, just part of F3. Note that it's not part of F2 unless we know
that the environment can't disturb it. The environment can actually

insert disturbances anywhere between D and F; we represent all
disturbances, however, as an equivalent disturbance of the kind shown.

Process control just uses a kind of Mind/Body distinction that I
haven't seen HPCT use explicitly.

Right. The distinction in PCT is between the nervous system and all that
is not nervous system, with sensors and actuators lying in the boundary
surface. This allows us to speak of "the control system" as an entity of
relatively fixed organization, while "the environment" can be
continuously changing. The same control system can operate in many
environments. This is seldom of interest in process control, because the
engineered control system is bolted down and wired to the process it is
to control -- it can't wander around and encounter environments with
different properties (F3, F5) the way most organisms can.

The only likely difference I can see is that HPCT nodes can rout C of
one node directly into G of another without intermediary processing. In
the degenerate case B and H can be the same variable.

Right. Usually, however, we do use an output function (F2) even in
higher-level systems, because a given control system will act by
adjusting reference signals for many systems of the next lower level.
The least computation we need is to set the signs of the outputs
correctly so there is negative feedback in the path involving each
lower-level system. I have been trying to avoid introducing complex
output functions, because one of the nifty feature of control systems is
their ability to determine what is to be controlled strictly in terms of
the input function, F4. You don't need to get the output function just
so in order to get good control; it just has to have the right sign and
about the right form. Proportional or integral output will usually do,
with perhaps some dynamic trimming. There's nothing fundamental to say
that output functions can't be complex, but my instincts tell me that we
should first explore what can be done with input functions, leaving
complex output functions as a last resort. Some amazing things can be
done with the output signals weighted only by 1, 0, or -1.

See my Byte articles, particularly Part 3:

Powers, W.T. (1979) The nature of robots: PArt 3: A close look at human
behavior. Byte,_4_, No. 8, 94-116.

I am still thinking about how to directly use HPCT to modify process
control system architectures, but suspect I don't understand it well
enough yet. I think there is some real possibility of striking gold,
but it is just an intuitive reaction.

Your intuition and mine agree.

Misc:

The _action_ of a system is D. D can in general affect many
environmental variables in addition to F. So without finding which of
these affected variables is under control, it can be difficult to decide
what effect of D should be called the organism's "behavior." We mean by
behavior the effect is that is being controlled, not the action by which
is it controlled. The action, D, varies as disturbances E come and go,
and as internal properties of F3 change. The real behavioral variable F
changes only as the reference signal A changes. This is why S-R laws are
so unreliable and have to be deduced statistically. They express
relationships between D and E, but leave out the effect of A: what the
organism wants, which is variable.

What the organism is "really doing" can be seen only by looking at F. Of
course in another sense, you see what the organism is doing by looking
at D. That's why we say that you can't tell what an organism is doing
[F] just by looking at what it's doing [D].

···

---------------------------------------------------------------------
Best,

Bill P.