# Simulations versus calculations, or something

[Hans Blom, 970127]

(From Bill Powers (970124.0500 MST))

I suppose I will go to my grave still trying to figure out this
problem ... Somehow I can't bring myself to believe either the
mathematician or the Frenchman. Why is that?

Thanks for a nice and thoughtful post.

As Hans Blom has mentioned once or twice in passing, this basic
method depends on the existence of an inverse of the function f over
at least some limited region. Nothing is said about how the inverse
is calculated. While we can perhaps imagine an actual simulation of
the environment existing in the forward form, it is hard to imagine
how the inverse of that same form could also be calculated. Since,
after adaptation, is it only the existence of the inverse that is
critical, we have to ask how the correct inverse could be obtained.

Yes, that's the riddle. My thoughts, experiments, calculations and
simulations show (prove may be too strong a word) _that_ an inverse
function (of the environment) is needed in a (any) controller if it
is to "calculate" how to act. The riddle is _how_ such an inverse or
its approximation can be "calculated" by the actual nervous system.
As an engineer, I know a variety of approaches from the technical
literature. A well-known one -- and the one that appears in PCT
models -- "calculates" the inverse in the feedback loop of a high
gain amplifier, much like an op-amp circuit can "transform" a
capacitance into an inductance. Another approach does not invert but
calculates the inverse directly. Other approaches again do invert,
but in a manner seemingly far removed from what math says about
inverting a function or a matrix; Martin's wasp-waisted neural
network comes to mind.

So how does the nervous system do it? Our models so far have been
mostly _functional_ models, which take the presupposed possibilities
and constraints of the nervous system more or less lightly. You do
the same when you use "nerve currents" rather than sequences of
action potentials. That is fine; every theory needs to be built up
from a satisfying, simple set of primitives. That eliminates the
infinite search for "deeper" meaning and provides the opportunity for
explanation in terms of "intuitively obvious" notions.

I guess much of your post stresses the difference between the
territory and its map. Some of our maps are pretty good -- they allow
us to be in control and to make fine predictions. But we are often
greatly puzzled about the _type_ of the mapping from "reality" to
those maps of ours. What is real and what is "just" a model?

We'll never know. But the occasional awareness that we can only talk
in terms of maps and mappings helps, maybe.

Greetings,

Hans

[From Bill Powers (970127.0745 MST)]

Hans Blom, 970127 --

My thoughts, experiments, calculations and
simulations show (prove may be too strong a word) _that_ an inverse
function (of the environment) is needed in a (any) controller if it
is to "calculate" how to act.

When you use the term "inverse" I take it that you mean, literally, f^-1.
This is what you require if you want the system to reach its final state in
a single calculation, isn't it? But no real system can do that, because of
physical dynamics.

Consider the case I used as an example, controlling the position of a mass
by applying forces to it. The forward equation is a second-order
differential equation. You can compute the inverse of this forward function,
and show mathematically that applying the reference signal through the
inverse will bring the mass to the specified position in one calculation.
But if you look at the forces involved, they will be infinite!
You will have an infinite positive acceleration followed instantly by an
infinite negative acceleration, with infinite velocity existing for an
infinitesimal time.

When I was learning about control systems (admittedly just after the last
ice age), I learned that the ideal behavior of a physically realizable
control system is an exponential correction of the error signal.
Minimum-time damping would allow one overshoot, but the best form if the
control system is to be part of a larger system is the exponential form of
correction. This is a well-behaved form that is easy to stabilize when the
control system is a component of another loop. The initial slope of the
error-correction curve is determined by the maximum force or power available
in the output device, and this in turn determines the maximum speed with
which any error can be corrected. The design of the rest of the system
(including the needed bandwidths) depends on this basic physical limitation.
All this, of course, is for linear systems; with nonlinear systems some
improvements on this performance can be achieved -- but not dramatic,
order-of-magnitude, improvements.

This is a very different design goal from the one you have proposed. In our
initial discussions, you stressed that your method allows correcting the
error perfectly in a single iteration. But that would be possible only in a
world where physical variables do not take time to change from one value to
another, so that instantaneous jumps are possible. When you model both the
plant and the system in terms of discrete successive states, without taking
physical dynamics into account, it seems possible to achieve this
instantaneous correction of error. But in the real world of physical
systems, this is not possible.

When all you require is that the error be corrected along the quickest
feasible exponential curve, it is no longer necessary -- or even desirable
-- that the output function be the inverse of the environmental feedback
function. As I've tried to point out, if the external function is a pure
integrator, the best form of the output function is a simple proportional
multiplier. This leads to error correction along the curve exp(-kt) where k
is proportional to the multiplier in the output function. By making the gain
of the output function just large enough, you can make the error fall as
rapidly as the output capabilities permit.

