adaptive control; PCT versus engineering models

[Hans Blom, 930927]

(Tom Bourbon [930902.0900])

Finally I had some time to analyze your third "revised diagram", the one
that you say contains adaptation. It does. Let me try to find its place
in the taxonomy of control engineering. The important part of the dia-
gram is:

           PCT MODEL OF PERSON B

                  r = A-[/\/\/\]=0
                  ! r=[if q > Q, dk = rand dk]
                  ! \!/
                  ! !!!!!!!!!!!!!
                  ! ! i ! c ! o !
                  ! !!!!!!!!!!!!!
                 \!/ /!\ !
  present !!!!!!! ! !
  value !!>! C !!!! !
  of = p !!!!!!! e=p-r !
  A-/\/\ ! \!/ !
         !!!!!!! !!!!!!! dk
         ! I ! ! O !<!!!!
         !!!!!!! !!!!!!!
           /!\ !

In the adaptor loop, q = present sum (integral) of the error signal, e;
dk = random change added to k (in O). B has become an adaptive
controller. In the runs I did, now a couple of years ago, B converged
within a few seconds on a value for k that kept A-/\/\/\ near zero, and
A kept c-t=0. ...

Now some of the differences between this particular adaptive PCT model,
and the model described by Hans seen even clearer to me. For one
thing, the equivalent of what Hans called the "second controller" in
the adaptive controller has no model for A and there is no expectation
of what A will do; rather, the "second loop" has a reference signal for
the value of the time integral of sensed error being < a criterion
value, and an output function that adds a random change to the
integration factor of the primary control loop. There is no "optimal"
value of anything -- any k that keeps the integral of sensed error
below the criterion value will "stick." For this loop, anything that
is "in the ballpark" is good enough.

First, let me redraw the adaptive part of your diagram into an equi-
valent one:

       ---- -----------
    r | | | |
    -->|+ | e | |
    p | |---->| gain |--->
    -->|- | | | (k) |
       > > > > >
       ---- | -----------

···

      /|\ dk

            > -----------
            >-->| gain |
                > control |
                -----------

Isolating this part shows that it can be categorized as belonging to the
class of what are called "automatic volume control" (AVC) circuits.
Don't take AVC too literally; other functions, such as "automatic fre-
quency control" (AFC) are implemented similarly. The goal is, each time,
to keep a certain variable (here: e) at a certain level or, in your
case, within certain bounds. In principle, AVC is a type of feedforward
control, that often results in a more or less logarithmic transfer
function, very similar to that of our sense organs -- the eye's bright-
ness control and the ear's loudness control allow tremendous dynamic
ranges of brightness and loudness to be processed accurately. But your
scheme works only because it is part of a larger feedback loop, where
the output of the gain block is manipulated in such a way that the
difference between r and p is (on average) larger than a minimum and
smaller than a maximum.

AVC and AFC are used in radio receivers, TVs, tape recorders and a great
deal of similar signal processing equipment, as well as in some control-
lers. AVC keeps internal signal levels and/or the audio output at such
values that the signal is not so large that it becomes clipped -- with
all the distortion that this implies -- nor so small that it drowns in
noise. AVC can be called an adaptive system, still so simple that it is
easy to explain its function.

The internals of the "gain control" block have not been specified yet.
They depend upon the required overall function. Here, you want to mani-
pulate B's loop gain in such a way that r-p stays within limits. This
can be done through some function that couples the integral of the error
with the gain. Bill Powers suggested that you use a random coli-type
function. Your initial idea was more straightforward and probably both
faster and more robust. Did you compare the performance of both
adaptation methods?

Now some of your remarks:

       the equivalent of what Hans called the "second controller" in
the adaptive controller has no model for A and there is no expectation
of what A will do ...

There MUST be an expectation. Without some kind of expectation that can
be manipulated, no control is possible. In this case, the expectation is
that A will act in such a way, that perception p will, on average, stay
within well-defined bounds. That seems to be all you need. It might seem
that you do not need to know A's perceptions in order to establish his
input-to-output transfer function. Yet you have some idea of what A
perceives, although not in all details: that is because you manipulate
A's perceptions. Implicitly, therefore -- and in a very clever way, I
must say -- you establish a relation between what A sees and what he
does.

              rather, the "second loop" has a reference signal for
the value of the time integral of sensed error

The "sensed error" is the indication how well the expectation is met. If
not, the adaptation works in such a way that it eventually WILL be met.

