[Hans Blom, 950912d]
(Bill Powers (950907.1044 MDT))
... let me formulate the challenge more precisely as follows:
_I_ know a world and its "laws of nature", i.e. the way in
which it reacts when you push it (the environment's transfer
function). _You_ don't know those laws. _You_ attempt to design
a "controller" that controls well in this world that is unknown
to you. And I will show you that your "controller" cannot
control.
I can't meet that challenge; it isn't the one I offered. Perhaps
the misunderstanding is due to my misuse of the term "unmodeled
dynamics," which I had taken (from context) to mean only lack of
a model of arbitrary independent disturbances.
Ok. Challenge mode off.
The point was that a non-world-model-based negative feedback
control system of the simple design we've used for modeling
tracking behavior can deal with totally unknown disturbances of
reasonable magnitude and bandwidth, maintaining accurate control
for an indefinite period of time.
And my point was that "accurate control" by the classical PCT
type of controller is possible only if it is designed for the
environment it is to operate in. Not exactly, maybe, because a
PI-controller is rather robust, but approximately.
Can we finally agree on this now?
A model-based control system, as you have presented it, requires
a model of the disturbance waveform in order to do the same
thing.
A model-based control system needs a) an innate mechanism for
building a model and b) a large enough number of degrees of
freedom (parameters) that can be tuned so that the perceptions
that it will obtain as a result of its actions can be predicted
more or less accurately. Thus far, we have called this a "world-
model", but it might be more accurate to say that the model
describes, more or less precisely, what the control system can DO
-- where its doing can be verified by its perceptions.
There is something deeply troubling in your proposed "world":
x(t) = k*u(t) + d(t), where
x = output of plant (input to control system)
k = constant (for example, 1)
d = disturbance waveform.
u = output of control system
The point is that you have already specified what this system can
learn: exactly nothing. Its k is known (I suppose you mean this
when you say it is constant), and its d is fully unknown. How
come you know so much about this world on the one hand (k) and so
little about it on the other hand (d)? A model-based controller
cannot make this a priori distinction. It has to discover it.
But let me go your way and see what the system can learn beyond
your specifications. If d is not pure white noise, a model-based
controller would (if it could, i.e. if it had a sufficiently
large number of degrees of freedom) model d in such a way that
(see my recent post on how to predict an "arbitrary" waveform)
e.g.
d (t) = a * x (t-1) + b * x (t-2) + e (t)
hoping to be able to find an a and a b such that e (t) will be
small enough so as to essentially eliminate "noise" from the
problem. This will result in
x (t) = a * x (t-1) + b * x (t-2) + k * u (t) + e (t)
which creates no problems at all for a controller and results in
almost deterministic (predictable, and therefore high quality)
behavior if e (t) is small enough. How? Well, the best prediction
of x (t) at time t-1 is (the "hat" indicates an estimate)
^
x (t) = a * x (t-1) + b * x (t-2) + k * u (t)
e (t) being unknown but zero on average. At time t-1, we want
x (t) to be at xopt (who wouldn't want that?), so we have to
solve for
xopt = a * x (t-1) + b * x (t-2) + k * u (t)
i.e.
u (t) = xopt - (a * x (t-1) + b * x (t-2)) / k
Depending upon the properties of d (t) and therefore of e (t),
this design will work reliably or not. Incidentally, in my pre-
diction post, I used the fixed value 2 for a and -1 for b.
Adaptation might improve these values slightly (and keep them
changing over time), but this is the basic idea that should
already work well and is easy enough to try out without much
effort. If you use the MAINDIST disturbances, I expect excellent
results.
I emphasize that the point of the challenge concerns how
disturbances are handled.
A conceptual problem: disturbances. In my vision, disturbances do
not exist in the real world. The world has its properties, some
known, some unknown. We focus on some and disregard others. What
we call "disturbances" are those properties of the world that we
cannot model or do not want to model. So when you make disturb-
ances explicit, you have already specified (i.e. learned, through
lots of experience) what is important and what not. That is far
beyond the capabilities of something as primitive as the adaptive
control systems that I talk about. Their initial experience is
zero, and their experiential discovery of what is important and
what not is severely limited by their small number of degrees of
freedom.
Greetings,
Hans