In your scheme, the output function for the position controller would have
to be a double differentiator (the inverse of a double integrator), and as
mentioned the output forces, for perfect instantaneous error correction,
would then be infinite. This fact doesn't stand up and announce itself in a
purely mathematical analysis where only symbols are used. It is true that
the integral of dx/dt is x, give or take a constant of integration. So if
you passed the value of the reference signal through a double differentiator
to create the output that drives the mass, the position of the mass would
follow even a step-change in the reference signal perfectly. But when you
treat this as a description of a physical system, the implied infinities of
acceleration and velocity are revealed, and the design is shown to be
impractical.

A natural response to this fact might be to say that we will just design as
if the system were perfect, but back off a bit to allow for the finite
limits on the variables. This, however, doesn't work. Either the system
works EXACTLY as the inverse-function approach demands, mathematically
exactly, or it doesn't work at all. This will become evident if you
introduce physical time into your discrete models as I suggested in my last
post on this subject, by putting in a dt where needed to make the model take
physical dynamics into account. Now the model of the environment, the
position of the mass, can't jump instantly from one value to another. The
shorter you make the computing interval in terms of physical time, the less
the mass will move on any one iteration. And if you then introduce an
imperfect digital differentiator, you will find that its effect on the mass
is lagged, and the whole system will turn into an oscillator. The
differentiators need dt in the _denominator_, and this is what leads to the
infinities, and to the very high loop gains at high frequencies that cause
oscillation. The "perfect mathematical solution" is actually a singularity.

···

----------

The riddle is _how_ such an inverse or
its approximation can be "calculated" by the actual nervous system.

I don't think the riddle is as serious as you make it out to be. What is
required is only that the error be reduced at a rate proportional to the
error. In a sampled control system the exponential kind of error correction
can be made so fast that it appears to occur in one or two iterations, but
that is made possible only by physical lags somewhere in the loop, like
those due to masses being moved against friction.

In fact, as I found out with the little man model, the actual structure of a
control system that can control arm position just as well as the real human
system does it is very simple. Even making this system realistically
adaptive does not require great complexities. As Martin Taylor has pointed
out, although perhaps not with just this emphasis, physical systems made of
simple components can often do things that are extremely awkward to analyze
mathematically. Just look at the behavior of a physical pendulum. The
pendulum itself does no calculations, but we, in trying to represent its
motion, get into nonlinear differential equations that have very complex
(literally) solutions. Add a little slip-stick friction and a nonlinear
bending of the pendulum support, and we can't solve the equations at all.
This is why, in analyzing physical systems, we're always approximating in
one way or another, sometimes severely. There is only a limited set of
mathematical expressions that we can handle (even those who know what
they're doing), and if nature doesn't conform to one of them we have to
resort to simulation, or give up.

So how does the nervous system do it? Our models so far have been
mostly _functional_ models, which take the presupposed possibilities
and constraints of the nervous system more or less lightly. You do
the same when you use "nerve currents" rather than sequences of
action potentials. That is fine; every theory needs to be built up
from a satisfying, simple set of primitives. That eliminates the
infinite search for "deeper" meaning and provides the opportunity for
explanation in terms of "intuitively obvious" notions.

Yes, I agree. We have to settle on a level of detail that is neither so
crude that it fails to capture the phenomenon, nor so fine that it swamps
our ability to handle it. Finding a feasible level of description is part of
the art of modeling.

I guess much of your post stresses the difference between the
territory and its map. Some of our maps are pretty good -- they allow
us to be in control and to make fine predictions. But we are often
greatly puzzled about the _type_ of the mapping from "reality" to
those maps of ours. What is real and what is "just" a model?

We'll never know. But the occasional awareness that we can only talk
in terms of maps and mappings helps, maybe.

I hope so.

Best,

Bill P.

[Hans Blom, 970128]

(Bill Powers (970127.0745 MST))

When you use the term "inverse" I take it that you mean, literally,
f^-1.

The term "inverse" has, regrettably, multiple meanings, depending on
_what_ it is that is to be inverted: a function, a matrix, a
polynomial or what have you. In the context of optimal control, we
are always concerned with finding an optimal (best possible) inverse
of a function, which usually has time as one of its argument. If y(k)
= 4*u(k), an exact inverse exists, u(k) = 0.25*y(k). But not if y(k)
= 4*u(k-1), because an ideal one step ahead predictor is, alas, not
physically realizable. Yet even in this case -- indeed in all cases
-- a "best" inverse exists, although a definition of what is to be
considered "best" may be application-dependent. Compare this to the
inverse of a matrix, which is defined only if the matrix is square.
Yet control engineering students have to learn that every matrix,
including non-square ones, has a "pseudo-inverse" or a "generalized
inverse".

This is what you require if you want the system to reach its final
state in a single calculation, isn't it?

No, that is generally impossible. Where it _is_ often possible to
pose this as a design requirement is in stabilization, i.e. the
steady state condition where the reference level does not change for
extended periods. In that case, only the unpredictable part of the
disturbance (plus effects of model misfit) have to be corrected for.
That is frequently possible in one time step.

last ice age), I learned that the ideal behavior of a physically
realizable control system is an exponential correction of the error
signal.

