Author Topic: 2.43 mutation frequency RESOLVED (BY DESIGN)  (Read 2751 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
2.43 mutation frequency RESOLVED (BY DESIGN)
« on: January 03, 2008, 01:11:49 PM »
From what I understand the mutation code is a mess.  I think Nums worked on it some, but I remember him complaining a lot about it

Anyway, I think it's worth just going through it one more time. Mutations are quite weird in my sims. Look at this log, types of mutations seem to come in non-randomly for some reason:

Quote
Infected with virus of length  58 during cycle  1936091 at pos  1138
Infected with virus of length  62 during cycle  1936063 at pos  61
Point Mutation changed number from 50 to 52 at position 1667 during cycle 1935913
Minor Deletion deleted a run of 1 bps at position 1894 during cycle 1935789
Minor Deletion deleted a run of 1 bps at position 1474 during cycle 1935789
Minor Deletion deleted a run of 1 bps at position 1152 during cycle 1935789
Minor Deletion deleted a run of 1 bps at position 273 during cycle 1935789
Minor Deletion deleted a run of 1 bps at position 190 during cycle 1935789
Major Deletion deleted a run of 4 bps at position 2009 during cycle 1935789
Major Deletion deleted a run of 2 bps at position 1952 during cycle 1935789
Major Deletion deleted a run of 3 bps at position 1160 during cycle 1935789
Major Deletion deleted a run of 3 bps at position 897 during cycle 1935789
Major Deletion deleted a run of 3 bps at position 575 during cycle 1935789
Reversal of 5bps centered at  1866 during cycle 1935789
Reversal of 3bps centered at  1370 during cycle 1935789
Reversal of 3bps centered at  1283 during cycle 1935789
Reversal of 5bps centered at  1239 during cycle 1935789
Reversal of 3bps centered at  1172 during cycle 1935789
Reversal of 3bps centered at  946 during cycle 1935789
Insertion changed the :  to the store command: inc at position 1859 during cycle 1935789
Insertion changed the :  to the condition: < at position 1416 during cycle 1935789
Insertion changed the :  to the number: 137 at position 1372 during cycle 1935789
Insertion changed the :  to the number: 551 at position 1213 during cycle 1935789
Insertion changed the :  to the basic command: add at position 618 during cycle 1935789
Insertion changed the :  to the advanced command: angle at position 96 during cycle 1935789
Copy Error changed *number from 200 to 212 at position 1944 during cycle 1935789
Copy Error changed number from 340 to 364 at position 1594 during cycle 1935789
Copy Error changed value of condition from != to = at position 223 during cycle 1935789
Copy Error changed value of condition from = to > at position 84 during cycle 1935789
Minor Deletion deleted a run of 1 bps at position 1378 during cycle 1935066
Minor Deletion deleted a run of 1 bps at position 1142 during cycle 1935066
Minor Deletion deleted a run of 1 bps at position 879 during cycle 1935066
Minor Deletion deleted a run of 1 bps at position 543 during cycle 1935066
Minor Deletion deleted a run of 1 bps at position 37 during cycle 1935066
Major Deletion deleted a run of 3 bps at position 1855 during cycle 1935066
Major Deletion deleted a run of 4 bps at position 881 during cycle 1935066
Major Deletion deleted a run of 3 bps at position 609 during cycle 1935066
Major Deletion deleted a run of 5 bps at position 495 during cycle 1935066
Major Deletion deleted a run of 3 bps at position 342 during cycle 1935066
Reversal of 5bps centered at  1154 during cycle 1935066
Reversal of 3bps centered at  1127 during cycle 1935066
Reversal of 3bps centered at  933 during cycle 1935066
Reversal of 3bps centered at  286 during cycle 1935066
Insertion changed the :  to the store command: store at position 1687 during cycle 1935066
Insertion changed the :  to the condition: < at position 1440 during cycle 1935066
Insertion changed the :  to the basic command: add at position 941 during cycle 1935066
Insertion changed the :  to the logic operator: dupbool at position 920 during cycle 1935066
Insertion changed the :  to the store command: store at position 402 during cycle 1935066
Copy Error changed value of store command from store to inc at position 1827 during cycle 1935066
Copy Error changed value of condition from = to > at position 859 during cycle 1935066
Copy Error changed value of logic operator from and to true at position 557 during cycle 1935066
Copy Error changed *number from 341 to 330 at position 287 during cycle 1935066
Copy Error changed number from 1 to-6 at position 212 during cycle 1935066
Copy Error changed number from 335 to 330 at position 115 during cycle 1935066
Point Mutation changed number from 3 to 4 at position 376 during cycle 1934730
Reversal of 3bps centered at  1479 during cycle 1934620
Insertion changed the :  to the bit command: ++ at position 1810 during cycle 1934620
Infected with virus of length  58 during cycle  1934054 at pos  1744
Infected with virus of length  58 during cycle  1933929 at pos  717
Copy Error changed number from 0 to 1 at position 800 during cycle 1933360
Infected with virus of length  58 during cycle  1933358 at pos  1281
Point Mutation changed the condition: != to the advanced command: floor at position 1056 during cycle 1932897
Minor Deletion deleted a run of 1 bps at position 1426 during cycle 1932744
Major Deletion deleted a run of 4 bps at position 1257 during cycle 1932744
Reversal of 3bps centered at  1714 during cycle 1930503
Reversal of 3bps centered at  1571 during cycle 1930503
Point Mutation changed the *number: *.thisgene to the logic operator: and at position 521 during cycle 1930393
Point Mutation changed *number from 341 to 348 at position 1601 during cycle 1930264
Point Mutation changed *number from 802 to 885 at position 1016 during cycle 1929822
Minor Deletion deleted a run of 1 bps at position 1439 during cycle 1929736
Major Deletion deleted a run of 2 bps at position 107 during cycle 1929736
Reversal of 5bps centered at  740 during cycle 1839267
Infected with virus of length  60 during cycle  1838822
Major Deletion deleted a run of 3 bps at position 1780 during cycle 1838704
Reversal of 3bps centered at  145 during cycle 1838704
Point Mutation changed value of condition from = to %= at position 501 during cycle 1838673
Point Mutation changed value of store command from store to inc at position 751 during cycle 1837882
Major Deletion deleted a run of 2 bps at position 495 during cycle 1837871
Insertion changed the :  to the condition: < at position 1724 during cycle 1837871
Point Mutation changed number from 0 to 1 at position 347 during cycle 1835562
Point Mutation changed number from 314 to 326 at position 255 during cycle 1835304
Infected with virus of length  61 during cycle  1834793
Infected with virus of length  61 during cycle  1834217
Infected with virus of length  61 during cycle  1833982
Minor Deletion deleted a run of 1 bps at position 1243 during cycle 1804197
Insertion changed the :  to the advanced command: angle at position 1038 during cycle 1804197
Point Mutation changed value of store command from store to inc at position 717 during cycle 1803148
Infected with virus of length  61 during cycle  1802338
Infected with virus of length  61 during cycle  1802218
Point Mutation changed number from 340 to 281 at position 815 during cycle 1801646
Copy Error changed value of store command from store to dec at position 434 during cycle 1800840
Copy Error changed number from 340 to 342 at position 338 during cycle 1799744
Infected with virus of length  61 during cycle  1799444
Insertion changed the :  to the logic operator: and at position 1245 during cycle 1798835
Copy Error changed value of store command from store to dec at position 853 during cycle 1798835
Infected with virus of length  60 during cycle  1798780
Infected with virus of length  61 during cycle  1797665
Copy Error changed *number from 728 to 746 at position 877 during cycle 1797662
Point Mutation changed number from 6 to 15 at position 493 during cycle 1796618
Infected with virus of length  61 during cycle  1796151
Infected with virus of length  61 during cycle  1796053
Infected with virus of length  61 during cycle  1795425
Infected with virus of length  61 during cycle  1795008
Copy Error changed the number: .delgene to the condition: < at position 707 during cycle 1794858
Reversal of 5bps centered at  568 during cycle 1794135
Point Mutation changed *number from 341 to 294 at position 50 during cycle 1793874
Infected with virus of length  61 during cycle  1793649
Point Mutation changed the condition: > to the flow command: start at position 127 during cycle 1792847
Infected with virus of length  61 during cycle  1792008
Infected with virus of length  8 during cycle  1791466
Infected with virus of length  61 during cycle  1790598
Major Deletion deleted a run of 2 bps at position 258 during cycle 1789042
Insertion changed the :  to the flow command: cond at position 559 during cycle 1789042
Infected with virus of length  61 during cycle  1788598
Reversal of 5bps centered at  68 during cycle 1788256
Copy Error changed the store command: store to the condition: < at position 160 during cycle 1788256
Reversal of 3bps centered at  217 during cycle 1787672
Point Mutation changed the number: .up to the logic operator: and at position 387 during cycle 1787411
Infected with virus of length  61 during cycle  1786771
Point Mutation changed *number from 341 to 239 at position 92 during cycle 1785858
Infected with virus of length  61 during cycle  1785229
Infected with virus of length  61 during cycle  1785106
Reversal of 3bps centered at  506 during cycle 1784173
Insertion changed the :  to the flow command: cond at position 451 during cycle 1783538
Copy Error changed number from 6 to 3 at position 13 during cycle 1783538
Infected with virus of length  61 during cycle  1783424
Infected with virus of length  58 during cycle  1783316
Infected with virus of length  61 during cycle  1782079
Infected with virus of length  61 during cycle  1781928
Infected with virus of length  61 during cycle  1781836
Infected with virus of length  58 during cycle  1781524
Infected with virus of length  58 during cycle  1781397
Infected with virus of length  61 during cycle  1779883
Infected with virus of length  61 during cycle  1779787
Point Mutation changed value of condition from > to ~= at position 4 during cycle 1776971
Insertion changed the :  to the logic operator: and at position 77 during cycle 1775914
Point Mutation changed the flow command: stop to the bit command: ^ at position 118 during cycle 1768348
Minor Deletion deleted a run of 1 bps at position 62 during cycle 1767969
« Last Edit: January 12, 2008, 02:45:49 PM by EricL »
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
2.43 mutation frequency RESOLVED (BY DESIGN)
« Reply #1 on: January 12, 2008, 02:45:20 PM »
I do plan to go through the mutation code in detail at some point, but I've done a little investigation on this.  What is happening here is that the probability of certain types of mutations has mutated (via a "Delta Mutation" not in the list above) to the point where the probability is high enough that more than one mutation of that type occurs during reproduction for longer genomes.  For these types of mutations, the code walks through each base pair of the offspring at reproduction time, rolls the dice and performs the mutation if the dice say to do so.  This is why you see the string of identical mutation types all happening on the same cycle but on monotomically increasing positions in the genome.  An ancestor bot reproduced that cycle and several mutations of the same type occurred at that point in time (but at different positions in the genome).  All the recent virus infections have lengthened the genome to the point where this is more apparent.

I'm going to resolve this specific bug as By Design since the code appears to be working as intended.  If you have suggestions for changes on the way mutations should work, I would love to see those in the Suggestions forum.  And as above, I will take a detailed walk through this area of the code at some point.  In particular, adding some notion of locality to mutation probability so that different parts of the genome can have different mutation rates is something I have long wanted to add.
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
2.43 mutation frequency RESOLVED (BY DESIGN)
« Reply #2 on: January 17, 2008, 12:54:22 AM »
Quote
For these types of mutations, the code walks through each base pair of the offspring at reproduction time, rolls the dice and performs the mutation if the dice say to do so.

This is exactly how it should be. I just did not notice that all of the mutations happened on the same cycle. If there is a bug, it's somewhere in my head  
"Never underestimate the power of stupid things in big numbers" - Serious Sam