Author Topic: zerobot evolution  (Read 10040 times)

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
zerobot evolution
« 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

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
zerobot evolution
« Reply #1 on: August 18, 2008, 02:46:05 PM »
Heh, neat.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
zerobot evolution
« Reply #2 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.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
zerobot evolution
« Reply #3 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 ).

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
zerobot evolution
« Reply #4 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<

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
zerobot evolution
« Reply #5 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.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
zerobot evolution
« Reply #6 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?
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Cyberduke

  • Bot Builder
  • **
  • Posts: 88
    • View Profile
zerobot evolution
« Reply #7 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.
« Last Edit: October 13, 2008, 03:50:10 AM by Cyberduke »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
zerobot evolution
« Reply #8 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.
« Last Edit: October 13, 2008, 03:30:22 PM by Endy »

Offline Cyberduke

  • Bot Builder
  • **
  • Posts: 88
    • View Profile
zerobot evolution
« Reply #9 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]
« Last Edit: October 14, 2008, 03:06:04 AM by Cyberduke »

Offline Cyberduke

  • Bot Builder
  • **
  • Posts: 88
    • View Profile
zerobot evolution
« Reply #10 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.

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
zerobot evolution
« Reply #11 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

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
zerobot evolution
« Reply #12 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?

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
zerobot evolution
« Reply #13 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...
Oh my god, who the hell cares.

Offline Cyberduke

  • Bot Builder
  • **
  • Posts: 88
    • View Profile
zerobot evolution
« Reply #14 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.
« Last Edit: October 14, 2008, 02:39:45 PM by Cyberduke »