That is in the case of regulation, in contrast to stabilization; in
this case after a stepwise change of the reference level. You are
correct: "critical damping" is often considered optimal.

What you learned then is the basis of optimal control theory: the
observation that a different choice of the parameters of the
controller leads to different control behavior, e.g. exponential vs.
oscillatory correction. Optimal control theory reasons the other
("inverse") way: if we require a certain control behavior, e.g.
exponential correction, how do we choose the controller's parameters?
And, if we want that type of control behavior to persist despite
changes in the characteristics of the controlled object, we will
start to invent or use adaptive control.

When all you require is that the error be corrected along the
quickest feasible exponential curve, it is no longer necessary
-- or even desirable -- that the output function be the inverse of
the environmental feedback function.

"Quickest" normally means at maximum (positive or negative) output.
In that case, a linear analysis doesn't work anymore, and we have to
study e.g. what is called "bang-bang" control. If the nonlinearities
become so extreme, a different type of analysis is required. It is
now not the value of the output that has to be computed (because it
is fixed at either maximum or minimum) but the moments in time when
the output changes from minimum to maximum or back. Different from
what we usually consider here.

In your scheme, the output function for the position controller
would have to be a double differentiator (the inverse of a double
integrator), and as mentioned the output forces, for perfect
instantaneous error correction, would then be infinite. This fact
doesn't stand up and announce itself in a purely mathematical
analysis where only symbols are used.

I know of no _control_ theory or approach that postulates that
perfect instantaneous error correction is possible. Do you?

Either the system works EXACTLY as the inverse-function approach
demands, mathematically exactly, or it doesn't work at all.

Why do you think so black-and-white? A good approximation is all we
will ever obtain in real-world systems. The fact that "good enough"
controllers exist proves you wrong.

This will become evident if you introduce physical time into your
discrete models as I suggested in my last post on this subject, by
putting in a dt where needed to make the model take physical
dynamics into account. Now the model of the environment, the
position of the mass, can't jump instantly from one value to
another. The shorter you make the computing interval in terms of
physical time, the less the mass will move on any one iteration.

That's why we have derivatives. Even though dx and dt change, dx/dt
doesn't (for small dt). In all control designs, we rely on this kind
of "smoothness" of the world.

As Martin Taylor has pointed out, although perhaps not with just
this emphasis, physical systems made of simple components can often
do things that are extremely awkward to analyze mathematically. Just
look at the behavior of a physical pendulum. The pendulum itself
does no calculations, but we, in trying to represent its motion, get
into nonlinear differential equations that have very complex
(literally) solutions. Add a little slip-stick friction and a
nonlinear bending of the pendulum support, and we can't solve the
equations at all.

So you propose that a physical system may be extremely difficult to
model (explicitly). Can we invert this and also say that extremely
complex models sometimes have extremely simple physical counterparts?
Might that possibly also be true for matrix or function inversion?

Yes, I agree. We have to settle on a level of detail that is neither
so crude that it fails to capture the phenomenon, nor so fine that
it swamps our ability to handle it. Finding a feasible level of
description is part of the art of modeling.

Yes, I agree. And, modeling being an art, the choice of a suitable
level of description is also rather subjective. That is why we like
to found new schools: so that others will come to share our type of
subjectivity and we can start to believe that we are objective or
scientific. But that is an altogether different story...

Greetings,

Hans

[Hans Blom, 970128d]

(Bill Powers (970127.0900 MST))

One of my problems with the complex mathematics some people use
(aside from my mental handicap) is that when you start out proving
theorems and building a big mathematical structure on them, you
really have no idea how much deviation from the idealized
assumptions is allowed.

In control, there is (or ought to be) a phase of "model validation"
or "controller validation" before a system is delivered to the
customer. During this phase, the adequacy of the design is tested on
an independent data set. This is probably familiar to neural network
designers, wo learn with a "learning set" and validate with a "test
set".

In a kind of abstract way you are correct, however. If the system at
some time has to operate in a different context for which it was not
designed/trained -- and even outside a range where its adaptation can
be successful -- it may fail utterly. That reminds me of a question
one of my professors once asked: "But if your expert system suddenly
encounters a completely new situation that is not provided for in its
knowledge base, how will it act?" How does one deal with the utterly
unexpected except hope for the best?

As in my example for Hans (which I hope is valid) , you can prove
mathematically that the integral of the derivative of x is x, but in
a physical system the _slightest_ deviation of the actual
computations from perfection creates physically impossible
conditions, and introduces mathematical singularities.

