Darwinbots Forum
Code center => Suggestions => Topic started by: Numsgil on April 16, 2006, 06:38:27 PM
-
This is my attempt to create a comparison of core features with Avida, specifically what Avida has that DB does not that I think might be useful. I'm ignoring non core features (thigns like batch mode, events, etc.) for the moment. I'd like people to comment on what they thibnk about each one. I'll periodically update the list as I get further into my research.
- Two stacks - Avida appears to be able to switch between two different stacks during DNA execution
- Option to have an orgamism "reset" after reproduction. In Darwinbots terms this would mean clearing out the parent bot's memory and mutating the DNA, effectively making the mother bot give birth to 2 child bots and immediatly die.
- Avida implicitly gives a delay between an organism's attempt at reproduction and the success thereof.
That's all I could find that were meaningful. The two stacks one is the most interesting, though I'm not sure I can come up with a reason why you'd need two stacks.
-
(oops a little error sneaked in, edit in red)
Good... It is important to note that Avida organisms can NOT move, eat or do much other compared with Darwinbots.
An Avida bot "strictly" codes for the reproduction gene, some experiments have been made to make the bots compute various things. Num if you want any info or a little discussion about the topic I will be glad to help. I have toyed alot with Avida, íncluding made a close rewrite of it in VB.
-
As I see it Avida and Darwinbots are based on different programming war games.
Avida comes from the Core War legacy, whereas Darwinbots comes from a C Robot legacy.
While they aren't strictly comparable, there are some areas that are close enough. Mutations, for instance.
-
I dont know much about either Core War or C Robot's, but I have some ideas what they are. Avida were based on Tierra, which true enough, were based more or less on Core War. Tierra's problem were they there were no form of locality, and distance "organisms" could interact with each other, and Avida made locality possible and more.
-
The even bigger change in my opinion from Tierra to Avida was that each organism got their own memory address space and thus took the first steps towards phenotypic abstraction. In Tierra, like Core Wars, all the organims inhabited the same address space and genotypes interacted directly without any intermediate abstractions such as a body. There as no morphology. The genotype and the phneotype were pretty much the same. Avida took steps towards a phenotype abstraction by seperating the address spaces and providing true virtyual machines for each entity and any interaction was via abstractions though the focus is mostly about externally defined fitness tests (makes for more quantiative measurments of fitness and hence cleaner papers) and not evolving abitrary fitness by having morphs compete in a simulated environment for limited resources.
DB is even father ahead on separating genotype and phentotype though a lot of things things like viruses and memory shots and refsysvars still operate directly upon the geneotype.
-
I was thinking about genotype vs. phenotypes in Darwinbots and came to this conclusion:
except for dynamic sizes (which is fairly recent) all bots are pretty much the same physically. There might be some differences in venom, poison, etc. but generally a bots' phenotype is defined entirely by its behavior.
Just an interesting observation.
-
I disagree in part. Think about mass and waste and ties and shots and shell and slime. All phenotypic abstractions. A tie bot and a shot bot are each very different not just in behaviour but in morphology. The fact that we don't have fancy graphics to make each one of these visually distinctive is beside the point. Each of these is an abstraction above and beyond the DNA. We could decide bots should just poke values at each others memory locations, but wheres the fun in that? I think we have a lot more morphology than you think. It will only get better once multi-bots become the norm.
-
Hm, I see your point. Maybe I should say behavior is more of a part of the phenotype of a bot than it is with real organisms. You have a hard time discerning Animal Minimalis from Ymir unless you watch them (or chaeat and look at the DNA).
-
The even bigger change in my opinion from Tierra to Avida was that each organism got their own memory address space and thus took the first steps towards phenotypic abstraction. In Tierra, like Core Wars, all the organims inhabited the same address space and genotypes interacted directly without any intermediate abstractions such as a body. There as no morphology. The genotype and the phneotype were pretty much the same. Avida took steps towards a phenotype abstraction by seperating the address spaces and providing true virtyual machines for each entity and any interaction was via abstractions though the focus is mostly about externally defined fitness tests (makes for more quantiative measurments of fitness and hence cleaner papers) and not evolving abitrary fitness by having morphs compete in a simulated environment for limited resources.
DB is even father ahead on separating genotype and phentotype though a lot of things things like viruses and memory shots and refsysvars still operate directly upon the geneotype.
That is actully what I meant by locality, just with a bit more words