Author Topic: Evo sim nrg supply post replicator emergence  (Read 3599 times)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Evo sim nrg supply post replicator emergence
« on: January 01, 2007, 10:17:23 PM »
In my expereince it takes about 10 million cycles before a replicator emerges in a typical zerobot sim.  Until this time, there is little need to supply zerobots with an nrg supply.  One can set the costs to zero and since the bots arn't reporducing (yet) they don't use any nrg (unless a mutation causes them to shoot nrg shots or similar).

But once replication emerges, bots require nrg.  Even with zero costs, some nrg must be given to the offspring and at some stage, you will want costs to provide some selection pressure.  An evo sim that doesn't provide some way for these primitve bots to replace the nrg lost in reproduction won't go very far.

Just having a bunch of veggies in the sim isn't sufficient.  There's a big difference between a first replicator that can barely reproduce and a replicator that can also effeciently graze veggies.  I presume that many millions of cycles seperate the two in evolutionary time (I've yet to evolve a zerobot into something that can both reproduce and graze effeciently).  Oh sure, if you wait long enough, some bots will mutate to shoot all the time, some of these will be firing nrg feeding shots, they will bump into veggies occasionally and the result will be a few free-floating nrg shots.  Nrg transfer from autotrophs to hetertrophs will occur, but slowly, ever so slowly.  Over time, reproductive nrg will be replaced.  But I'm not that pateint.  I want fast reproduction with lots of generations so evolution proceeds quicker.  To facilitate this, I want a lot of free nrg in the sim so that reproductive losses can be replaced quickly (but not so fast that grazing provides no advantage).

Some people use autotrophs, but I want to evolve hetertrophs where there is selective pressure to forage and hunt.

Everlasting nrg shots seems like a good way to provide nrg to fledgling replicators.  Chance impacts will provide enough nrg intake to allow the most primitive replicator to replenish the nrg lost in reproduction yet leave plenty of room for evolving better strategies.  But how to provide the shots?  

For a while, I added some simple veggies to the sim ( in addition to my 'normal' DNA disable3d veggies) that had a single gene that continiously fired nrg shots.  This worked well, but eventually the veggies mutated, stopped firing and started reproducing.  Being an autotroph is a tremendous advantage.  The only thing stopping my veggies from taking over the sim and out competing my zerobot hetertophs was the veggy population controls.  I did want veggies in the sim, as a future food source that my zerobots might eventually evolve to utilize directly, but I wanted them dumb and non-mutating, ideally with disabled DNA for maximum sim speed.

I was also looking for a feedback mechanism that would keep the nrg shot density in the sim relatively constant.  Too many shots spikes the population and slows down the sim.  Too few and the repoduction rate isn't what I want.

What I ended up doing is using DNA disabled veggies with a veggy feeding method that is 100% body combined with corpse mode, everlasting nrg shots and an aging cost (not too high) that kicks in after 100,000 cycles.   What happens is that veggies max out their body but their only nrg intake is from random nrg shot impacts, so their nrg intake rate is the same (on average) as the hetertrophs but they can't reproduce, mutate, move or do much else.   Since their DNA is disabled, the aging cost is the only cost that effects them (version 2.42.9s and beyond - in prior versions even the aging cost has no effect on bots with disalbed DNA).  So, they die sometime after the aging cost kicks in.  When they do die, their fat, decaying corpses supply the sim with nrg shots and new veggies get repopulated to replace them.  During life, they provide grazing targets for my hetrotrophs should they ever evolve the capabilities to take advatange of them.  The 100k cycle aging cost doesn't bother the hetertrophs since I want fast generation times and any zerobot >100k cycles old tends to be a big bertha anyway, hording it's nrg and not reproducing.  Evolution doesn't mind if it gets killed off post 100k cycles.

Now, the neat part is the feedback loop.  If the nrg desinity is high, the random nrg shot impacts supply the older veggies with enough incoming nrg to stay ahead of the aging cost for longer.  Fewer veggies dying results in fewer corpses decaying and nrg density drops off.  If the nrg density is too low, the aging cost kills more and faster, more veggies die, more fat corpses decaying means more nrg shots in the sim.  Neat huh?

I'm still playing with the varibles - feeding rate, aging cost value and kick in point, etc. - but it seems to work pretty well.  What I hope is that there will be a natural progression at some point where as soon as the hetertrophs learn to kill veggies before 100k cycles of life (they arn't getting any nrg from the sun, only from shot impacts, so even simple tactics may work) the free nrg density in the sim will naturally decline since the veggy corpses will have less body and result in fewer nrg shots than had they died later in life.
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #1 on: January 02, 2007, 03:39:33 AM »
Interesting. I will give this a try on my new computer later when you've taken care of that corpse bug I reported.  
The internet is corrupt and controlled by criminally minded people.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #2 on: January 03, 2007, 04:42:08 AM »
Ok, I've been thinking about what you have explained here, but I don't understand how there will be veggies around to keep feeding the sim. If they are all the same and have their dna disabled then logically they whould all die at the same exact cycle turning all into corpses. First there whouldn't be any energy at all for a long time, then suddenly the whole sim whould be full of energy shots until they are all consumed by the heterotrophs. Then I think even the heterotrophs whould start to die out.
« Last Edit: January 03, 2007, 04:43:59 AM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #3 on: January 03, 2007, 06:43:46 AM »
Alright, I got it now.  

I just made a simple autotroph that will shoot energy when it gets over 10000. No other functions. I call it 'NRG Provider'. Then I use the veggie treshold function to keep the population between 450 and 500. It seems to work well together with day/night cycles set so the sun goes down if energy reaches above 23 million.
I started the sim with 500 heterotrophs with 13 zeros in the dna. I use my favorite costs together with an ageing cost that start at 100000 cycles with increase cost(log age) selected. I'm going to run two instances connected with teleporters for increased speed. I'll see how it goes.
« Last Edit: January 03, 2007, 06:45:20 AM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #4 on: January 03, 2007, 12:58:49 PM »
Nice trick, I'm gonna try it now.  How do you make the shots to be everlasting?  Can't find it in options.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #5 on: January 03, 2007, 01:06:42 PM »
It's in the menu strip somewhere.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #6 on: January 03, 2007, 01:10:40 PM »
Got it!  But since it is not in "options" does it get saved when you save the sim?

Also, my veggies now have hugely negative energy but they don't die.  What's up with that?  Their age does not increase either - it stays at 0.
« Last Edit: January 03, 2007, 01:12:14 PM by shvarz »
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Evo sim nrg supply post replicator emergence
« Reply #7 on: January 03, 2007, 02:15:56 PM »
The everlasting nrg shot option does indeed get saved in sim files.  It got moved off the options dialog since I hit the VB control limit for a single dialog.  (Nums, I tried using control arrays to work around this, but the limit seems to apply whether the controls are part of a control array or not.)

The negative nrg thing with DNA disabled veggies is a bug.  I'm still working out exactly what Disabled DNA organisms should and should not do.  In 2.42.9s, I (wrongly) don't call call ManageDeath() for DNA disabled organisms.  They don't die.  Fixed in 2.42.9t.

FYI, if you want to use an aging cost that starts at a much earlier age (or none at all) the same trick I describe above works with a body upkeep cost as well.  Set the autotropic nrg intake to all (or mostly) body and the body upkeep cost such that it will outstrip the incoming veggy nrg at some point.  Veggies build such large bodies over time compared to most hetertophs that the upkeep cost can be used to kill them over time one their bodies get big, creating a source of nrg shots in the sime, without doing much damage to hetertrophs that generally have much smaller bodies.
Many beers....