Is this again a problem of semantics? A model of A is an approximation
of A which contains only the things of interest; all else is left out. A
model need not accurately predict A's moment to moment actions; a gener-
al impression of one facet of A's actions might suffice, as is the case
here.

                                             There is no "optimal"
value of anything -- any k that keeps the integral of sensed error
below the criterion value will "stick." For this loop, anything that
is "in the ballpark" is good enough.

This goes back to earlier discussions in which I said that Bill Powers'
notion of a reference level is too specific in many cases. Sometimes all
you need is that a value remain within an upper and a lower limit, and
not necessarily that it remains fixed -- as good as possible -- at a
certain value. In your case, "optimal" translates into "in the ball-
park". For some reason, the latter was optimal for you (in terms of
design effort?).

Now some of the differences between this particular adaptive PCT model,
and the model described by Hans seen even clearer to me.

Let me show you why I think that there are no fundamental differences
between a PCT model and a "standard control engineering model", if I may
call the thing so. Let us start with the classical PCT-diagram.

                 r
              + \|/
           - -------
   ---------->| C |-----------
   > p ------- e \|/
------- -------

I | | O |

------- -------
  /|\ ------- | qo
   -----------| W |<----------
              -------

W stands for "the world", everything outside the organism. Rearrange,
lumping C and O, into a more engineering-like diagram:

  ---------------------------------
  > >
  > ----- p ----- ----- |
  -->| I |--->|- | qo | | |
     ----- r | CO|------>| W |->--
------------>|+ | | |
              ----- -----

Put an identical I-box in the path of r. If I is one-to-one, this is
allowed. Neither physically, physiologically, psychologically, mathe-
matically nor philosophically this seems disallowed. In practice, it has
the great advantage of putting r' onto the same scale as the observable
p'. Only in this (observable) sense is it meaningful to talk about or
design tests for a "controlled variable".

  ---------------------------------
  >p' |
  > ----- p ----- ----- |
  -->| I |--->|- | qo | | |
r' ----- r | CO|------>| W |->--
--->| I |--->|+ | | |
     ----- ----- -----

Now merge both I's with the CO-box.

  ---------------------------------
  >p' |
  > ----- ----- |
  ----------->|- | qo | | |
r' |ICO|------>| W |->--
------------>|+ | | |
              ----- -----

