[Hans Blom, 970429f]
(Bill Powers (970428.1807 MST))
Obviously, your program reproduces the sinusoid [al disturbance] ...
Yes and no. It reproduces a raw sequence of [disturbance] values that
_we_ but not _it_ know to be a sinusoid. To the controller, that
sequence of values has no structure or coherence at all yet, i.e. it
has not been modeled and is not known to belong to a sinusoid.
..., but it has no way to know that this effect comes from a
disturbance that simply rises linearly.
You assume too far much. Again, _we_ happen to know that this is true
[because we concocted the program/data generator], but it need not be
so. The problem for a "macine intelligence" in cases such as this one
is to discover some sequence e(t(i)) such that the samples d(t(i))
can be structured by some function f as in
d(t(i)) = f(e(t(i)))
where both f and e have to be discovered. And where the goal is to
have a sample sequence e(t(i)), mapping to a continuous function
e(t), that is somehow "simpler" than sequence d(t(i)) or another
continuous function (if known) d(t). This "simpler" is subjective,
however, because it depends on what is known/familiar already and
what not.
Discovering that f=sin is only possible if one [the controller, in
this case] "knows about" sine-functions. If not, some polynomial
could possibly be discovered, since a sine can be arbitrarily exactly
approximated by one -- but only within fixed bounds, and only if the
(easier?) concept "polynomial" is known. Only f=sin gets rid of those
bounds and gives an accurate model "forever", i.e. for any future t.
On the other hand, the choice of a sequence e(i) is generally not
unique. One may discover that e=t works, but also e=t mod (2*pi), for
instance: a sawtooth rather than a straight line. Thus, whereas it is
often possible to discover a unique f, discovering a unique function
e usually is not. But then, that isn't required either: _any_ well-
fitting choice will do.
In engineering practice, the situation is often simpler. In the MCT
theodolite controller, for instance, it was not necessary to model
the disturbance: modeling the disturbance would not improve control.
That situation changes, however, if during some time periods no
observations would be forthcoming. In such cases, modeling the
disturbance becomes important, because it improves the quality of
control.
The situation is often simpler for another reason as well: in
engineering, many disturbances are white noise-like and cannot be
modeled at all, even in principle. In such cases, modeling efforts
would be unfruitful: so even don't _attempt_ to model. The reason for
the noise-like character of many disturbances is that engineers have
little trouble in discovering obvious regularities and including them
in their models.
A student of mine recently worked on an example of a sine-like
disturbance [Journal of Clinical Monitoring, somewhen in 1996]. The
blood pressure in the lung artery varies with respiratory pressure in
artificially ventilated patients. The measured signal contains two
rhythms, that of the heart (somewhat irregular) and that of the
respiration rate (constant, because generated by a machine). Modeling
the respiratory fraction of the measured signal as a first and a
second harmonic and subtracting these modeled sinusoids from the
signal delivers a result that does not contain the 'respiratory
artifact' anymore and is much cleaner, i.e. more indicative of heart
action.
If I ever get around to it, I think I can show that by calculating
the disturbing _effect_, your program is doing exactly what a PCT
model does without that calculation.
I cannot imagine a controller modeling a sequence of what _we_ know
to be samples of a sinusoid by a sine-function if the controller
itself does not know (or cannot introduce the notion of) sinusoids.
So I have no idea how you would want to discover the disturbing
_effect_ except by modeling it, where the model can be built up from
pre-existing knowledge. And that seems possible at the symbolic level
only, where the concept "sin" is known (or can be introduced, because
it is a useful notion that summarizes a lot of sample sequences that
would otherwise have no structure).
I wonder whether there is mathematical software (Mathematica?) that
could do such a matching of samples against its library of functions
and "discover" the underlying sine-wave. Does anyone know?
Greetings,
Hans