Darwinbots Forum

Bots and Simulations => Simulation Emporium => Topic started by: ikke on August 18, 2008, 01:36:53 PM

Title: zerobot evolution
Post by: ikke on August 18, 2008, 01:36:53 PM
I did my first zerobot evo sim, starting out with 500 1000 bp long zerobots (actually the numbers 1-1000 ascending). I had dynamic cost enabled, allowing to go negative. After someting like 2 M cycles the numbers started increasing: reproduction. I reseeded the five most successfull strains in a new sim with veggies. After 1.5 M cycles a strain developed binding with ties. Sheer excitement brought me to the decision to go for the second reseed. The tie strain was destined to evolve into something interesting.

Things went not quite the way I thought they would: the tiebots were sterile. The gene could either reproduce or form ties, with (point)mutations apparently flopping them from one version to the other. Sterile tiebots keept popping up. Then the ties dissapeared. All this with Costx going positive and negative, and basically feeding the bots. The breakthrough came when shooting evolved. Costx went up and life (both feeding and reproducing) took over the sim.  Ties were gone

Now at 2.4 M cycles the bots tie, shoot and reproduce. Apparently some of the tie genome has been activated again. You don't have to be a crack shot if the game is tied to the barrel of your gun. Genome length is halved from 1000 to 500 Bp, without cost associated to genome length.

Attached the sim in its current state
Title: zerobot evolution
Post by: Numsgil on August 18, 2008, 02:46:05 PM
Heh, neat.
Title: zerobot evolution
Post by: ikke on October 01, 2008, 10:01:27 AM
A short update on the sim. The sim has been subjected to costX and I have increased the field size several times, so food has become more scarce.
@5,5 M cycles the once 1000 bp genome has shrunk to 150 BP and seems to have settled at that number. There is still about 10-15 BP in inactive genes. So I expect asymptotic behaviour toward about 140 BP. Apparently this is the required number for the functionality the bot genome has: reproduction, movement tieing and shooting. Of course there is still junk code in the DNA, but an equilibrium between (non crippling) insertions and deletions means the length is constant.

Initially the bots would tie everything to everything and proliferate in a section of the sim. Local availability of food would collapse and so would the bot population. Now bots are more mobile or maybe just less fixed, so the effect has lessened. As for interesting behaviour I am still looking for a moment to go and watch if tie forming is conditional or not. Having evolved from a zerobot the code is unreadable to me.
Title: zerobot evolution
Post by: Numsgil on October 01, 2008, 01:59:31 PM
Post a sample bot.  At 150 BP it might not be too bad (or it might be really bad ).
Title: zerobot evolution
Post by: ikke on October 05, 2008, 12:47:21 PM
here it is
Code: [Select]
'#generation: 2666
'#mutations: 1368
 *20 -2 clearbool
 dupbool
 angle -- 37 36 *53 overbool
 *112 768 pyth 73 angle floor 131 clearbool
 div >=
 dec
 mult start
 .pleas dec
 div ~=
 184 165
''''''''''''''''''''''''  Gene:  1 Ends at position  29  ''''''''''''''''''''''' else
 dup 276 ^ 394 .setboy dec
 swap -789 269
''''''''''''''''''''''''  Gene:  2 Ends at position  39  ''''''''''''''''''''''' start
 302 *.trefbody rnd ceil .tie inc
 mult store
 rnd !%=
 ++
''''''''''''''''''''''''  Gene:  3 Ends at position  51  ''''''''''''''''''''''' start
 overbool
 =
 swapbool
 414 422 -117 575 ++ clearbool
 true
 clearbool
 *15 or
 429 443
''''''''''''''''''''''''  Gene:  4 Ends at position  67  ''''''''''''''''''''''' start
 436 675 567
''''''''''''''''''''''''  Gene:  5 Ends at position  71  ''''''''''''''''''''''' start
 570 607
''''''''''''''''''''''''  Gene:  6 Ends at position  74  ''''''''''''''''''''''' cond
 74 not
 ^ =
 swapbool
 643 787 else
 angle 845 sqr >> >> dec
 sqr -7 * store
 821 -- *911 297 827 >=
 drop and
 907 1020 *719 <
 784 ceil *190 196 948 812 overbool
 776 >=
 sqr inc
 -292 897 mult 812 sub 818 870 22 *.mysx 485 rnd store
 << abs
''''''''''''''''''''''''  Gene:  7 Ends at position  130  ''''''''''''''''''''''' cond
 !=
 863''''''''''''''''''''''''  Gene:  8 Ends at position  133  '''''''''''''''''''''''

