On Thursday 18 September 2003 13:29, Ben Goertzel wrote:
> There are two different questions here, and I'm not sure which one you mean
>
> Given a set of computational resources R, we can ask either
>
> 1)
> what is a complexity level C so that, for any environment E of complexity
> level C, there is *some* AI system running on R that can predict events in
> E reasonably well (i.e. assuming that R is specialized for E)?
Yes, that is what I mean. To make it more complete, that 'reasonably well' is
also a variable, or 2: prediction success ratio (0 - 100%),
precision/detailedness of prediction divided by prediction time.
The minimum prediction success is also a given ('Given a set of computational
resources R and required minimum prediction succes M...'). The precision of
the prediction divided by the timescale is a measure of the amount of
complexity C the AI system can ignore. This depends not only on the
environment, but also on the goals the AI system must achieve.
>
> or
>
> 2)
> what is a complexity level C so that, for some AI system X running on R,
> and for *any* environment E of complexity C, X can predict events in E
> reasonably well (i.e. assuming that R is not specialized for E)?
That is not quite what I meant. I'm busy with tabula rasa systems that learn
about the environment from scratch. That makes 1) and 2) more or less
equivalent for me.
>
>
> The human brain for instance is highly specialized to certain environments,
> and cannot predict equally intelligently in other environments of
> comparable "a priori complexity" to the environments for which it's
> specialized.
>
> Note that my computational resources R includes both space and time
> resources. Unless the time resources are unrealistically ample, this rules
> out answering 2) by using an AI system X that does an AIXItl style search
> through all programs that could run on resources (R - epsilon) and finding
> the optimal one for the given environment E.
>
> Of course, contemporary mathematics does not give us answers to either of
> these questions. Nobody knows....
>
Not even an educated guess?
But I think some things can be said:
Suppose perception of the environment is just a bit at a time:
...010100010010010111010101010...
In the random case: for any sequence of length l the number of possible
patterns is 2^l. Completely hopeless, unless prediction precision need
decreases also exponentially with l. But that is not realistic. You then know
nothing, but you want nothing also.
in the logarithmic case: the number of possible patterns of length l increases
logarithmically with l: #p < constant * log(l). If the constant is not to
high this environment can be learned easily. There is no need for vagueness
in prediction (because of limited resources), or for prediction in only
general terms (maybe just a very slow, logarithmic decrease of precision).
But this is not realistic. Real environments are more complex. On the very
long long (infinite) term I suppose the environment has to be this way (for
the agent to be able to predict), or even no increase in number of patterns
after some critical l (just repetition). Or the environment consists outof
(super)patterns that can also be found on lower time levels (the environment
has a recursive structure).
In the linear case: the number of possible patterns of length l increases
linearly with length l: #p < constant * l. Given R this environment cannot be
predicted on the long term (after some l) if prediction has to stay precise.
The prediction precision need also has to decrease linearly. This is, I
think, the most realistic scenario.
I think this is about the world we live in. Near future predictions need to be
very precise to be able to act well, and that precision decreases about
linearly as the time horizon is farther. (The same can be said for action and
planning)
I don't need to know where exactly my foot will be over a year, and exactly at
what time of the day. I just need to know in very general terms what my
situation will be like. In a year I will have a better job. I predict that in
a week my neighbours will pay me a visit. I predict in a second my hands will
hit the key '.'.
This not just something about me (or people in general) it's also a property
of the environment. Our world (and our needed goals for survival in it) is
such that we don't need very precise and detailed descriptions of what will
happen in the far future. In this world you can manage without that. However,
we can not totally do without it.
I suppose the point I'm trying to make is that complexity of the environment
is not all. It's is also important to know how many of the complexity can be
ignored.
The hardest problem for AI is successfull long term planning. It is needed,
but nobody knows how to build an AI system that does it. I think that a key
element in the solution is to assume that precision of prediction can drop
linearly with time. The search is then for classes of perception event
sequences that are similar.
You just say: well there are (e.g.) 10^8 classes of length 10^2, 10^8 classes
of length 10^3, etc. and then start to find good groupings of event
sequences. whatever length l, you always try to find 10^8 classes of length
l. (This is all happening at the same time. There's a set of pattern classes
for each duration level; levels: 2,4,8,16,...etc, or 10, 100, 1000, 10000,...
etc.) In this way you create abstract descriptions in which predictions can
be formulated. The descriptions get more abstract as the time scale
increases.
This is not precisely how my system works. There are some unnatural and rigid
elements in the above that I'm trying to avoid. The trick is of course to
find the classes, to determine similarity.
Bye,
Arnoud
-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/[EMAIL PROTECTED]