Control engineering is _applied_ mathematics and has found methods to
avoid singularities. For example, although a matrix inverse does not
exist if the matrix is singular, a "pseudo-inverse" (closely related
to least squares function minimization) _always_ exists. Control
theory has also introduced the notion of "noise" or "disturbance",
and attempts -- rather successfully, I would say -- to design systems
that work reliably despite the presence of uncertainties of many
kinds, including the small computational errors that you refer to and
that are always present.

When mathematical systems of reasoning, based on exact manipulation
of symbols, are used as models of physical systems, just how brittle
are the conclusions? I'd like to know, before going too far out on a
mathematical bridge from one observation to another.

I could understand such a remark if it came from someone who was not
familiar with control engineering. But from you? You keep surprising
me...

Greetings,

Hans

[From Bill Powers (970128.1825 MST)]

Hans Blom, 970128--

When you use the term "inverse" I take it that you mean, literally,
f^-1.

The term "inverse" has, regrettably, multiple meanings, depending on
_what_ it is that is to be inverted: a function, a matrix, a
polynomial or what have you.

In your discussions the meaning has always seemed clear enough. You have
always used the actual inverse of the assumed environment-function. How else
could your system calculate the right output? Let's not get off into
irrelevant generalizations.

This is what you require if you want the system to reach its final
state in a single calculation, isn't it?

No, that is generally impossible.

Come on, Hans. You spent many posts telling us that the big feature of your
EKF/MCT approach was that, once fully adapted, it could correct the error in
a single iteration of the program, perfectly. Your demo programs all
illustrated this principle, as did your general discussions. And you used
this as the basis for downgrading the PCT model, which of course must have
at least some error in it to work. Are you now saying that you didn't mean
any of that?

last ice age), I learned that the ideal behavior of a physically
realizable control system is an exponential correction of the error
signal.

That is in the case of regulation, in contrast to stabilization; in
this case after a stepwise change of the reference level. You are
correct: "critical damping" is often considered optimal.

The difference between regulation and stabilization is irrelevant here. I'm
still comparing the MCT model as you have presented it with the PCT model.
The chief difference between these models that you use the inverse of the
environmental feedback function to compute the output that will make the
controlled variable match the reference signal in a single iteration, while
the PCT model uses a direct comparison of the controlled variable with the
reference signal to generate an error signal that is corrected through a
different function, over time. Are you now retracting what you said
previously along these lines? I would be delighted if you were, but I don't

When all you require is that the error be corrected along the
quickest feasible exponential curve, it is no longer necessary
-- or even desirable -- that the output function be the inverse of
the environmental feedback function.

"Quickest" normally means at maximum (positive or negative) output.
In that case, a linear analysis doesn't work anymore, and we have to
study e.g. what is called "bang-bang" control.

That doesn't seem to have much to do with what I said. A bang-bang system
doesn't correct the error along an exponential curve. I'm specifically
talking about the contrast between the PCT type of model and the MCT type
that you have been presenting.

In your scheme, the output function for the position controller
would have to be a double differentiator (the inverse of a double
integrator), and as mentioned the output forces, for perfect
instantaneous error correction, would then be infinite. This fact
doesn't stand up and announce itself in a purely mathematical
analysis where only symbols are used.

I know of no _control_ theory or approach that postulates that
perfect instantaneous error correction is possible. Do you?

Yes, the one you were advertizing when this discussion first started. That's
exactly what you claimed: perfect correction in a single iteration. I don't
understand what you're saying here. Are you giving up that claim?

Either the system works EXACTLY as the inverse-function approach
demands, mathematically exactly, or it doesn't work at all.

Why do you think so black-and-white? A good approximation is all we
will ever obtain in real-world systems. The fact that "good enough"
controllers exist proves you wrong.

Now suddenly you're talking like a practical control engineer. My discussion
related to your use of the inverse of the environmental feedback function to
achieve perfect correction of error in a single iteration. I was trying to
show that this approach is not practical -- and now you're putting up no
resistance to my claim! If you've changed your mind about the MCT model, we
have no reason to go on arguing. Please tell me what is happening here. I'm
double-checking to see if this post is from Hans Blom (it still seems to be).

This will become evident if you introduce physical time into your
discrete models as I suggested in my last post on this subject, by
putting in a dt where needed to make the model take physical
dynamics into account. Now the model of the environment, the
position of the mass, can't jump instantly from one value to
another. The shorter you make the computing interval in terms of
physical time, the less the mass will move on any one iteration.

That's why we have derivatives. Even though dx and dt change, dx/dt
doesn't (for small dt). In all control designs, we rely on this kind
of "smoothness" of the world.

But your MCT model does not use derivatives in this way; you use the model,
for example,

x(k+1) = Ax(k) + Bu(k)

which contains no provision for dealing with processes occurring smoothly
through physical time. I have been pointing out that this equation, or any
similar to it, needs an explicit representation of dt, the interval of
physical time represented by one iteration. Then you can let dt approach
zero to approximate the limiting case of smooth behavior. As it stands, this
equation is not a representation of a smooth process -- there is nothing in
it that takes physical time into accout. Are you arguing against my point
here, or just ignoring it?

