Hi all,
I apologize if this has been suggested, but I feel it would
be nice to generate an automatic family tree. To some
extent, you can do this manually by saving every million
steps or so, but it is quite difficult to do this.
I imagine you could have several levels of sophistication
for such a tree. A simple on that just has nodes and lines
to offspring would be interesting for a user who isn't too
involved. The next step up could include % of mutation
along the lines--a weighted family tree of sorts.
Finally, the ultimate would track the genotype and fitness
ratings. Of course, I realize that such a file could be
huge, but there are ways of limiting the size:
Don't include names, as they are of little import.
Track only the differences from parent to child. Simply set
up a little viewer for the file so that if a node is queried
for genotype, it reads the ancestors of the node to
determine the genotype.
Fitness ratings are more difficult to minimize, as they are
so specific. I'm not sure what to do about those.
It would also be a good idea to indicate if the parameters
are changed.
One unrelated feature I would add is automatic additional
testing for the upper and lower ends of the fitness scale.
It often seems somewhat arbitrary which fram is highest
rated, as there are so many factors. The lowest rated are
the worst of the two, especially if you have destructive
collisions on. If they are hit in their "wait4freeze"
period, that's it, regardless of how fit they may have been.
Perhaps it would be sufficient to simply not allow a fram to
enter the highest (respectively lowest) 10 ratings until it
has been simulated twice, or maybe even three times (No more
than 3, I imagine). I'm not sure how important this is for
the higher ratings, but I think it would be quite helpful
for the lower ratings.
I know this seems like it is tricking evolution in a way, as
any given life form only has one chance, but in reality,
populations are much larger, so to some extent, there often
is a second chance of sorts. Certainly not for the exact
same organism, but perhaps for a similar trait.
In the end, though, it probably doesn't matter much, as it's
ancestor is still on the list--probably. And to some
extent, I suppose that is why you can choose how often you
want to simulate a fram on the list, and how often you want
to simulate an ancestor. But I still think it might be a
nice option.
Thanks for the fun program,
Zach
P.S. What does "wait4freeze" mean? What exactly is
happening at that point? How about "wait4up"?