Author Topic: Shortest Fully Functional Bot  (Read 14072 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #15 on: May 15, 2011, 03:27:05 PM »
Quote
Reproduce.  This should be controlled with some sort of condition.

Don't forget to check the original requirements.

Offline PhiNotPi

  • Bot Builder
  • **
  • Posts: 64
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #16 on: May 15, 2011, 09:25:59 PM »
This should work for a bot with 11 BP (It does in theory, but I haven't tested it). 
Code: [Select]
start
*.refvelup ++ .up store
*.refeye dec
*.nrg 222 floor inc 'possibly replace this with *.nrg .repro ceil inc

As the nrg rises, each sysvar is incremented until it reaches 300, or the repro sysvar.  The energy then becomes less than 300, and the cycle repeats.  The 222 floor is to protect the sysvars below 222.  This only works when the starting nrg is less than 300, because the bot would never reproduce.  I also considered *.nrg 300 ceil inc instead becuase it would reproduce whenever nrg was above 300, and there would be not risk of accidently skipping 300 nrg and not reproducing, but there would not longer be any protection of sysvars less than 222. Which one is better?  Both could have side affects in the bot's behavior.

With the "should be controlled with some sort of condition", I said that only to prevent .repro inc and other things that cause cancerous growth.  I never imagined that it would be possible to have a conditionless function that did not cause cancerous growth or destroy the bot's functionallity, and was shorter than five bp.  But since it may be possible to accomplish this with out a condition, I am going to allow conditionless reproduction as long as it is not cancerous and does not destroy functionality.

EDIT:  I have tested both *.nrg 222 floor inc and *.nrg .repro ceil inc.  Both cause terrible side effects.  The first one malfunctions when the bot accidently skips 300 energy, and does not reproduce and becomes massive, so the bot will never reproduce.  The second malfunctions when the bot triggers .fixpos, and the bot can no longer move.
« Last Edit: May 16, 2011, 02:22:05 PM by PhiNotPi »
I am biased neither towards nor against any single mathematical constant.

Offline SlyStalker

  • Bot Destroyer
  • ***
  • Posts: 132
  • nomnomnomnom
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #17 on: March 11, 2013, 01:50:08 AM »
how about seasnake? it is a very impressive MB (yes, multibot!!!) that has only 1 (yes, 1!!!) gene
Knowledge is knowing that a tomato is a fruit; Wisdom is not putting it in a fruit salad.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #18 on: March 12, 2013, 02:39:44 AM »
Yes but here we're counting base pairs/commands, not genes.  Seasnake is thousands of bps, if I remember right.

Offline SlyStalker

  • Bot Destroyer
  • ***
  • Posts: 132
  • nomnomnomnom
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #19 on: March 12, 2013, 03:01:36 AM »
DNA length? Ohh... i thought you mean genes  :blueblob:
Knowledge is knowing that a tomato is a fruit; Wisdom is not putting it in a fruit salad.

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 387
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #20 on: September 14, 2013, 01:16:39 AM »
ok i'm not new but i am at the same time to darwinbots, but i've been working on this challenge here recently (today) and i have a bot that fills the challenge requirements and is only 12

start
1 .up store                                 move up can be changed if needed 4 i would say is the max speed recomended
*.refeye .shoot ceil dec              shoot if vegi is in front
*.body .repro ceil inc                  reproduce if body is > 300

though it has to be a vegi with 7 eyes in the dna longer than the ones with 11 but they don't shoot. this bot does implement some of your guys ideas, unfortunately it likes to get stuck sometimes.

vegi i made:

cond
 *.nrg 5000 >
start
 50 .repro store
 10 .aimsx store
stop
cond
 *.eye5 0 =
 *.eye5 0 =
 *.eye5 0 =
 *.eye5 0 =
 *.eye5 0 =
 *.eye5 0 =
 *.eye5 0 =
end
« Last Edit: September 14, 2013, 01:51:06 AM by Shadowgod2 »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #21 on: September 14, 2013, 02:11:16 PM »
ehm, your vegy does not produce it's own chloroplasts.

Also, why the eye restrictions?
In any other simulation your feeder bot will refuse to eat...

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 387
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #22 on: September 14, 2013, 06:42:03 PM »
It's because it uses refeye => .shoot memory location 7 to id the veg, you could alter the veg as long as it has 7+ eyes and the last useless gene was because i had it in 1 gene but didn't reproduce, and i don't get the chloroplasts genes everyone is talking about, a little insight in that would be nice.

Offline Panda

  • Global Moderator
  • Bot Destroyer
  • *****
  • Posts: 476
  • Computer Science Undergraduate (nerd)
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #23 on: September 15, 2013, 06:03:11 AM »
I'm sure I can do a post about how the chloroplasts work at some point.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #24 on: September 15, 2013, 09:13:44 AM »
Quote
you could alter the veg as long as it has 7+ eyes

That was my point, any robot you design will be limited to a simulation where vegys have 7+ eyes ...  :)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #25 on: September 15, 2013, 09:24:45 AM »
Chloroplasts is our new Beta everyone is talking about, Get a copy from our Announcements section of the Forum (2.46Beta). It works very similar to other versions of the program. The only exception is for vegys you have to add a chloroplasts gene in order for them to be able to get energy from the sun. Here is a simple gene you can use:

cond
  *.chlr
  16000
  <
start
160 .mkchlr store
stop

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 387
    • View Profile
Re: Shortest Fully Functional Bot
« Reply #26 on: September 15, 2013, 12:54:49 PM »
thanks for the beta and the mutation check in the neural bot challenge too never would have thought of it :)