As Martin Taylor has pointed out, although perhaps not with just
this emphasis, physical systems made of simple components can often
do things that are extremely awkward to analyze mathematically. Just
look at the behavior of a physical pendulum. The pendulum itself
does no calculations, but we, in trying to represent its motion, get
into nonlinear differential equations that have very complex
(literally) solutions. Add a little slip-stick friction and a
nonlinear bending of the pendulum support, and we can't solve the
equations at all.

So you propose that a physical system may be extremely difficult to
model (explicitly). Can we invert this and also say that extremely
complex models sometimes have extremely simple physical counterparts?
Might that possibly also be true for matrix or function inversion?

Unlikely. Remember that the MCT model requires _explicit_ calculation of the
inverse of the entire external world that participates in all possible
control loops, including all possible disturbances. I see no way for any
simple physical process in the brain to calculate this inverse -- unless it
is by the method used in PCT and specifically not the method used in MCT. My
whole point has been that the PCT type of model uses the environment itself
to "compute the inverse", without itself containing such a computation. You
have mentioned this feedback method of computing an inverse several times,
as if you understand what I am talking about. Are you under the impression
that it's the same as the MCT method? I have repeatedly pointed out, with
examples, that the output function in a PCT model is NOT the inverse of the
environmental feedback function, nor an approximation to it. Have you been
following my argument? Do you agree with it?

The discussion has taken a strange turn.

Best,

Bill P.

[Hans Blom, 970129]

(Bill Powers (970128.0600 MST))

So this ["modern control theory"] model of behavior relies on the
ability of the controlling system to construct an internal
simulation of _every disturbance that can possibly occur_.

Yes! You got it! But don't be so limiting: not only disturbances must
be modeled...

Can it be done? Are there schemes that can model "almost" anything?
Yes, there certainly are. The "real world" seems to be so smooth and
connected that oftentimes high quality estimates can be made of the
properties of the "real" thing. Several sciences provide the tools:
control theory (subset systems identification), neural network theory
(subset network training), statistics (subset function approximation)
...

The systems identification literature, however, is not easily
accessible, as you have noticed. Although the subject matter is
simple, once you see it ("nothing but" curve fitting, although maybe
in a space with many dimensions), the notation is frightening and not
readily subject to popularization ("What regression? Are we talking
psychoanalysis?").

The most easily understood proofs of the generality of a scheme ("can
it encode anything?") can probably be found in the neural network
literature: we may assume that many non-specialists now know that an
NN with a single hidden layer can be trained to encode any arbitrary
function to any desired degree of fit if it is just offered examples
(sampled perceptions). In systems identification circles, NNs are
considered as providing "just another" set of basis functions, where
many other choices are possible -- and useful -- as well. So _that_
such general methods exist is without doubt.

It is not clear whether you doubt that such general schemes exist, or
that they are too complex:

While this is conceivable, at some point the theoretician must pause
to wonder whether the baroque complexities that are being generated
are any longer believable as a model of the real system. If a
simpler way to achieve the same result is available, even if the
result is not quite so perfectly exact, the balance must sooner or
later swing to preferring the simpler model.

The weird thing is that the development of artificial neural nets
with their "baroque complexities" was inspired by the anatomy and
physiology of the nervous system. Let's not complain about the
complexity of our human inventions; they are far less complex than
what can be found in living organisms.

Greetings,

Hans

[Hans Blom, 970129]

(Bill Powers (970128.1825 MST))

The term "inverse" has, regrettably, multiple meanings, depending
on _what_ it is that is to be inverted: a function, a matrix, a
polynomial or what have you.

In your discussions the meaning has always seemed clear enough.

Seemed appears to be the operative word.

You have always used the actual inverse of the assumed environment-
function. How else could your system calculate the right output?
Let's not get off into irrelevant generalizations.

I guess you must always have misunderstood me. Assume an environment
function of the form x[k] = u[k-1]. What is its "actual" inverse?
That would be u[k] = x[k+1]. Regrettably, at time instant k, x[k+1]
is not yet available. So an "actual" inverse is impossible _in a
control system which must be physically realizable_. We can only
approximate.

This is what you require if you want the system to reach its final
state in a single calculation, isn't it?

No, that is generally impossible.

Come on, Hans. You spent many posts telling us that the big feature
correct the error in a single iteration of the program, perfectly.

Where, for instance? I cannot remember ever having stated that
"perfect" error correction (in a single iteration or not) is
possible.

Your demo programs all illustrated this principle ...

Perfect error correction? I'm amazed that my demos can do that ;-).

I'm still comparing the MCT model as you have presented it with the
PCT model. The chief difference between these models that you use
the inverse of the environmental feedback function to compute the
output that will make the controlled variable match the reference
signal in a single iteration, while the PCT model uses a direct
comparison of the controlled variable with the reference signal to
generate an error signal that is corrected through a different
function, over time. Are you now retracting what you said previously
along these lines? I would be delighted if you were, but I don't

Let me backtrack and give an example. Assume for the moment that the
environment function is x[k+1] = 3*u[k], and that this function has
been modeled perfectly (this is just an example, and I do know that a
model cannot be perfect; but that is a different discussion). Assume
also that we are at time k and at time k+1 we want x to be 6. We then
plug in and get 6 = 3 * u[k] and find that u[k] must be 2. Nothing
remarkable. Correction in a single iteration, right. Perfect if the
model is perfect. What's the problem? That you have to divide 6 by 3?
Tell me where I go wrong...

I know of no _control_ theory or approach that postulates that
perfect instantaneous error correction is possible. Do you?

Yes, the one you were advertizing when this discussion first
started. That's exactly what you claimed: perfect correction in a
single iteration. I don't understand what you're saying here. Are
you giving up that claim?

Perfect if... You seem to have forgotten the assumptions, or rather
the approximations. Let me reiterate them. Perfect correction in a
single iteration is possible if 1) the model of the environment is
perfect, 2) the environment is disturbance-free or the disturbance
model is perfect as well, and 3) the required output can indeed be
realized. In reality, of course, 1) the environment model is _not_
perfect (but it may be very good), 2) the disturbance contains an
unpredictable white noise component (which may be quite small in some
cases), and 3) the output may not be physically deliverable (which
may indicate insufficient power delivery capabilities).

