** Next:** Towers of Hanoi
** Up:** Experiments: 60 Successive Tasks
** Previous:** Experiments: 60 Successive Tasks

##

On Task-Specific Initialization

Besides the initial primitive instructions from Sections
A.2.1, A.2.2, A.2.3 (appendix),
the only user-defined (complex) tokens are those declared in
Section A.3
(except for the last one, TAILREC). That is, we have a total of
initial non-task-specific primitives.

Given any task, we add task-specific instructions.
In the present experiments, we do *not* provide a *probabilistic
syntax diagram* defining
conditional probabilities of certain tokens, given previous tokens.
Instead we simply start with a maximum entropy distribution on the
tokens , initializing all probabilities
,
setting all and
(compare Section A.1).

Note that the instruction numbers themselves significantly affect
the initial bias. Some instruction numbers, in particular the small
ones, are computable by very short programs, others are not.
In general, programs consisting of many instructions that are not
so easily computable, given the initial arithmetic instructions (Section A.2.1),
tend to be less probable. Similarly, as the number of frozen
programs grows, those with higher addresses in general
become harder to access, that is, the address computation
may require longer subprograms.

For the experiments we *insert substantial prior bias* by
assigning the lowest (easily computable) instruction numbers to
the task-specific instructions, and by **boosting** (see instruction
*boostq* in Section A.2.3) the
appropriate *``small number pushers''*
(such as *c1, c2, c3*; compare Section A.2.1)
that push onto data stack *ds*
the numbers of the task-specific instructions, such that they
become executable as part of code on *ds*.
We also boost the simple arithmetic instructions
*by2* (multiply top stack element by 2)
and *dec* (decrement top stack element),
such that the system can easily
create other integers from the probable ones. For example,
without these boosts the
code sequence *(c3 by2 by2 dec)* (which returns integer 11)
would be much less likely. Finally we
express our initial belief in the occasional
future usefulness of previously useful instructions,
by also boosting *boostq* itself.

The following numbers represent maximal values
enforced in the experiments:
state size: ;
absolute tape cell contents : ;
number of self-made functions: ,
of self-made search patterns or probability distributions per tape: ;
callstack pointer: ;
data stack pointers:
.

** Next:** Towers of Hanoi
** Up:** Experiments: 60 Successive Tasks
** Previous:** Experiments: 60 Successive Tasks
Juergen Schmidhuber
2004-04-15

Back to OOPS main page