Author Topic: Mutation values  (Read 5305 times)

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Mutation values
« on: April 12, 2006, 05:28:04 PM »
I was wondering if it whould be too much work changing the mutation settings so ALL values put in here whould be per bot per cycle, except for the ones where the bot must divide itself for a mutation to take effect. There it must be per copy, I guess. It whould be easier to comprehend. I don't understand what per bp means for instance.
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation values
« Reply #1 on: April 12, 2006, 06:16:52 PM »
BP means base pair, which is a single unit in the DNA.

Most mutation rates only make sense if you do per BP instead of per bot.  If you do them as per bot, you're ending up with bots with huge DNAs having relatively lower mutation rates than bots with smaller DNAs.

For instance, I think most humans have like 18 or 20 mutations during reproduction.  Humans also have billions of BPs.  Animal Minimalis having 20 mutations per reproduction is going to fall apart.

If you look at the "Mutation Summations" it gives a good guess at the actual mutation rate for the bot during reproduction per BP.  If you want to know the liklihood a mutation for that bot, you need to do:

1 - (1-per BP %)^(DNA length)

Of course, that's only during reproduction.

For the point mutations, you need to do:

1 - (1 - per BP per cycle %)^(DNA length * number of cycles in question)

to get a percent chance to mutate over any given length of time.

Here's the page on Avida's Mutations, which 2.4's mutation rates are somewhat modeled after: http://www.krl.caltech.edu/~charles/avida/...l/mutation.html
« Last Edit: April 12, 2006, 06:17:13 PM by Numsgil »

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Mutation values
« Reply #2 on: April 13, 2006, 10:08:39 AM »
Ok, I have a problem with math, so this is hard for me to follow. I read the info on the link but there it looks like high values are high mutation rates, while in Darwinbots it's the other way around. For instance it says that a population can survive values of up to 500 in point mutation rates. I have that set to 100 000 now. Maybe I need to change that value when I get bots that starts to reproduce. Right now point mutations are the only ones that happens in the sim. The default value here is 5000 000.

By the way, what does this slider represents that says 'Change type - change value'?
« Last Edit: April 13, 2006, 10:12:08 AM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation values
« Reply #3 on: April 13, 2006, 11:45:12 AM »
Avida and Darwinbots are dissimilar enough that mutation rates aren't really going to be on par with each other.  Darwinbot DNA is usually much longer, which generally means higher mutation rates are allowable.

Also, Avida uses a straight up %, whereas Darwibots uses 1 in X.  Basically a 10 in Avida might be a 100000 in Darwinbots.

Really, your best bet is just to play with the values and let the sim run for a few thousand cycles and see if you like what the mutation rate seems to be.

The change type-change value has to do with mutations that change an existing BP.  A type is something like number, *number, command, logical operator, flow, etc.  A value represents a specific example of that type.  .aimdx, *.aimdx, or, stop, etc.

Changing a value will tend to keep the DNA working similarly to how it was before.  Changing a type totally changes the way the DNA works.  For instance:

6 .aimdx store

mutating into

500 .aimdx store

is far more similar than

add .aimdx store

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Mutation values
« Reply #4 on: April 13, 2006, 12:22:55 PM »
So if I pull the slider towards change type it will cause more random crazyness in the genes, is that correct? I mean if the slider is set all the way to the left than anything can be put into the genes when it mutates? If that's so then maybe it is a good idea to change the slider more to the left in this kind of sim I'm running (starting with simplest possible bots), to make something interesting happen without having to wait forever.
« Last Edit: April 13, 2006, 12:24:03 PM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation values
« Reply #5 on: April 13, 2006, 12:57:56 PM »
Yes, I would recommend evolving type and value about equally if you're starting with nothing.  Probably more towards type if your genome is all 0s.

When a command's type is mutated, it's value doesn't change.  That means that if "add" gets mutated into a number it will get mutated into the same number every time.