Either the system works EXACTLY as the inverse-function approach
demands, mathematically exactly, or it doesn't work at all.

Why do you think so black-and-white? A good approximation is all we
will ever obtain in real-world systems. The fact that "good enough"
controllers exist proves you wrong.

Now suddenly you're talking like a practical control engineer.

You surprise me with your distinction between theory and practice.
Nothing is more practical than a good theory. I judge the quality of
a (control) theory in terms of its capability to use observations,
i.e. to discover and/or use the regularities of the domain in which
it operates in the pursuit of its goal(s).

My discussion related to your use of the inverse of the
environmental feedback function to achieve perfect correction of
error in a single iteration. I was trying to show that this approach
is not practical -- and now you're putting up no resistance to my
claim!

There's a lot of disturbances in the world that I do not feel my duty
to correct. My time is, alas, limited. So don't interpret my lack of
resistance as agreement. I do react to major misunderstandings (of
the formulas/concepts and their use), but less so on extrapolation
(on what one thinks those formulas "mean"). There is freedom of
thought, isn't there? And I decline to present a tutorial on MCT
here. There are plenty of good books!

As it stands, this equation is not a representation of a smooth
process -- there is nothing in it that takes physical time into
accout. Are you arguing against my point here, or just ignoring it?

As Oded said, integrals and differentials are so difficult to
represent in ascii. But believe me, there is an accurate one-to-one
relationship between differential and difference equations. I can
(and do) almost intuitively translate from one to the other. That's
why I ignore what for you seems to be a point.

... the MCT model requires _explicit_ calculation of the inverse of
the entire external world that participates in all possible control
loops, including all possible disturbances.

The inverse is not the problem. Building up that model is. MCT,
however, also shows that frequently approximate models work quite
nicely. I could be wrong, but I bet that you have only a very coarse
model of, say, Venezuela. But that doesn't bother you because you
never go there. It's the same with a model: it does not need accuracy
where it will not be used. The same goes for inverses. An approximate
inverse often works nicely, and no inverse is needed (indeed, not
possible) at all where the model is very inaccurate. You wouldn't
have an accurate idea of how to behave in Venezuela (socially, for
instance, or finding your way around), but neither do you need to.

I see no way for any simple physical process in the brain to
calculate this inverse -- unless it is by the method used in PCT and
specifically not the method used in MCT.

Do you believe that an artificial neural network can do it? If so,
why not a brain? If not, maybe Martin can give you a reference ;-).

I have repeatedly pointed out, with examples, that the output
function in a PCT model is NOT the inverse of the environmental
feedback function, nor an approximation to it. Have you been
following my argument? Do you agree with it?

And I have repeatedly pointed out that a PCT model _must_ contain an
(implicit) model of the environment -- i.e. that even a PCT model can
be a successful controller only if sufficient knowledge about the
environment is somehow incorporated in it. So, no, I don't agree with
you. In a post about Pieter Eykhoff I have referred you to an article
that argues that every good controller somehow "contains" or uses a
model, even if that model is implicit. I wish I had the time to
reproduce that argument here...

The discussion has taken a strange turn.

Yes, indeed.

Greetings,

Hans

[From Bill Powers (970129.0930 MST)]

Hans Blom, 970129--