The ICO-box now represents the organism, with the exception of r (or
r'), which must be put inside. So a better representation would be:

  ---------------------------------
  >p' |
  > ----- ----- |
  > > > qo | | |
  ----------->|ICO|------>| W |->--
              >(r)| | |
              ----- -----

The latter two schemes are notations used in engineering. In particular,
the last scheme -- with its internal r -- is used under those conditions
where r itself is or may be a function of p'.

The latter two schemes do not necessarily denote single-input/single-
output (SISO) systems. Think of all lines as vectors (multiple measure-
ments/actions outside, nerve bundels inside), and you have a MIMO (mult-
iple-input/muliple-output) system.

One detail that I keep having a difference of opinion about with Bill
Powers is whether there is a "direct" path from "action" to "percept-
ion":
                 r
              + \|/
           - -------
   ---------->| C |-----------
   > p ------- e \|/
------- -------

I | | O |

------- -------
/|\ /|\ | |
> ------------------------- |
> ------- |
-------------| W |<------------
              -------

But this, too, may be a matter of semantics: where is the border between
"inside" and "outside"? Is my skin inside or outside? How about the
tissues between muscle fibers and skin? When I act AS IF I catch a ball,
my actions are hard to distinguish from those actually employed when I
play ball. So it seems that no physical outside is required in order to
have a functional feedback system. It is easy to add an internal "gener-
al model" (correlator + memory + adaptation mechanism), such as the one
that I propose must exist, to the last diagram:
                 r
              + \|/
           - -------
   ---------->| C |-----------
   > p ------- e \|/
   > ------- |
   >--------->| M |<---------|
------- ------- -------

I | |--------->| O |

------- adjust -------
/|\ /|\ | |
> ------------------------- |
> ------- |
-------------| W |<------------
              -------

This is only slightly more complex than the scheme that you employed,
isn't it? The machinery inside M is hardly more complex than the one you
propose. Just one additional line in the diagram...

Greetings,

Hans

From Tom Bourbon [930930.0245]

[Hans BLOM, 930927]

(Tom Bourbon [930902.0900])

From Hans:

/=======================================================================\
Finally I had some time to analyze your third "revised diagram", the one
that you say contains adaptation. It does.
\=======================================================================/

We agree on this point. :slight_smile:

/========================================================================\
Let me try to find its place in the taxonomy of control engineering. The
important part of the dia- gram is:

(Hans, I substitute a cleaner version of the same figure.)

            PCT MODEL OF PERSON B

                   r = A-[/\/\]=0
                   >
                   > r=[if q > Q,
                   > > dk = rand dk]
                   > >
                   > \|/
                   > >---|---|---|
                   > > I | C | O |
                   > >---|---|---|
                  \|/ /|\ |
                >-----| | dk
   present ,->| C |--*' |
   value of | |-----| | |
   A-/\/\ = p e = p-r |
             > \|/ |
          >-----| |-----| |
          > I | | O |<----' Inside A
=========|-----|=====|-----|=================================
            /|\ | Outside A
             > >

(Hans, I added a line === to mark the inside and outside of the PCT
model of Person B. If you compare this to the original diagram, you will
see that, for the model of Person B, the outside includes handles A and
B, the cursor, the target, and the disturbance -- and the model of Person
A. In fact, my revised diagram is a little deceptive: The output
function would include skeletal muscles, which are outside the nervous
system. In a PCT model of a person, everything outside the nervous
system is in the environment; at the risk of appearing to describe a
linear system, the modeled system begins at the sensory receptors and
ends on the presynaptic side of the neuromuscular junctions.)

Hans quoted me:

Now some of the differences between this particular adaptive PCT model,
and the model described by Hans seen even clearer to me. For one
thing, the equivalent of what Hans called the "second controller" in
the adaptive controller has no model for A and there is no expectation
of what A will do; rather, the "second loop" has a reference signal for
the value of the time integral of sensed error being < a criterion
value, and an output function that adds a random change to the
integration factor of the primary control loop. There is no "optimal"
value of anything -- any k that keeps the integral of sensed error
below the criterion value will "stick." For this loop, anything that
is "in the ballpark" is good enough.

Hans said:

First, let me redraw the adaptive part of your diagram into an equi-
valent one:

       ---- -----------
    r | | | |
    -->|+ | e | |
    p | |---->| gain |--->
    -->|- | | | (k) |
       > > > > >
       ---- | -----------

···

      /|\ dk

            > -----------
            >-->| gain |
                > control |
                -----------

Isolating this part shows that it can be categorized as belonging to the
class of what are called "automatic volume control" (AVC) circuits. Don't
take AVC too literally; other functions, such as "automatic fre- quency
control" (AFC) are implemented similarly. The goal is, each time, to keep
a certain variable (here: e) at a certain level or, in your case, within
certain bounds.
\====================================================================/

OK. Now I have a real name for my adaptor loop.

/====================================================================\
In principle, AVC is a type of feedforward control, that often results in
a more or less logarithmic transfer function, very similar to that of our
sense organs -- the eye's bright- ness control and the ear's loudness
control allow tremendous dynamic ranges of brightness and loudness to be
processed accurately. But your scheme works only because it is part of a
larger feedback loop, where the output of the gain block is manipulated
in such a way that the difference between r and p is (on average) larger
than a minimum and smaller than a maximum.
\===================================================================/

Hans, here you raise a topic that always puzzles me when I encounter it.
Perhaps you can help me understand it. I am speaking of the term
"feedforward." I see nothing in the adaptor loop that requires such a
designation. Can you tell me why AVC, or my adaptor loop, would be
called feedforward devices? Exactly what does feedforward mean? Why
would you say the adaptor loop works "only because it is part of a larger
feedback loop"? (These are serious questions. I don't understand the
meaning of feedforward.) I see the adaptor as another negative feedback
control loop, imbedded in a system where the adaptor loop controls its
perceptual signal by affecting the gain on another system that controls
its own perceptual signals of environmental variables. In this model,
where is there anything other than negative feedback? The idea of
feedforward looks like a description from an observer who either (a)
knows what each of the functions and subsystems in a model is
"ultimately" doing (a designer or builder would know those things), or
(b) does not know that the individual loop under investigation is part of
a larger system, all parts of which function as negative feedback control
loops. From inside the model of Person B, no individual control loop
"feeds forward."

/======================================================================\
AVC can be called an adaptive system, still so simple that it is easy to
explain its function.
\======================================================================/

The fact that it is "so simple that it is easy to explain" probably
accounts for my belief that I understand this system, just a little.

