Author Topic: Simplest Evo Starter Bot  (Read 44613 times)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Simplest Evo Starter Bot
« Reply #90 on: April 24, 2006, 05:26:21 PM »
Yeah, the yellow shots are poison.

For some reason bots, even alga_minimalis, will occasionally gain poison; even though they're not coded to make it. Probably an obscure bug, doesn't seem to mess up attackers much so not too much of an issue.

Did you check the childrens' body levels? if these are too low they'll die rapidly.
« Last Edit: April 24, 2006, 05:28:39 PM by Endy »

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Simplest Evo Starter Bot
« Reply #91 on: April 27, 2006, 10:03:44 AM »
I got a weird veggie here. It swims round and round sideways over the screen. I'm not sure if this could be a bug or a genetic defect.

 store
 6 start
 inc
 & and
 rnd .sx dec
 stop

''''''''''''''''''''''''Gene  0: Last 'stop' at position  10''''''''''''''''''''''',

 angle cond
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #92 on: April 27, 2006, 11:37:02 AM »
no, that looks capable.

It's basically doing:

.aimsx inc
.sx dec

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #93 on: May 01, 2006, 02:12:38 PM »
I've been doing some 'ex nihlo' sims of my own in the new 2.42.3b

I started with a long string of zeros

After a much accelerated period of point mutation, I've got one that replicates:

 add not
 -23 0 -- -21 -12 =
 *-4 dec
 dup 30 *.aim -15 47 0 -10 sub *.aimright -9 35 inc
 else
 -- -- 25 and
 ceil or
 23 47 -4 mod *-13 | or
 -16 pyth <
 <
 angle *.up -13 ^ *-6 ~=
 19 sgn -18 cond
 or
 *.shoot stop
 dec
 3 ~ or
 4 16 store
 29 & floor not
 cond
 angle 10 *-2 %=
 dec
 cond
 angle dup or
 -8 pyth start
 or
 7 -21 & 27 -22 28 !=
 -12 ~=
 %=
 10 %=
26 -10 -60 mult >> and
 store

 ~ xor
 -38 -16 pow else
 18 ~ << ^ >
 8 *25 17 -2 6 and
 ^ 9 or
 31 -7 *-2 rnd or
 pyth <
 angle *-3 *-8 not
 ~ xor
 !%=
 | !=
 else
 and
 dec
 stop

''''''''''''''''''''''''Gene  3: Last 'stop' at position  137''''''''''''''''''''''',

 27 floor ^ 4 33 else
 2 and
 -28 10 & angle !=
 7 angle inc
 36 store
 -11 30 57 start
 - -9 -10 -8 abs and
 -8 ~ mult !~=
 and
 -27 | 23 4 1 52 -42 & -14 cond
 2 >> dist 33 pyth 26 store
 -- 13 abs -39 ~ -14 10 -12 -8 *.timer stop
 else
 -22 >> or
 -- else
 - * -12 8 cond
 floor store
 ~=
 *-4 ^ xor
 *-7 -22 6 *.shoot and
 5 *-4 18 -50 *0 -13 >
 dec
 !~=
 -20 << 6 -11 pyth floor -4 *.up and
 -23 start
 or
 sqr *-4 mult *.dx -11 19 -34 abs dec
 ^ store
 mult 8 else
 and
 -43 !~=
 dec
 pow mult -50 3 4 -8 *.shootval *-12 22 else
 -2 *-18 -7 ~ pyth sqr 0 xor
 dup -24 -- else
 sqr *0 angle 4 *0 else
 ~ sgn add 14 3 ceil sgn -6 sqr store
 -9 -6 store
 26 add *-3 3 4 4 mult -10 cond
 -9 -12 sqr !~=
 -22 div *.mass -11 11 0 ^ -20 ++ -6 22 0 floor 3 !~=
 ~ -44 *.sx start
 not
 -11 32 and
 3 -37 store
 or
 33 4 cond
 floor not
 -13 sgn -37 and
 or
 23 | >
 | -6 ~ -30 2 5 -3 22 15 *26 store
 dist -1 -6 *.dn 30 *.aimleft >=
 xor
 -2 *17 store
 dec
 sqr 9 dist store
 7 dup or
 -22 -5 store
 xor
 -3 pyth -32 28 17 -43 -2 -41 -19 store
 angle !%=
 << stop
 -16 38 -- add 5 -21 ~ *-2 14 -20 11 1 ++ xor
 -11 !%=
 - add dup 13 -18 -2 7 31 3 rnd -6 *42 -25 -1 -- -23 -19 1 add 11 else
 and
 floor 23 floor 10 <
 *.setaim -36 -9 .dx dec
 inc
 div <
 15 *.aim 2 stop
 *15 sqr add >> 13 -10 7 7 3 cond
 | 6 31 4 50 -18 angle 9 %=
 2 6 -27 and
 1 -21 .mass inc
 -4 -1 -11 -37 11 else
 1 mult -12 *.mass -31 1 <=
 <=
 -3 -- 15 -13 store
 %=
 *-6 inc
 xor
 -30 not
 6 -24 *-13 8 -33 12 11 -2 -8 -3 6 start
 -9 pow *38 0 not
 inc
 store
 ~ -11 7 rnd -5 -4 0 start
 -2 *-7 -6 ceil -8 7 *.up <
 *.aimright 60 -38 angle -5 add 12 -- -3 mult !~=
 36 start
 -7 dist -2 | pow add mod else
 rnd 4 -1 not
 pow -17 6 .dn store
 store
 -7 pow inc
 angle - 5 -36 sgn add ceil 7 -5 0 and
 -5 -1 else
 -21 *-24 7 add *0 17 sqr -2 -33 -40 -15 23 *.dn 9 12 abs else
 dec
 start
 sqr add !%=
 14 ceil *14