So this ["modern control theory"] model of behavior relies on the
ability of the controlling system to construct an internal
simulation of _every disturbance that can possibly occur_.

Yes! You got it! But don't be so limiting: not only disturbances must
be modeled...

Can it be done? Are there schemes that can model "almost" anything?
Yes, there certainly are. The "real world" seems to be so smooth and
connected that oftentimes high quality estimates can be made of the
properties of the "real" thing. Several sciences provide the tools:
control theory (subset systems identification), neural network theory
(subset network training), statistics (subset function approximation)

Your optimism in this regard continues to amaze me. I think you are
confusing hypothetical possibilities with actual accomplishments, and
compounding the error by not observing the real world very carefully. But
this is something I can do nothing about.

The most easily understood proofs of the generality of a scheme ("can
it encode anything?") can probably be found in the neural network
literature: we may assume that many non-specialists now know that an
NN with a single hidden layer can be trained to encode any arbitrary
function to any desired degree of fit if it is just offered examples
(sampled perceptions).

I don't believe that's true. Neural nets "can" encode any arbitrary function
within a certain limited class, but (a) they haven't yet done so, and (b)
there are other classes of phenomenon that they can't handle at all. They
certainly can't predict that the next time I open the refrigerator door, a
bottle of milk is going to start falling out. I haven't heard of one that
can recognize the event called "bouncing." I don't know of any that can
perceive a relationship, like "parallel." I know of no scheme that can
recognize a principle. Not, that is, all by itself, without some human being
telling it what these things mean. I think that neural nets may some day
have a place in models of living systems, but they're going to have to get a
lot smarter first.

There is a strong tendency among those who pursue these interests to get
overenthusiastic about what their creations are actually doing, elevating a
few blobs on a screen to "object recognition" and so on. If you look with a
cool eye at what has actually been accomplished, the only possible judgment
is "not much." I try to be careful about making claims for the
accomplishents of PCT. I don't see why anyone else should get away with
making exaggerated claims for other approaches -- and at the same time, be
the judges who decide what claims are justified.

In systems identification circles, NNs are
considered as providing "just another" set of basis functions, where
many other choices are possible -- and useful -- as well. So _that_
such general methods exist is without doubt.

It is not clear whether you doubt that such general schemes exist, or
that they are too complex:

I hope that the above makes my position clear. I do not believe that these
schemes are "general." While they may be useful for solving some of the
problems they are presented with, they have been presented only with a
narrow range of problems, and have not even solved all of them. Look at the
progress of speech recognition. When you stop marveling that it can be done
at all, you have to admit that it really isn't done very well. Perhaps
further work will lead to improvements, but perhaps not. Perhaps some other
approach is needed that works better.

While this is conceivable, at some point the theoretician must pause
to wonder whether the baroque complexities that are being generated
are any longer believable as a model of the real system. If a
simpler way to achieve the same result is available, even if the
result is not quite so perfectly exact, the balance must sooner or
later swing to preferring the simpler model.

The weird thing is that the development of artificial neural nets
with their "baroque complexities" was inspired by the anatomy and
physiology of the nervous system. Let's not complain about the
complexity of our human inventions; they are far less complex than
what can be found in living organisms.

complexity is misapplied. I was speaking specifically about a model of
control, and comparing two models in terms of their complexity. No matter
how complex the nervous system is, a simple model is preferable to a complex
one that does no more than the simple one. If the real system is described
by the simple model, then more instances of the simple organization can be
present in the same brain than instances of the more complex one.

And anyway, assuming that the brain is complex enough to carry out any
computation whatsoever is simply a way to avoid disciplined thought. It's
like tacking a reference to evolution onto every incomplete proposal, saying
that natural selection will fill in all the holes in the argument.

Best,

Bill P.

Hello again, all.

Hans Blom (970129) writes

... Assume an environment
function of the form x[k] = u[k-1]. What is its "actual" inverse?
That would be u[k] = x[k+1]. Regrettably, at time instant k, x[k+1]
is not yet available. So an "actual" inverse is impossible _in a
control system which must be physically realizable_. We can only
approximate.

It is not apparent to me why x[k+1] would need be "available" at time k in
a manner which it could not be. For the sort of function you refer to any
value-range might be instantiated at any time. I agree with Bill that the
meaning of 'inverse' for these purposes has been clear enough.

I can agree with you that approximation is all you need to claim for your
purposes, although I think your approach falls short even with that limited
ambition. But setting aside the success of your overall proposal, this
matter of approximation has no import: The fact that you don't rely on any
system-feature to produce an exact inverse does not imply that there could
be no such thing. And if there *could* be such a thing, it would hardly
weaken your line of argumentation, would it?

Tracy Bruce Harms
Lake County, California

···

From: Tracy Harms (1997;01,30.00:33 PST)

[Hans Blom, 970130]

(Tracy Harms (1997;01,30.00:33 PST))

... Assume an environment
function of the form x[k] = u[k-1]. What is its "actual" inverse?
That would be u[k] = x[k+1]. Regrettably, at time instant k, x[k+1]
is not yet available. So an "actual" inverse is impossible _in a
control system which must be physically realizable_. We can only
approximate.

It is not apparent to me why x[k+1] would need be "available" at
time k in a manner which it could not be.

In the above, x stands for a perception and u for an action, and time
is counted by k in increments of a certain discrete size. At time
instant k, the perception that will take place at time instant k+1
(later in time!) is not yet available to the controller _at time
instant k_ for computing the output u[k], which _can_ (and has to!)
be delivered by the controller at time instant k.

In control engineering, a system that can reason with present and
past observations only, _not_ with future ones, is called a causal
system. Only causal systems are physically realizable. That is why we
engineers despise non-causal systems ;-).

