Difference between revisions of "Zerobot"

From WikiManual
Jump to: navigation, search
m (better code)
Line 4: Line 4:
 
Other Zerobot Dna:
 
Other Zerobot Dna:
  
<nowiki>
+
<code>
cond  
+
cond
start  
+
start
 
  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 
  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
stop  
+
stop
</nowiki>
+
</code>
 +
 
  
 
== Numbers of Bots: ==
 
== Numbers of Bots: ==

Revision as of 01:26, 4 May 2007

A zerobot sim (sometimes called ex nihilo) starts using a bot with as little information as possible. Traditionally these bots would contain all zeros. An example:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Other Zerobot Dna:

cond
start
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
stop


Numbers of Bots:

To start I'd recommend a large number of bots between 60 and 100.

This increases the chances that at least one of them will evolve dna code that allows self reproduction.

Settings

There's no single 'best' setting for evolving a zerobot. I'll try to describe some of what I've seen work and what I've heard from others working.

Zerobot Feeding

Personally I use feeder veggies that both feed and initially force reproduction upon the zerobots. Some other methods include the zerobots themselves starting as veggies, feeder veggies with manual reproduction, and simply waiting. In the last case the Zerobots will not replicate at first. Eventually point mutations will create a replicator, and natural selection may start. It has been observed to take some time with this method for the first replicators to appear.

Physics

This is where it gets tricky. There's an endless variety of settings that'll support the evolution of a self reproducer.

Endy's Method

I'll normally start with a high gravity, high brownian motion, high global mutation rate, non-torroidal enviroment. Basically this clumps the bots together with their feeder veggies at the bottom, while the brownian motion ensures the bots are distributed randomly for feeding. The bots being tightly grouped together provides an additional bennefit, since the effects of their random mutations can spill over onto the other bots via shots or ties. The high initial mutation rates ensure that tons of random dna is generated each reproduction event, some of this is bound to produce bots that can reproduce by themselves.

Then you proceed to make their enviroment more challenging as they evolve to meet the basic challenges. Once the bots achieve basic self reproduction I'll restart with those bots, swapping out the Feeder/Repro'er veggie with a strict Feeder veggie and decreasing the mutation rates. This'll wean them off any dependency on the plants for reproduction and the mutation rate reduction will stabalize their evolution. Next I wait until they learn to feed by themselves with semi-random nrg sharing or shots. Then I'll swap the veggies out again with a regular veggie so that the bots truly have to fend for themselves. When the bots evolve the ability to deliberatly move, I change Brownian motion to zero, so the ability is encouraged.

Each time the bots meet their current challenges, they find even harder challenges ahead. Best results from ex nihilo sims usually require constant tinkering.

Links:

Zerobot Veggies