Rank-space method 

After some time experimenting with Framsticks, I have found that
evolving complex creatures beyond a certain limit is near impossible. I
believe that the problem is due to the population's fitness becoming
stuck in local maxima. I apologize if this conclusion is obvious, I am
still new to the field of ALife.
A solution might be to design an expdef file (in Framsticks v2) that
implements the rank-space method and keeps track of local maxima. I'm
not sure if this is feasable with the current version. It would involve
computing a diversity function for each individual (I believe a
similarity function is available, at least it was in v1), computing the
age of each individual, and its fitness. There would be two populations:
the normal "young" population, and one of "old" individuals that have
found local maxima (passed a certain age). The rank for each "young"
individual would depend on both its fitness and its similarity to the
"old" individuals, with a penalty for greater similarity. Only the
"young" population would reproduce, while the "old" population continued
to grow full of local maximum "failures". The simple "similarity"
function in v1 is different from this method in that I believe it causes
the population to oscillate around a local maximum, without ever forcing
it to leave the maximum, which is why the "old" population is necessary.
From my experiences with Framsticks, I believe that a challenge to
this method would be that there are very few fit intermediate
individuals (between maxima). Perhaps a very large, possibly variable
genepool size of "young" individuals would help. Also, it would be hard
to design a foolproof diversity function -- certain mutations might
allow an individual to remain at a local maximum while appearing to be
very different. Still, I think that this method might improve evolution.
Does anyone has any ideas about how to implement this in Framsticks,
or whether this method may or may not be relevant? I can't seem to
figure out how to write expdef files very well. Tell me if anything in
this post needs explaination, I didn't really explain what I meant by
"local maxima" etc. Thanks for your suggestions and ideas.

Craig

Forums: 
Maciej Komosinski's picture

> A solution might be to design an expdef file (in Framsticks v2) that
> implements the rank-space method and keeps track of local maxima. I'm
> not sure if this is feasable with the current version. It would involve
> computing a diversity function for each individual (I believe a
> similarity function is available, at least it was in v1), computing the
> age of each individual, and its fitness. There would be two populations:
> the normal "young" population, and one of "old" individuals that have
> found local maxima (passed a certain age). The rank for each "young"
> individual would depend on both its fitness and its similarity to the
> "old" individuals, with a penalty for greater similarity...

Interesting comments, noone to reply?
Yes, the simplest way to do it is to divide fitness of
each genotype by the sum of its similarities to all other
genotypes (thus making niches for "species"). I can't
find that in v2 settings, it shall be added.

M.