The fact that you don't rely on any system-feature to produce an
exact inverse does not imply that there could be no such thing. And
if there *could* be such a thing, it would hardly weaken your line
of argumentation, would it?

Right.

Greetings,

Hans

[Martin Taylor 970120 14:15]

Bill Powers (970129.0930 MST)] to Hans Blom

I imagine you will find this message to have been largely predictable:-)

I think that neural nets may some day
have a place in models of living systems, but they're going to have to get a
lot smarter first.

Of course a hierarchic perceptual control system _is_ a neural net. And I
agree that the ones in living systems are a lot smarter than the ones with
which we do simulation experiments.

And I agree with you that:

Neural nets "can" encode any arbitrary function
within a certain limited class, but (a) they haven't yet done so,...

No, we haven't made even Aleph-null neural nets yet, let alone a
continuum (Aleph-one) or a functional class (Aleph-two) of them. We've
only had a finite time in which to work, I'm sorry to report;-)

...and (b)
there are other classes of phenomenon that they can't handle at all. They
certainly can't predict that the next time I open the refrigerator door, a
bottle of milk is going to start falling out....

Can you, a human, do that? I can't.

...I haven't heard of one that
can recognize the event called "bouncing." I don't know of any that can
perceive a relationship, like "parallel." I know of no scheme that can
recognize a principle.

It's just a matter of faith that you and I share that some day we (or our
descendants) will know of neural nets (HPCT structures) that have these
abilities.

... Look at the
progress of speech recognition. When you stop marveling that it can be done
at all, you have to admit that it really isn't done very well. Perhaps
further work will lead to improvements, but perhaps not. Perhaps some other
approach is needed that works better.

I agree with that, too. Some years ago I tried to persuade one of my
friends who works or the research side with a major speech recognition
company that he should look into adaptive hierarchic control systems
(AKA "Little Baby") as an approach to speech recognition that might
work better than simply analyzing the statistics of the incoming
acoustic waveforms using neural networks or algorithmic statistics
(which, so far as I know, all current approaches to speech recognition
now use). As far as I know, nothing came of it, and the idea remains
to be tried. (Of course, it may have worked, in which case it would be

complexity is misapplied. I was speaking specifically about a model of
control, and comparing two models in terms of their complexity. No matter
how complex the nervous system is, a simple model is preferable to a complex
one that does no more than the simple one. If the real system is described
by the simple model, then more instances of the simple organization can be
present in the same brain than instances of the more complex one.

I don't think that's entirely fair. Hans talks about a simple structure of
complex objects (e.g. one high-dimension modelling "controller"), whereas
you talk about a complex organization of simple objects. Who's to say
which is the more complex when it comes to dealing with the multidimensional
effects in the world that must be controlled by a living system? It's
one thing to say that a simple control unit handles well a unidimensional
disturbance, and therefore that a complex control system to do the same
thing is unwarranted (and violates Occam's razor when treated as a model).
It's quite another thing to assert that in the real, complicated world
the increase in structural complexity needed in an organization of
simple control systems will be paralleled by an equivalent increase
in the structural complexity required for a system of complex "modelling
controllers."

I rather suspect that a complex "modelling" system could be devised to
treat, say, the relationship of "parallel" without a great deal more
complexity than it would require to stabilize the unidimensional movement
of a point object. Of course I have no evidence whether or not this is so.
I'm merely pointing out that the live nervous system, a network of simulated
neurons, or a hierarchic control system, is a complex object whose internal
dynamics are not self-evident, and that it is by no means cut and dried
that the HPCT model, when carried to even the 5th level, is less complex
than a modelling stabilizer (I don't want to keep putting "controller"
in quotes;-).

And also, please note that I am not asserting that a modelling stabilizer
will work as well as an HPCT structure, nor am I asserting that it won't.

Martin

···

And anyway, assuming that the brain is complex enough to carry out any
computation whatsoever is simply a way to avoid disciplined thought. It's
like tacking a reference to evolution onto every incomplete proposal, saying
that natural selection will fill in all the holes in the argument.

Best,

Bill P.