« Last Edit: May 02, 2006, 12:47:52 PM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #94 on: May 01, 2006, 03:28:45 PM »
Holy crap that is an intense genome

Nice work.  What sort of behavior is it exhibiting?  Controlled reproduction?  Is it a veg?
« Last Edit: May 01, 2006, 03:29:46 PM by Numsgil »

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #95 on: May 01, 2006, 03:38:10 PM »
Unfortunately, it's cancerous. It just reproduces like mad
I tried to evolve it but it just lost it's ability to reproduce. If anyone else want's to try an evosim with it then go ahead.

I have no idea what else it could do, or why it's reproducing in the first place  

I'm just sort of experimenting with the new release  
I'm trying another accelerated ex nihlo evosim with a shorter genome at the moment

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #96 on: May 01, 2006, 03:51:25 PM »
I think you'll need to see several abortive replicators before a good one develops.  Realistically I think you'd need to run a sim with medium mutation rates for ~10 Million cycles to see even a very, very basic bot develop.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #97 on: May 02, 2006, 12:26:58 PM »
I've been 'dissecting' the replicator that I evolved line by line

This is the self-replication code:

 start
 26 -10 -60 mult >> store

EDIT: I've highlighted the section it came from in my earlier post of the bot
« Last Edit: May 02, 2006, 12:46:56 PM by Elite »

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #98 on: May 02, 2006, 01:41:00 PM »
I'm running a full Ex Nihlo sim now in 2.42.3

It's like Testlund's sim but without planet eaters, slightly smaller, and no costs

I've got a script to pause the sim as soon as a .repro command appears but I hope that as soon as one does it will start to evolve via natural selection and feed off the vegs.

Up to 200,000cy so far ...

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #99 on: May 02, 2006, 01:46:04 PM »
Quote from: Elite
I've been 'dissecting' the replicator that I evolved line by line

This is the self-replication code:

 start
 26 -10 -60 mult >> store

EDIT: I've highlighted the section it came from in my earlier post of the bot

 Yep that would do it:
 
 -10 * -60 = 600
 
 600 >> = 600 / 2 = 300 = .repro

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #100 on: May 02, 2006, 03:21:41 PM »
Wow:

Code: [Select]
-6 .shoot store
 sqr -5 13 -2 << or
 -2 <
 16 | 1 sqr 16 -12 add

The first line looks a bit coherent. If it had a 'start' it would work, but unfortunately it doesn't

Nearly 500,000cy and counting ...

Two of my bots have managed to find a way to die, despite there not being any costs  
I suspect that they may have come too close to a bot that learned how to shoot

EDIT: Woo, 500,000 cycles
« Last Edit: May 03, 2006, 02:43:59 AM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #101 on: May 02, 2006, 07:15:44 PM »
Quote from: Elite
Two of my bots have managed to find a way to die, despite there not being any costs

 Life will find a way
 
 I would make the bots as vegs, but give them 0 energy per turn.  Just have them repopulate when they die.  You'll never have to restart the simulation, and the bots still have an infinite supply of food if they ever learn to eat anything.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Simplest Evo Starter Bot
« Reply #102 on: May 02, 2006, 08:15:06 PM »
The more zeros you have in the genome the greater the probability that a bot will eventually evolve to a functioning bot. I started a new evosim too with the 2.42.3a version. Been running it for 940000 cycles now. I don't use planet eaters this time because I want my veggies to be spread over the screen in case some bot develop the ability to feed. It seems that it's hardest to get a bot that can feed properly. Everyonce in awhile I get a bot that produces a little offspring, but it doesn't continue.

This time around I started with bots with only zeros like before but I gave the veggies a little more genes to work with.

My bot genes:

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

My veggie genes:

cond
.nrg
0
0
start
0
0
0
0
0
0
stop
end

 
« Last Edit: May 02, 2006, 08:16:04 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simplest Evo Starter Bot
« Reply #103 on: May 02, 2006, 10:02:39 PM »
In 2.5 I have it so that negative shots are modded by 10.  That is, -11 = -1.

I also modded positive info shots by 1000.

The idea being that the shot type is sort of like a rotary bit changer, and if you rotate it too much you're rotated around in a complete circle.

Might be a good idea to add that to 2.4 as well.  Would definately make it more likely that a feeder would develop.

Evolution is terrible at finding one specific value if none of the other values are meaningful.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Simplest Evo Starter Bot
« Reply #104 on: May 03, 2006, 02:30:57 AM »
Damn, pressed the wrong button and overwrote my sim  

I think I'll run a really long one all today with the setting I saved
I'll use your suggestion to make the bots into vegs too

***

150,000cy

It's going much faster with no vegs

***

25 mins into the sim

250,000cy
« Last Edit: May 03, 2006, 02:54:13 AM by Elite »