/=======================================================================\
The internals of the "gain control" block have not been specified yet.
They depend upon the required overall function. Here, you want to mani-
pulate B's loop gain in such a way that r-p stays within limits. This can
be done through some function that couples the integral of the error with
the gain. Bill Powers suggested that you use a random coli-type function.
Your initial idea was more straightforward and probably both faster and
more robust. Did you compare the performance of both adaptation methods?
\=========================================================================/

The internals of *your* gain control box have not been specified yet; the
internals of my box *were* specified. In fact, I specified two
internals. The first adaptor I used was a function that assessed the
magnitude and sign of the error signal in the controlling system, then
systematically adjusted the gain on the output function of the
controlling loop accordingly. The second adaptor used the random
e-coli-like function. I agree that, by some criteria, the first version
was more "straightforward." As to whether it was faster, perhaps so, but
that was not an important point for me. I was looking for an adaptive
process that could serve as a model for adaptation in biological systems,
at levels of organization where my more "intelligent" first adaptive
function is unlikely, or impossible. Your enduring interest in
identifying and employing *optimal* functions, contrasted with our (PCT
modelers') enduring interest in finding functions that are as close as
possible to biological ones (remember, biology is about models, as are
physics, chemistry, geology ...), seems to represent a real difference
between our modeling efforts.

I don't know what you mean by "more robust." I believe the e-coli
function would be "far more robust." E. coli have been around a long, long
time. I'll wait a while before deciding whether the symbolic logic and
optimization engineering of H. sapiens leads to so robust a life story.

/======================================================================\
Hans quotes me:

       the equivalent of what Hans called the "second controller" in
the adaptive controller has no model for A and there is no expectation
of what A will do ...

Hans said:

There MUST be an expectation. Without some kind of expectation that can
be manipulated, no control is possible. In this case, the expectation is
that A will act in such a way, that perception p will, on average, stay
within well-defined bounds. That seems to be all you need.
\======================================================================/

Yes, Hans, but *I* have those expectations. So far as I can tell, they
are not part of the model. Especially, they are not part of the adaptor
loop, which has no expectation of what Person A will do; the adaptor loop
is part of Person B, a part that specifies (as a reference signal) a
particular limit, Q, on the accumulated value of the quantity q.

/==================================================================\
It might seem that you do not need to know A's perceptions in order to
establish his input-to-output transfer function. Yet you have some idea
of what A perceives, although not in all details: that is because you
manipulate A's perceptions. Implicitly, therefore -- and in a very clever
way, I must say -- you establish a relation between what A sees and what
he does.
\=====================================================================/

Certainly when I write a program for the model of Person A, I have an
idea of what goes on in the model. (I say certainly I have an idea, not
certainly I know -- more often than not, my initial ideas about what a
model will do are wrong.) But the *model* of the adaptor loop in Person
B *doesn't* need to know A's perceptions; the adaptor loop can monitor an
error signal for *any kind of perceptual signal*. The specific *quality*
(as in subjective quality) of the perceptual signal is immaterial to the
adaptor loop.) In fact, all the adaptor loop "cares about" is its own
perceptual signal, which is an analogue of the *error signal* (not the
perceptual signal) in the controller loop of Model B. And B manipulates
(affects) the position of the cursor, not (direclty) A's perceptions.

I think it is important to remember that the interaction represented in
my original diagram can occur between two people, or two PCT models, or a
model and a person, with model and person swapping roles (controller and
controlled) from one run to the next. When I play the controller, I
certainly have a "model" of my modeled "partner's" perceptions -- I wrote
the program steps where my partner "lives." But when it plays
controller, I don't think it (Model B) has much of a model of (idea about,
expectation for) my perceptions; my partner's controller loop "knows"
only the scaled value representing its percpetual signal that is an
analogue of momentary position of my control handle.

As for your compliment concerning how I established a relationship
between what A sees and what A does, that is all 1960-style PCT: A acts to
control A's perceptions of cursor relative to target. Bill Powers and his
early colleagues get all of the credit.

/===================================================================\
The "sensed error" is the indication how well the expectation is met. If
not, the adaptation works in such a way that it eventually WILL be met.
Is this again a problem of semantics? A model of A is an approximation of
A which contains only the things of interest; all else is left out. A
model need not accurately predict A's moment to moment actions; a gener-
al impression of one facet of A's actions might suffice, as is the case
here.
\======================================================================/