'#hash: Mwy$O>y9Rz[am2#|J,7<
Title: zerobot evolution
Post by: Numsgil on October 05, 2008, 05:23:17 PM
It doesn't look like anything's really conditional except:

*.mysx 485 rnd store this stores non 0 values in to the first several sysvars depending on if it's moving sideways or not.

The other two I noticed:
.tie inc (forms ties) and 845 sqr >> >> dec (fire -1 shots) seem to always happen.
Title: zerobot evolution
Post by: bacillus on October 13, 2008, 12:52:52 AM
So, any summaries on how to get the best results for an evosim using a laptop with lowish performance and a problem with DB having an overflow error every hour or so?
Title: zerobot evolution
Post by: Cyberduke on October 13, 2008, 03:32:04 AM
Quote
So, any summaries on how to get the best results for an evosim using a laptop with lowish performance and a problem with DB having an overflow error every hour or so?
I don't know, but I feel your pain, it really feels like something you want to just put on a spare pc and leave for a few days/weeks/months and come back to every so often to see how it’s getting on, but it doesn’t stay up and running for more than a day, sometimes only a few hours.
And on my last sim despite still having the option to ‘reset when all bots have died’ on, I came back to my pc to find it had crashed and the last 10 saves (30 mins apart) had no bots just veggies left.

Quote
Initially the bots would tie everything to everything and proliferate in a section of the sim. Local availability of food would collapse and so would the bot population. Now bots are more mobile or maybe just less fixed, so the effect has lessened. As for interesting behaviour I am still looking for a moment to go and watch if tie forming is conditional or not. Having evolved from a zerobot the code is unreadable to me.
Heh, mine have done exactly the same, they just all tie-up in one big webbed swarming mass as they munch though a field of veggies and then when they are done, as they die back some break-away and scatter to find more food. A few come across a new patch and it starts over.  Without a large map with multiple veggie patches the population just spikes and then crashes down to extinction.

I am trying to get the veggies to disperse more into lots of smaller clumps to encourage a foraging behaviour instead of one big feeding frenzy then relying on numbers and random luck that one of them comes across a new patch. And I have the auto costs set to the slowest increment so it tries to provide a very small but gradual increase in pressure with emphases on things like tie cost.
Title: zerobot evolution
Post by: Endy on October 13, 2008, 03:20:07 PM
Normally I'll use a few zerobot veggies with point mutations set to 1 to rapidly generate the initial dna. After the useful dna builds up, I keep an eye out for any bots that develop shooting or feeding and then change point mutations to the default to make sure the trait doesn't go away.

I'll start them out as normal bots, with a few veggies providing nrg via sharenrg/ties and reproduction via memshots. Brownian motion is set to high and the sim is torroidal to help them initially find food. After awhile I'll reduce the amount of brownian motion and encourage the evolution of normal movement.

I've taken to using another bot to force the zerobots to produce "viruses" to duplicate useful dna. Have to be careful to avoid cross contamination, but it can considerably speed up evolution. I used it once with my own bot to duplicate it's movement dna, letting me ween them off sharefeeding. I used it again to mix one of Ikke's zerobot's reproductive dna and my zerobot's, letting them self reproduce.

Currently trying to slowly raise costs for them, they're operating under near F1 conditions with a veggie similar to Alga_Minimalis for food.

Not sure why you're getting overflow errors, haven't had any myself for awhile.

Quote
Heh, mine have done exactly the same, they just all tie-up in one big webbed swarming mass as they munch though a field of veggies and then when they are done, as they die back some break-away and scatter to find more food. A few come across a new patch and it starts over

Are your bots actually moving by themselves? I've noticed alot of the bots tend to over-rely on ties and veggies for motion and don't go searching for food themselves.
Title: zerobot evolution
Post by: Cyberduke on October 14, 2008, 01:10:46 AM
Here is the error I am getting, sometimes the sim will run for days, other times only minutes, as in this case.
[attachment=1041:Error2.jpg]

Also in my zerobot evo sim, all the graphs have stopped reporting on my bot? I have tried restarting the graphs, forking the species, saving and re starting the sim.
[attachment=1042:No_Population.png]
Title: zerobot evolution
Post by: Cyberduke on October 14, 2008, 03:17:04 AM
And another thing...  

If I pick a field size of 14 I think it is (the one that suddenly jumps considerably in size).
My sim just hangs after a few minutes, every time I have tried it.

