Author Topic: Automatic Zerobot evolution  (Read 6655 times)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Automatic Zerobot evolution
« on: July 06, 2014, 03:01:31 PM »
Let me know what kind of results people get in different settings.
Automatic Zerobot evolution is available from global settings under evolution tab latest version.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #1 on: July 08, 2014, 11:04:52 AM »
I don't understand the evolution formula. What exactly will the numbers here do?
The internet is corrupt and controlled by criminally minded people.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #2 on: July 11, 2014, 03:57:59 PM »
What numbers specifically? For zerobot you should only configure the initial size, all other settings are for a different evolution mode. I May have to go trough these and make sure options get disabled that are not used by a specific mode.

The 'auto-algorithm' is pretty straight forward:

Start 50 by 50 mutating and base robots
Once a mutating robot is doing well save it stage1 ..stage2 ..stage3 ..etc.
Test this robot if it is making it by itself w/o mutations
If not, restart with both robots but replace them with later stages (anything from 16 stages ago to now can be reinserted)
The core idea here is that findbest's based on energy vs. based on population ratio is 4:1  where most of the time the program chooses only based on population but sometimes it chooses only based on energy. This forces the stage results to generally be more toward population, but eventually due to how the robots are peered up, the system produces interesting results.

Also note that 50 was chosen for the smallest field. At larger fields the population is also larger.

Finally, some times a whole species 'base' or 'mutate' population gets cut by half. In this case the program is instructed to reinsert some robots. But on every reinsert the amount of robots to be reinserted goes down. This is kinda like a half life effect from physics. Eventually, the program will give up and choose other starting robots.

Let me also note that this ideas are not really original, I just took all zerobot evolution methods talked about on the forum and merged them into one.
« Last Edit: July 11, 2014, 04:27:14 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #3 on: July 11, 2014, 04:24:18 PM »
Just as I thought, I already configured that. As soon as you check the zerobot option the other frame goes away. Then just click "ok" on everything and let program (hopefully) restart.

For initial length (which is the actual amount of zeros) I use a value of 255
The go to mutations tabs and I would just enable everything here.
For DNA length * at the button I would put 107 (that means that the initial mutation rates are 255 * 107 = 27285
For Delta2 cycle interval I have chosen 1000. That means point mutations mutate (yes, the mutations themselves change) every 1000 cycles of the robot's life.

Other then that, there should not be a need to configure anything else.

edit: Please configure the mutations first, because after you click ok with one of the modes enabled everything will autorestart.
« Last Edit: July 11, 2014, 04:39:18 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #4 on: July 11, 2014, 09:27:15 PM »
I think I understand where your confusion is coming from. Instead of hiding unused frames, I should start with no frames shown and only show the useful frames. That is the UI design pattern I used before. Had a little design slip there.

Other then that you should also check out log0 file. The 'Mx' means Max from the findbest function. That is the result of a calculation for findbest for the best robot. Two 'GoodTest' on the same robot within 50 cycles (that means back to back 'GoodTest') constitutes to save and configure another stage.

Sorry for the confusion, looks like I'll be working on the UI a little.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #5 on: July 12, 2014, 09:34:29 AM »
I'm sorry for my noob questions. My mind just shuts down when confronted with math language.  :P

Quote
For initial length (which is the actual amount of zeros) I use a value of 255

Edit: So if my zerobot has 32 zeros I should enter 32 here?

You once recommended these values shown in the picture, so I've been using these. OK, this is a little more clear now. I'll give it some testing.  :)

Quote
I think I understand where your confusion is coming from. Instead of hiding unused frames, I should start with no frames shown and only show the useful frames.

Yes, this was slightly confusing at first, but it becomes clear when clicking the check boxes.
« Last Edit: July 12, 2014, 10:20:31 AM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #6 on: July 14, 2014, 01:43:31 PM »
On the "Mutations" tab on "Global Settings"; what does the number in "Delta2 for what to change" do exactly?
The internet is corrupt and controlled by criminally minded people.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #7 on: July 15, 2014, 12:10:31 PM »
That specific one effects the "what to change, typ. ot val.?" in standard (not V2) mutations, specifically the point(original) and copyerror (original)

It needed better language a long time ago. I just can not think of anything creative. Wana help?
« Last Edit: July 15, 2014, 12:19:17 PM by Botsareus »

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #8 on: July 15, 2014, 02:15:03 PM »
That specific one effects the "what to change, typ. ot val.?" in standard (not V2) mutations, specifically the point(original) and copyerror (original)

Yes, but what does the number stand for? Is it a sysvar, mutation rate or line of code?   :unsure:

Quote
It needed better language a long time ago. I just can not think of anything creative. Wana help?

Help with something not involving programming?  Maybe.  :)
The internet is corrupt and controlled by criminally minded people.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #9 on: July 15, 2014, 02:40:52 PM »
Okey, lets say it was set to +- 15. That means on every robot's reproduction it changes the value in the red circle in the attached picy by increasing it or decreasing it by up to 15. Now, all my delta2 to mutations usually happen on reproduction which imo is a big improvement over what we had before. The only exception being for point and point2 mutations.

Another thing to note that I should have mentioned a while ago. Mrepro works a little differently with delta2 mutations, it simply repeats the mutation process including above between 2 more and 4 more times then normal. Classic mrepro works the way it always did.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #10 on: July 15, 2014, 03:21:39 PM »
In that case I think what it says is fine, but how about a pop-up when you hold the mouse over it that says: "Oscillation between type and value."
The internet is corrupt and controlled by criminally minded people.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #11 on: July 19, 2014, 03:13:42 PM »
Just one more question...

I don't understand the difference between "DNA length" and "Slowest rate DNA length" on the Mutations tab, Global Settings.

What do the numbers do here on what and when?
The internet is corrupt and controlled by criminally minded people.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #12 on: July 19, 2014, 03:19:25 PM »
Just one question before I reply, did you know it was corrupt or not?

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Automatic Zerobot evolution
« Reply #13 on: July 19, 2014, 03:23:03 PM »
Actually, I do not even care.

Slowest possible rate is the upper cap on DNA mutation rates. It is calculated by multiplying by the length of the robots DNA by a value provided.

DNA length is an overwrite from earlier versions of DB where the default mutation rates was fixed at 5K. It is also calculated now by multiplying the current robots initial DNA length by the value provided.

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Re: Automatic Zerobot evolution
« Reply #14 on: July 19, 2014, 03:30:53 PM »
Just one question before I reply, did you know it was corrupt or not?

No corruption that I'm aware of yet.

Quote
Slowest possible rate is the upper cap on DNA mutation rates.

Will it oscillate up to that or is it just a counter on how many mutations to allow?
The internet is corrupt and controlled by criminally minded people.