Every bot has a guarenteed unique ID (guarenteed unique in a single sim. Not necessarily guarenteed uinique in teleporter connected multi-sims like internet mode. Not yet that is. I'll work on it.).
For every extant bot I now maintain an orderred ancestor list of unique IDs for the last 100 ancestors and the number of mutations each ancestor had at the time it spawned the next descendent in the line leading to the extant bot.
I have implemented some routines internally that can find the most recent common ancestor of any two extant bots and determine the gentic distance between them. (Well, okay. Not actually genetic distance per se. I'm not actually comparing the genomes and determining how they differ. Rather, by distance here I mean the number of mutations that seperate them on both lines of descent. I walk up one side of the phylogeny and down the other and add up number of mutations at each generation. I have no way to know if those mutations impacted expression or not, were in coding regions or not, were large or small, etc.) Also, viruses complicate things as does non-asexual reproduction, but lets put those aside for a momnet.
I'm soliciting suggestions as to what to do with this information now that I have it. What do people want to know or what features do people want to see that leverages this?
Fair warning, some things may be computationally expensive. I had thought of a graph that showed for each species the maximum genetic distance within the species. This number climbing from a mean might indicate a speciation event. But this graph would involve m(n^2) genetic distance compares (I think) where m is the number of speceis and n is the number of individuals/species for every data point. I'm working on ideas to short cut this, but stiil, yuck.
Another thing I'm working towards is automatic species forking based on genetic distance. If someone wants to do some deep thinking about when and how to effeciently recognize actual speciation, that would be helpful.
Other ideas are also welcome. Things that operate from a single bot will be much more effecient than species wide graphs. e.g. a graph that charts the average genetic distance to the oldest bot of a species is way way more effeceint than the one I mention above.
And yes, I have plans to dump this to a CSV file for massaging in Excel, etc.