[Hans Blom, 970923b]
(Bill Powers (970918.0837 MDT))
Thanks for this post. It shows up a number of misunderstandings that
may need to be rectified. In a later post I'll return to the theme of
implicit versus explicit models.
... additive disturbances are one kind that is very common in real
environments.
I just wanted to remind you that the "additivity" of disturbances is
a _model_, a way of perceiving (and, in the process, simplifying) the
"world". It is both very common and very useful. If possible at all
(sometimes it is not), I employ this simplification as well.
You treat such additive disturbances as "noise," as if nothing can
be done about them. But within the bandwidth of control, a control
system of the PCT type can counteract the effects of additive
disturbances; only the frequency components above the bandwidth of
control remain unopposed.
We basically agree, even though we have a different "explanation".
Where we differ is that you prefer to talk in terms of the _frequency
domain_ and thus the _frequency response_ of a controller (where
bandwidth is a central notion) and that I prefer to talk in terms of
the the _time domain_ and thus the _impulse response_ or _step
response_ of that controller (where bandwidth is not a meaningful
notion but settling time, for instance, is). Both notions are
mathematically equivalent: they are just transformations of each
other. So neither is "more correct" than the other; they just employ
a different terminology. Where you say "within the bandwidth of
control, a control system can counteract the effects of disturbances"
I would say "a control system can effectively counteract slowly
varying but not rapidly varying disturbances". But that is
essentially the same thing, looked at from different angles.
But note also, that one formalism can express some "intuitive truths"
much more easily than the other -- and the other way around. Why do I
pester you so much with the formalism that you're less acquainted
with rather than employing yours? Well, just for this reason. Using
yours, for instance, you see no "model" inside a PCT controller
except, maybe, in the most metaphorical manner. Using mine, however,
I insist that there must be one, however hidden. Mathematically,
there would be no "conflict"; just a very complex expression versus
another, very simple one. That, I guess, is the reason why I'm not a
single paradigm person...
Even if the disturbance is "random," the components within the
bandwidth of control will be opposed by corresponding fluctuations
in the control system's action, so the lower-frequency effects on
the controlled variable will be suppressed.
We also saw this in my theodolite demo, in a quite analog fashion. An
immediate (very high frequency) change of the disturbance could not
be counteracted, but when the disturbance remained constant (_very_
low frequency), it was fully suppressed.
There is a basic difference, however, between controllers with
different criteria of what is "good" control. A frequency domain
specification says that control must be accurate within a certain
control bandwidth. A time domain specification may say, for instance,
that a step change of the disturbance must be counteracted as well as
possible. These are different criteria, and they will most probably
lead to different designs.
"But organisms were not designed", you might say. "But they were", I
might counter, "implicitly. Organisms that weren't sufficiently able
to cope with their environment just don't exist anymore. Those that
are still alive were effectively designed by their environment". And
who would be "right"?
By the way, don't tell me that _your_ model-based control system
_can_ do this [counteract a rapid disturbance, e.g. a step change].
Sure it can. Remember that it models the _impulse or step response_.
If it discovers a step-wise change of the disturbance, it "knows"
(through its model -- which may be more or less accurate) what the
future perceptual effects of this step-wise change will be, if
unopposed. And it is therefore able to oppose them with the right
countermeasures immediately after the step change has been perceived
-- which is, of course, always after the fact (if only one sample
period).
I have determined that your program actually relied on real-time
error information in opposing the disturbance; it was actually a
closed-loop PCT control system and it always needed real-time
perceptions to oppose the disturbance. If the perceptions were lost,
your system would instantly lose the ability to oppose arbitrary
additive disturbances.
Of course. And, if you remember, I showed exactly that in a demo.
What you say is equivalent to saying that with eyes closed we don't
see. What you say is true for _any_ controller, whatever its type.
What is a PCT controller without its perception? Note that _being
without a perception_ is NOT the same as _having a perception of
value zero_ (a matter of great misunderstanding).
If the adaptation process is made to operate very fast, so as to
match the performance of a PCT model, the main reason for using
model-based control is lost: the ability to go on producing
control-like outputs after the real-time input is cut off.
Please enlighten me: how could there possibly be _any_ (let alone
"very fast") adaptation when the real-time input is cut off? When
there can be no adaptation/learning, we effectively use only what we
learned in the past, although we also ought to be less certain about
what we (think we) know. That's what an adaptive controller does.
That's also a pretty accurate description of someone returning to a
city that he hasn't seen or heard about for a long time: expect the
same, but don't be too certain about it...
By the way, how does the PCT model handle (un)certainty?
The system can't distinguish between a disturbance and a total loss
of input...
A system _ought to be able to_ make this distinction. An adaptive
controller must, but in practice the distinction is often hard-wired
in. Just like in us humans, who just seem to know that with our eyes
closed we don't obtain (much) information about the world out there.
There are, however, methods to implement this as a separate and extra
mechanism in adaptive controllers. Kludges, mostly, so far; no good
hard theory is available yet.
The PCT model can oppose the effects of even "hand-of-God"
disturbances, whether additive or multiplicative, up to the
high-frequency limit of control.
In the time-domain description, one would say that the "hand-of-God"
is pretty predictable (slow?).
Fortunately, in the real world, random effects tend to be of the
1/f sort; the higher the frequency, the smaller the effect of the
disturbance.
Yes, that helps to better predict things ;-).
... in order to control in the absence of input for any appreciable
length of time, the model-based system must adapt correspondingly
slowly, so it loses the advantage of being able to counteract
arbitrary disturbances within the bandwidth of control. The PCT
model then becomes the model of choice, because it can nullify the
effects of disturbances without having to predict them.
The PCT model becomes the model of choice _in the absence of input
for any appreciable length of time_? I'm flabbergasted: the PCT model
_cannot_. It always depends on input being there and being compared
to the reference. If there is no input (NOT input = 0!), there can be
no PCT control. At least not until you've actually implemented the
imagination mode!
No, organisms do not, in general, and in ways other than
metaphorically, "learn the laws of the world." I have tried to point
out that a PCT system contains no literal model of the world, yet it
controls perfectly well.
And I've tried to point out that even a PCT system _must_ contain
some "model" of the world, in whatever form. I don't care whether
that model is "literal" or not, whatever you mean with that.
Finally, since I recognize that _any_ model is a metaphor, I fully
agree with your sentiment that organisms only metaphorically "learn
the laws of the world". Agreement at last!
Greetings,
Hans