Darwinbots Forum

Bots and Simulations => Evolution and Internet Sharing Sims => Topic started by: Greven on June 13, 2005, 10:44:08 AM

Title: Evolution tale!
Post by: Greven on June 13, 2005, 10:44:08 AM
I have stated elsewere that I had never seen interesting behavior develop!
THIS IS NOT TRUE ANYMORE!!!!!!!!!!!!!!!!!!!1

I started a sim with the simplebot (without conspec gene) and alga minimalis.

The simplebot did mutate around 200,000 cycles to moving in long worm like lines when very little food was around (see picture)
Why? I am not certain on this one.

The alga did then evolve this one:

Code: [Select]
15 5 rnd storeinstead of
Code: [Select]
15 .aimdx store
This made the alga moving randomly around. This would seem silly, but this actually made an increase in survival, because suddenly it was harder for the bots to catch the random moving vegs, very interesting I think.

The bots counted this, by dropping the worm moving thing, and instead began to move slowlier than before, with some changes in the movement gene and the search pattern genes.

Then I would change a little in the settings, and I did set the cost for acceleration way to high, and all my bots died in a instant!  :(

Now I would like to know if the autosave works or if it is just the normale save function (did not set it, but I would like to know anyway, to lazy to try it out)!

And the autosave of the bestbot! Why is it in a stupid .dbo file you cant read to analyze? What about an option to select which format you what it in?
Title: Evolution tale!
Post by: shvarz on June 13, 2005, 10:52:26 AM
Interesting.

Quote
long worm like lines when very little food was around (see picture)
Why? I am not certain on this one.

How exactly did they move?  Could it be that they were just "running after food"?  If a bot is moving in a more or less straight line when it does not see anything and follows any bot that it sees, that would create these lines.

BTW, saving "best" bot is not the best idea - the bot with most offspring may happen to be just a bot that mutated a reproduction gene.  Saving "snapshot" makes much more sense.
Title: Evolution tale!
Post by: Numsgil on June 13, 2005, 10:57:37 AM
Quote
The alga did then evolve this one:

Code: [Select]
15 5 rnd storeinstead of
Code: [Select]
15 .aimdx store

I've seen this one develop too.  Randomly moving vegs are hard to catch.

Quote
Now I would like to know if the autosave works or if it is just the normale save function (did not set it, but I would like to know anyway, to lazy to try it out)!

Yep, they both use the same routines.

Quote
And the autosave of the bestbot! Why is it in a stupid .dbo file you cant read to analyze? What about an option to select which format you what it in?

The .dbo file lets you save whole organisms, such as multibots, which is something that DNA files can't do.
Title: Evolution tale!
Post by: Greven on June 13, 2005, 11:08:47 AM
Regarding .dbo files:
The file is not normal text! It is binary, which I can not read! :)

And the straight lines:
This maybe true, this would explain alot, but I think it is rather intersting anyway, because it seem that this helped the bots to survive when there were no food!!??

I know it is not the "bestbot", but you know what I'm talking about, right?
Title: Evolution tale!
Post by: Numsgil on June 13, 2005, 11:10:35 AM
Quote
Regarding .dbo files:
The file is not normal text! It is binary, which I can not read! smile.gif

Is that a suggestion?   ;)
Title: Evolution tale!
Post by: Greven on June 13, 2005, 11:13:32 AM
Both Yyyyyyessss and nooo!!!!  ;) :)
Title: Evolution tale!
Post by: Botsareus on June 13, 2005, 01:17:50 PM
Solution: write an extention file reader for .dbo files !?
a new little program maybe!?
Title: Evolution tale!
Post by: Old Henk on June 14, 2005, 07:07:32 AM
Quote
BTW, saving "best" bot is not the best idea - the bot with most offspring may happen to be just a bot that mutated a reproduction gene.
How about adding this to the DNA scripts instead of the 'save-the-bot-with-the-most-descendants' command?

IF
bot X hasTHEN
...

 :outahere:

Henk
Title: Evolution tale!
Post by: Numsgil on June 14, 2005, 07:12:30 AM
All this good stuff for the scripts to handle.  If done right they can allow alot of mixing and matching of useful bits to let you control the simulation how you want to.
Title: Evolution tale!
Post by: Botsareus on June 14, 2005, 12:55:23 PM
Yea don't worry about me Henk , I have the backups of that source code when I need it... :help:



On the other hand adding scripts is a good idea. But I need the form1.fittest to still work. Maybe you can run the scripts thorogh that little function? That also means that the scripts must load with the settings file.
Title: Evolution tale!
Post by: Endy on June 17, 2005, 04:08:35 AM
It possible to just add an autosave best bot feature for SB's which saves the dna as a txt file instead?

That darned rnd, seems like one of the most useful things the bots evolve. Strangest thing :)

Endy B)
Title: Evolution tale!
Post by: Greven on June 17, 2005, 06:25:35 AM
Actually it is not strange, becuase it leads to unpredictable behavior, which turns out to be very difficult for the normale bots to predict ;)
Title: Evolution tale!
Post by: Botsareus on June 17, 2005, 10:31:12 AM
Here is what I am doing, After 5000 cycles my virsion of DB program is set up to call on save best bot , witch is the form1.fittest function , after that the program restarts and evolves some new bots from the best bot then does the same test again.

Therefor you guys can add what ever you want but keep my find best button there please. Its very importent for selective breathers like me.
Title: Evolution tale!
Post by: PurpleYouko on June 17, 2005, 10:46:07 AM
How about we give your "find best bot" routine a few more options too?
Title: Evolution tale!
Post by: Numsgil on June 17, 2005, 10:59:41 AM
"Find best" doesn't actually find the best bot.  As shvarz pointed out, it could capture a cancerous bot.

A better option would be to allow customization of what the "best bot" is in some kind of formula the user can set.

Like .kill + .body/10 + .nrg / 100 or something like that.
Title: Evolution tale!
Post by: Shen on June 17, 2005, 11:02:21 AM
IMO the best bot is the one which has the most energy invested in nrg+body+offspring. A users formlua would be a good one though, just make it simple if you can for us dummies :)
Title: Evolution tale!
Post by: shvarz on June 17, 2005, 12:50:26 PM
The best way would be to take snapshot, analyze the genomes and save the most frequent.
But customization's good too :)
Title: Evolution tale!
Post by: Shen on June 17, 2005, 05:44:42 PM
I wouldnt agree with the most frequent being the best. In my sims bots tend to increase the nrg required for reproduction, so higher nrg bots would be better but less frequent and thus not be saved as the best.
Title: Evolution tale!
Post by: Botsareus on June 17, 2005, 06:19:39 PM
I agree that there must be a way to automatically find the bot with the most frequent dna, but considering the complexity of the issue I did not suggest it. Its like having to windiff each bot agenst every other bot. Then select the bot that has only the common code.

We can have it as 0- 100 (%) even , and put it into the new formula for costume find best settings.
Title: Evolution tale!
Post by: shvarz on June 17, 2005, 06:28:11 PM
Hm, Shen, that does not make much sense: if increasing "nrg required for repro" makes bots more fit, then they will outcompete the earlier bots and become more populous.  The only exception is if the mutation just appeared and did not have time to spread yet.  But then by the next snapshot these bots should dominate.

Actually, there is another exception - speciation.  If some bots evolve towards reproducing at lower nrg and having a lot of children and at the same time some bots evolve towards reproducing at higher nrg and having less children, then the "most populous" would be skewed towards the former bots.  But that would be a major breakthrough - I don't think anyone ever saw two different species of bots co-exisitng and co-evolving.  This would simply blow my mind!