I might try saving the DNA and re-installing tonight I think.
BTW, I am using vista x64.
Title: zerobot evolution
Post by: ikke on October 14, 2008, 11:10:28 AM
Probably just dumb luck, but I don't recognise the errors. I use a PC I bought 4 years ago and it was bottom of the barrel when I bought it, so I think it qualifies as lowish performance. Cant help other than by giving my settings. At this moment I have 400 bots and 850 veggies in the sim which is size 13
Title: zerobot evolution
Post by: Numsgil on October 14, 2008, 01:40:46 PM
Hmm, I don't think anyone's given DB a go in a 64 bit platform.  It shouldn't matter, but the VB run times were written a long time ago, and maybe 64 bitness breaks it in subtle ways?  Is there a way to run the program in 32 bit mode?
Title: zerobot evolution
Post by: Peter on October 14, 2008, 02:05:15 PM
Well, the simplest thing I can think of is installing a 32bit OS.

I didn't had the problem when I had vista on this computer. But I'm not sure if that was 64-bit...
Title: zerobot evolution
Post by: Cyberduke on October 14, 2008, 02:38:01 PM
Ahhhhhh.
I just used the 2.43 installer rather than the 2.1 and copied the 2.44 exe back in
and now I get some new options in  the settings, and the problem seems to have has gone away

So either the new installer does a better job, or the 2.44 exe changed in the last few weeks since I d/l it last time.
Title: zerobot evolution
Post by: Numsgil on October 14, 2008, 02:46:18 PM
That's weird, because I think it was Peter had trouble with the 2.4X installer and had to use the 2.1 version.  
Title: zerobot evolution
Post by: Peter on October 14, 2008, 03:04:22 PM
Quote from: Numsgil
That's weird, because I think it was Peter had trouble with the 2.4X installer and had to use the 2.1 version.  
Uh, when. Did I had trouble with the 2.4x installer.  
Title: zerobot evolution
Post by: Numsgil on October 14, 2008, 03:28:33 PM
Wasn't you then   I can't find the topic, but someone was having problems trying to install the program on another computer, and it was a 2.4X installer issue.
Title: zerobot evolution
Post by: Peter on October 14, 2008, 03:36:03 PM
Oh wait, maybe could be in the 2.4 installer topic. I made a remark there that I couldn't install on school-computer. I doubt if I could with a 2.1-installer.

Jep this topic. Was this what you meant. (http://www.darwinbots.com/Forum/index.php?showtopic=2820&view=findpost&p=1377728)
Title: zerobot evolution
Post by: Numsgil on October 14, 2008, 04:27:32 PM
No, I think this was just in the last day or two.  I said something like "well, try to use the 2.1 installer and see what happens".
Title: zerobot evolution
Post by: Peter on October 14, 2008, 05:20:25 PM
This is what you mean, it wasn't me  (http://www.darwinbots.com/Forum/index.php?showtopic=2949&view=findpost&p=1378311)
Title: zerobot evolution
Post by: Numsgil on October 14, 2008, 06:48:41 PM
Ah, yes, that's it.  Note to self: jknilinux  != peter
Title: zerobot evolution
Post by: ikke on October 29, 2008, 06:27:17 AM
Update on the sim at 8.9 m cycles. First of all I was very, very wrong with my statements regarding DNA length: the genome has shrunk to 98 and has levelled off again. I’m not predicting what the final length will be.
I have turned dynamic cost off. I raise manually. The bots are evolving in a very clear manner: since they have to stumble across a veggie (no eyesight) sporeforming is an effective strategy. With more, smaller bots the chances of one of them hitting the jackpot increases. For constant total energy the number of bots keeps rising. When I raise costx the number drops. Over time it increases again.
When I raise costx too fast the bots will go extinct within a number of generations (the environment changes too rapidly for evolution). If I raise in smaller steps, eventually going beyond the point where I put costx at originally, bots have adapted and survive. The bots can adapt to pressure but not to a shock.
Attached the sim
Title: zerobot evolution
Post by: Cyberduke on October 29, 2008, 10:19:05 AM
That sounds very similar to what happened in my zerobot sim, very low energy (150) bots that would wonder about and try to tie to everything, (though after increasing tie costs, while they still tie it would only be to one object at a time) I was still trying to figure out their conspec but they would only shoot veggies they have tied too, and when feeding they reproduced.
So when a bot came across a veggie it would latch on and feed while spewing out lots of offspring in the hope that one of them would then come across some more food.

I have put that aside now and have started a mutation sim with alga and animal minimalis, so far at 12M cycles (only about 350 bots) and they showing much more interesting behaviour.