Author Topic: Zerobot sims  (Read 20550 times)

Offline Zinc Avenger

  • Bot Builder
  • **
  • Posts: 56
    • View Profile
Zerobot sims
« Reply #15 on: November 28, 2006, 07:07:43 AM »
How about a cost for dna length during reproduction then? Subtract a rate dependent on dna length from the child's and parent's nrg and stupidly long dna suddenly becomes a lot less attractive - but not actually lethal.

Offline Zinc Avenger

  • Bot Builder
  • **
  • Posts: 56
    • View Profile
Zerobot sims
« Reply #16 on: November 28, 2006, 08:02:49 AM »
Okay, here's my current leading evolved bot from the sim described above.

else
1 1 15 store
12 0 0 -3 1 -32 start
add 23 *.robage 24 57 mult sub add .repro store
cond
start
0 and
1 -10 -24 angle 13 .up store
stop
9 1 1 -16 start
start
<
0 1 not
.shoot dec
rnd dist -7 -6 1 2 0 start
stop
-2 -1 - 8 0 1 1 *20 1 9 2 -16 0 stop
start
20 0 angle 8 13 0 1 11 & 23 -23 1 add cond
stop
else
1 1 1 *.up 0 -1 and
*.up 0 1 1 %=
else
start
16 add -1 0 30 start
1 -13 0 0 1 0 1 *-9 start
1 1 11 19 1 7 add and
store
.up inc
0 8 -1 *-18 start
1 0 angle 1 15 5 start
angle *-4 and
~ 0 *.up inc
sqr


Strangely, the repro command was placed in the middle of the dna, so either the reproduction commands migrated to the top of the dna somehow or a mutation wiped out the original repro instruction and later on created a new one higher up the dna in a sterile bot.

This bot reproduces every 1300 or so cycles, and it is being plunged into sims with slowly-increasing costs to try and temper it a little.

I think it overflows the value in .repro based on its age until it happens to hit a >0 value.

Offline Sprotiel

  • Bot Destroyer
  • ***
  • Posts: 135
    • View Profile
Zerobot sims
« Reply #17 on: November 28, 2006, 02:52:07 PM »
Quote from: Zinc Avenger

23 *.robage 24 57 mult sub add .repro store
That's fairly simple for evolved DNA: it means (23 + *.robage - (24 * 57)) .repro store, that is (*.robage - 1345) .repro store.

Simple and effective!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Zerobot sims
« Reply #18 on: November 28, 2006, 10:57:49 PM »
I agree.  That's a prime example of some mutated DNA at work.  It looks like it's trying to arrive at the magic 1000 number that would be the start of when it loses nrg.
« Last Edit: November 28, 2006, 10:58:47 PM by Numsgil »

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Zerobot sims
« Reply #19 on: November 29, 2006, 05:24:14 AM »
Quote from: Zinc Avenger
How about a cost for dna length during reproduction then? Subtract a rate dependent on dna length from the child's and parent's nrg and stupidly long dna suddenly becomes a lot less attractive - but not actually lethal.

Yeah, that might be even a better idea. It could be imagined as a complication to move all that DNA over to a new bot, kind of.  
The internet is corrupt and controlled by criminally minded people.

Offline Zinc Avenger

  • Bot Builder
  • **
  • Posts: 56
    • View Profile
Zerobot sims
« Reply #20 on: November 29, 2006, 07:02:08 AM »
Quote from: Numsgil
I agree.  That's a prime example of some mutated DNA at work.  It looks like it's trying to arrive at the magic 1000 number that would be the start of when it loses nrg.

Ah, that would also explain why it loses this trait fairly quickly when I put it into the second sim in which it isn't a veggie - it no longer has any reason to hold off for at least the first 1000 cycles. I was wondering why this particular bit of dna is so tenacious in the first sim but just evaporates in a few tens of thousands of cycles in the second one.

That's some comparatively sophisticated behaviour from a randomly evolved dna script. Now if only I could find a way to select for using eyes...

