I made a bot to test mutation rates. Here is the code:
cond
*.robage 100 =
start
50 .repro store
stop
cond
1 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
2 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
3 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
4 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
5 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
6 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
7 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
8 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
9 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
cond
10 1 >
start
1 2 3 4 5 6 7 8 9 0
stop
end
Basically the bot is supposed to divide only once and then I could see what the "average mutations" graph was showing.
I set the rates so that it predicted 1:3 bots being mutated, run the sim and the graph showed ~.015. That sort of made sense, because 50% of bots were parents and 50% of bots had 1/3 of them mutated.
Then I increased the mutation rates so that it predicted 1:2 bots being mutated. The graph still showed ~.15. That was troubling.
Then I increased the mutation rates so that it predicted 1:1 bots being mutated. The graph showed ~2. Not 0.2, but 2. This is very weird. Something is screwy there. Or am I missing something?