Ah! This is a real possibility. We *do* seem to be using some terms
differently. If by "expectation," or by "a model of A," you mean what we
call the "reference signal" (the "specification" of the state of the
perceptual signal), then we might be talking about the same thing. But I
don't understand your next remarks. Are you saying the "Model of Person
A" is not the same as "Person A?" If so, I agree. But in the case here,
Model A and Person A can be swapped in and out of the demonstration (as
can Model B and Person B) and the results are pretty much the same. In
the case here, a model of the controller is not expected to predict the
controlled system's moment by moment actions, it is required to *produce*
those actions, moment by moment, by disturbing a variable controlled by
the other person or model. Again, if you mean B must have a reference
signal for a perception that is an analogue of some feature of A's
actions, we might be saying the same thing.

/===============================================================\
Hans quotes me:

   There is no "optimal" >value of anything -- any k that keeps the
integral of sensed error >below the criterion value will "stick." For
this loop, anything that >is "in the ballpark" is good enough.

Hans said:

This goes back to earlier discussions in which I said that Bill Powers'
notion of a reference level is too specific in many cases. Sometimes all
you need is that a value remain within an upper and a lower limit, and
not necessarily that it remains fixed -- as good as possible -- at a
certain value. In your case, "optimal" translates into "in the ball-
park". For some reason, the latter was optimal for you (in terms of
design effort?).
\====================================================================/

I'm not sure what you mean when you say Bill's notion of a reference
value is too specific in many cases. Do you think he always assumes the
same gains on his models? If that is your impression, he doesn't.

"In the ball park" was good enough (optimal?) for me because it is so
often good enough for living control systems.

/====================================================================\
(In the next segment of his post, Hans developed the idea that there are
no major differences between the control system diagrams in "standard"
control engineering and in PCT. Bill Powers has commented on several
steps in Hans's presentation. I have nothing to add to Bill's remarks on
that point. I resume my comments on this point by Hans.)

Hans said:

One detail that I keep having a difference of opinion about with Bill
Powers is whether there is a "direct" path from "action" to "percept-
ion":
                 r
              + \|/
           - -------
   ---------->| C |-----------
   > p ------- e \|/
------- -------

I | | O |

------- -------
/|\ /|\ | |
> ------------------------- |
> ------- |
-------------| W |<------------
              -------

But this, too, may be a matter of semantics: where is the border between
"inside" and "outside"? Is my skin inside or outside? How about the
tissues between muscle fibers and skin? When I act AS IF I catch a ball,
my actions are hard to distinguish from those actually employed when I
play ball. So it seems that no physical outside is required in order to
have a functional feedback system. It is easy to add an internal "gener-
al model" (correlator + memory + adaptation mechanism), such as the one
that I propose must exist, to the last diagram:
                 r
              + \|/
           - -------
   ---------->| C |-----------
   > p ------- e \|/
   > ------- |
   >--------->| M |<---------|
------- ------- -------

I | |--------->| O |

------- adjust -------
/|\ /|\ | |
> ------------------------- |
> ------- |
-------------| W |<------------
              -------

This is only slightly more complex than the scheme that you employed,
isn't it? The machinery inside M is hardly more complex than the one you
propose. Just one additional line in the diagram...
\==================================================================/

I commented a few pages ago on the boundary between the system and its
environment. Bill Powers also posted a reply on this point. What you
and we say might reveal nothing more than a matter of semantics, a
possibility that must be assessed in light of what you think of Bill's
comments, and mine, about the boundaries.

I still don't follow you when you move from the next to last figure to
the last one. Why do you insert M? What do you see in the performance
of a living system that requires M in a model of the system? I come up
blank when I try to imagine what evidence there might be that living
systems compare their perceptual and error signals and adjust the gain on
their outputs accordingly. If M is your equivalent of our reference
signal, we would probably put it at the TOP of your diagram, as a source of
the reference signals for handle movements by Model B. That move would
make "Person B's model-expectation of Person A" into B's desired perception
of what A if doing; error there would provide references for B's handle
movements. Does that sound reasonable?

I guess I don't understand your "internal general model" very well.
I don't think this is simply a question of how many lines we draw in our
diagrams or of the complexity of what is inside our boxes.

Until later,
Tom Bourbon
Department of Neurosurgry
University of Texas Medical School-Houston Phone: 713-792-5760
6431 Fannin, Suite 7.138 Fax: 713-794-5084
Houston, TX 77030 USA tbourbon@heart.med.uth.tmc.edu