BTW, I've started referring to this type of carefully-managed environment sim as a "bonsai" - carefully managed simulations intended to evolve a particular behaviour or set of behaviours.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Zerobot sims
« Reply #21 on: November 29, 2006, 03:13:13 PM »
An appropriate term I think.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Zerobot sims
« Reply #22 on: November 29, 2006, 04:19:10 PM »
I got a bit curious in this zerobot thing and started a sim with "zeroveggie" that had just one gene:

cond
*.nrg 2000 >
start
50 .repro store
stop

And then a string of random numbers (just to give the evolution something to work with).

It took just 300,000 cycles to arrive to:

 stop
 *.nrg 2000 angle >
 start
 50 .repro store
 2 3 4 5 9 8 7 .aimleft store

So, they figured out pretty quickly the need to rotate for efficient reproduction
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Zerobot sims
« Reply #23 on: November 29, 2006, 04:41:11 PM »
Damn nice to see instances of intelligent mutations!

/me "the only way is up..."
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Zinc Avenger

  • Bot Builder
  • **
  • Posts: 56
    • View Profile
Zerobot sims
« Reply #24 on: December 01, 2006, 06:38:09 AM »
Okay, anyone got any ideas to come up with a sim to encourage development of some form of use for eyes?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Zerobot sims
« Reply #25 on: December 01, 2006, 11:40:05 PM »
I was just thinking the same thing.  I don't think I've ever seen a mutation that learned to use eyes.  Darwinbots isn't alone in this, I know other simulators have similar issues with their vision systems.

Part of the problem is that selecting for actions is pretty easy.  But eyes are senses instead of actions, and I'm not sure you can select for a sense.  Or if there's a way, I don't see it right away.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Zerobot sims
« Reply #26 on: December 01, 2006, 11:55:24 PM »
Quote from: Zinc Avenger
Okay, anyone got any ideas to come up with a sim to encourage development of some form of use for eyes?

Where do you want to start?  From a zero bot or maybe a hand coded bot just on the verge of using vision or somethign that can see but not well?

Maybe set up the physics and costs so that movement is super costly using a high "translational Bang" (movement) cost or perhaps maknig ties is super expesive or something like that which encourages the linkage of the expensive action to the eye values.  Don't move unless you see food, etc.
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Zerobot sims
« Reply #27 on: December 03, 2006, 08:46:37 AM »
Quote from: shvarz
I got a bit curious in this zerobot thing and started a sim with "zeroveggie" that had just one gene:

cond
*.nrg 2000 >
start
50 .repro store
stop

That's no zeroveggie. That's an alga minimalis kind. It should ONLY have zeros to start with.  
The internet is corrupt and controlled by criminally minded people.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Zerobot sims
« Reply #28 on: December 03, 2006, 12:00:20 PM »
Hm, how is it going to reproduce then?  It has to have at least repro gene for evolution.  It is pretty stupid to wait for evolution to happen if you don't have reproduction.

Anyway, my veggies learned to move now.  Here is a representative recent genome:

stop
 *297 pow >
 start
 65 .repro store
 sqr xor
 2 5 *-25 4 1 .dn store
 7 8 6 *-386 2 3 5 add 6 start
 store
 20 9 dist ~ 8 9 * * -5 -- 2 9 56 .shootval store
 store
 99
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Zerobot sims
« Reply #29 on: December 03, 2006, 01:46:15 PM »
Quote from: shvarz
Hm, how is it going to reproduce then?  It has to have at least repro gene for evolution.  It is pretty stupid to wait for evolution to happen if you don't have reproduction.

I was just pointing out what a zerobot is imo. With help of point mutation it will eventually mutate into a replicator. You can set the value of point mutation low in the beginning and then change to a higher value as soon as you got a good replicator. When this idea was brought up in the first place it was to see if a replicator could appear by itself.
« Last Edit: December 03, 2006, 01:48:18 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.