Printable Version of Topic
-Antievolution.org Discussion Board
+--Forum: After the Bar Closes...
+---Topic: Evolutionary Computation started by Wesley R. Elsberry
Posted by: Wesley R. Elsberry on Mar. 17 2009,11:00
This thread is for comments on evolutionary computation.
Posted by: Wesley R. Elsberry on Mar. 17 2009,11:15
"weasel" math
Given:
Base set size K (number of possible characters at each position)
Target string length L
Mutation rate (per site) u
Population size N
here are some basic probabilities to go with a "weasel" run.
Per base:
Pincorrect to correct = 1 / K
Pcorrect to incorrect = (K - 1) / K
Blind search:
Ptry is all correct = K-L
Pa try in the population is all correct = N * K-L
Expected number of correct bases when all bases are changed = L / K
Expected number of correct bases when a genome is produced via copy with mutation = u * L / K
In "weasel" run:
Expected number of correct bases given a partially matching string: Given C as number of correct matching bases
expected correct bases after mutation = C + (u * (L - C) / K) - (u * C * (K - 1) / K)
There's a few more items to derive to pull in the population parameter, but I need to go now.
Edit: Equations for Ptry is all correct and dependencies per PT comment by Mike Elzinga.
Posted by: Wesley R. Elsberry on Mar. 18 2009,11:03
More "weasel" math
Probability that a candidate will retain all the correct letters from its parent: (1 - (u * (k - 1) / k))C
Posted by: Richardthughes on Mar. 18 2009,11:24
Can you derive an optimal mutation rate?
Posted by: Wesley R. Elsberry on Mar. 18 2009,11:47
Quote (Richardthughes @ Mar. 18 2009,11:24) | Can you derive an optimal mutation rate? ---------------------QUOTE-------------------
I'll have to think about that some. Later.
Posted by: Wesley R. Elsberry on Mar. 18 2009,13:19
More "weasel" math:
Probability of a candidate changing a parent's correct base to an incorrect base = PCandidate_C2I =
(1 - (1 - (u * (K - 1) / K))C)
Probability that a population will have at least one candidate that preserves all the correct bases from the parent of the previous generation = PPopulation_C2C =
1 - (PCandidate_C2I )N
Checked via Monte Carlo methods, and using the N=50 and u=0.05 values that (IIRC) ROb was often using:
---------------------CODE SAMPLE-------------------
1000 runs, 00 correct : p_c2c calc = 1.00000, MC = 1.00000; p_c2i calc = 0.00000, MC = 0.00000
1000 runs, N=50, u=0.05000, K=27, C=0, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.00000
1000 runs, 01 correct : p_c2c calc = 0.95185, MC = 0.93800; p_c2i calc = 0.04815, MC = 0.06200
1000 runs, N=50, u=0.05000, K=27, C=1, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.04726
1000 runs, 02 correct : p_c2c calc = 0.90602, MC = 0.90400; p_c2i calc = 0.09398, MC = 0.09600
1000 runs, N=50, u=0.05000, K=27, C=2, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.09476
1000 runs, 03 correct : p_c2c calc = 0.86240, MC = 0.85900; p_c2i calc = 0.13760, MC = 0.14100
1000 runs, N=50, u=0.05000, K=27, C=3, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.13592
1000 runs, 04 correct : p_c2c calc = 0.82088, MC = 0.82400; p_c2i calc = 0.17912, MC = 0.17600
1000 runs, N=50, u=0.05000, K=27, C=4, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.17810
1000 runs, 05 correct : p_c2c calc = 0.78135, MC = 0.80400; p_c2i calc = 0.21865, MC = 0.19600
1000 runs, N=50, u=0.05000, K=27, C=5, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.21618
1000 runs, 06 correct : p_c2c calc = 0.74373, MC = 0.75900; p_c2i calc = 0.25627, MC = 0.24100
1000 runs, N=50, u=0.05000, K=27, C=6, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.25848
1000 runs, 07 correct : p_c2c calc = 0.70792, MC = 0.74400; p_c2i calc = 0.29208, MC = 0.25600
1000 runs, N=50, u=0.05000, K=27, C=7, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.29226
1000 runs, 08 correct : p_c2c calc = 0.67384, MC = 0.67200; p_c2i calc = 0.32616, MC = 0.32800
1000 runs, N=50, u=0.05000, K=27, C=8, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.32460
1000 runs, 09 correct : p_c2c calc = 0.64139, MC = 0.62100; p_c2i calc = 0.35861, MC = 0.37900
1000 runs, N=50, u=0.05000, K=27, C=9, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.36086
1000 runs, 10 correct : p_c2c calc = 0.61051, MC = 0.61000; p_c2i calc = 0.38949, MC = 0.39000
1000 runs, N=50, u=0.05000, K=27, C=10, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.38966
1000 runs, 11 correct : p_c2c calc = 0.58112, MC = 0.59500; p_c2i calc = 0.41888, MC = 0.40500
1000 runs, N=50, u=0.05000, K=27, C=11, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.42060
1000 runs, 12 correct : p_c2c calc = 0.55314, MC = 0.54600; p_c2i calc = 0.44686, MC = 0.45400
1000 runs, N=50, u=0.05000, K=27, C=12, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.44794
1000 runs, 13 correct : p_c2c calc = 0.52650, MC = 0.52000; p_c2i calc = 0.47350, MC = 0.48000
1000 runs, N=50, u=0.05000, K=27, C=13, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.47050
1000 runs, 14 correct : p_c2c calc = 0.50115, MC = 0.50900; p_c2i calc = 0.49885, MC = 0.49100
1000 runs, N=50, u=0.05000, K=27, C=14, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.50130
1000 runs, 15 correct : p_c2c calc = 0.47702, MC = 0.45800; p_c2i calc = 0.52298, MC = 0.54200
1000 runs, N=50, u=0.05000, K=27, C=15, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.51658
1000 runs, 16 correct : p_c2c calc = 0.45406, MC = 0.48200; p_c2i calc = 0.54594, MC = 0.51800
1000 runs, N=50, u=0.05000, K=27, C=16, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.54270
1000 runs, 17 correct : p_c2c calc = 0.43219, MC = 0.41800; p_c2i calc = 0.56781, MC = 0.58200
1000 runs, N=50, u=0.05000, K=27, C=17, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.56708
1000 runs, 18 correct : p_c2c calc = 0.41139, MC = 0.41200; p_c2i calc = 0.58861, MC = 0.58800
1000 runs, N=50, u=0.05000, K=27, C=18, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.59218
1000 runs, 19 correct : p_c2c calc = 0.39158, MC = 0.35000; p_c2i calc = 0.60842, MC = 0.65000
1000 runs, N=50, u=0.05000, K=27, C=19, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.61070
1000 runs, 20 correct : p_c2c calc = 0.37272, MC = 0.37200; p_c2i calc = 0.62728, MC = 0.62800
1000 runs, N=50, u=0.05000, K=27, C=20, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.62762
1000 runs, 21 correct : p_c2c calc = 0.35478, MC = 0.33300; p_c2i calc = 0.64522, MC = 0.66700
1000 runs, N=50, u=0.05000, K=27, C=21, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.64048
1000 runs, 22 correct : p_c2c calc = 0.33770, MC = 0.32200; p_c2i calc = 0.66230, MC = 0.67800
1000 runs, N=50, u=0.05000, K=27, C=22, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.66146
1000 runs, 23 correct : p_c2c calc = 0.32144, MC = 0.31500; p_c2i calc = 0.67856, MC = 0.68500
1000 runs, N=50, u=0.05000, K=27, C=23, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.67854
1000 runs, 24 correct : p_c2c calc = 0.30596, MC = 0.28900; p_c2i calc = 0.69404, MC = 0.71100
1000 runs, N=50, u=0.05000, K=27, C=24, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.69380
1000 runs, 25 correct : p_c2c calc = 0.29123, MC = 0.28000; p_c2i calc = 0.70877, MC = 0.72000
1000 runs, N=50, u=0.05000, K=27, C=25, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.70792
1000 runs, 26 correct : p_c2c calc = 0.27721, MC = 0.27700; p_c2i calc = 0.72279, MC = 0.72300
1000 runs, N=50, u=0.05000, K=27, C=26, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.72154
1000 runs, 27 correct : p_c2c calc = 0.26386, MC = 0.23500; p_c2i calc = 0.73614, MC = 0.76500
1000 runs, N=50, u=0.05000, K=27, C=27, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.73644
1000 runs, 28 correct : p_c2c calc = 0.25116, MC = 0.24500; p_c2i calc = 0.74884, MC = 0.75500
1000 runs, N=50, u=0.05000, K=27, C=28, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.74932
---------------------CODE SAMPLE-------------------
The above completely explains why a list showing the best candidate from each generation is highly unlikely to show any change in a correct character when a candidate bearing it was selected as best in a previous generation. The proportion of candidates that had a change of a correct character to an incorrect one nonetheless rises to almost three-quarters of each generation when almost all characters are correct.
Now doing the Monte Carlo methods on the situation with N=12 and u=0.18, where I picked N and u in order to get a range of values for the population that went down to a relatively small probability.
---------------------CODE SAMPLE-------------------
1000 runs, 00 correct : p_c2c calc = 1.00000, MC = 1.00000; p_c2i calc = 0.00000, MC = 0.00000
1000 runs, N=12, u=0.18000, K=27, C=0, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.00000
1000 runs, 01 correct : p_c2c calc = 0.82667, MC = 0.82700; p_c2i calc = 0.17333, MC = 0.17300
1000 runs, N=12, u=0.18000, K=27, C=1, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.17058
1000 runs, 02 correct : p_c2c calc = 0.68338, MC = 0.69300; p_c2i calc = 0.31662, MC = 0.30700
1000 runs, N=12, u=0.18000, K=27, C=2, p_pop_c2c calc = 1.00000, MC = 1.00000 Proportion of candidates w/C2I bases = 0.32233
1000 runs, 03 correct : p_c2c calc = 0.56493, MC = 0.56600; p_c2i calc = 0.43507, MC = 0.43400
1000 runs, N=12, u=0.18000, K=27, C=3, p_pop_c2c calc = 0.99995, MC = 1.00000 Proportion of candidates w/C2I bases = 0.44117
1000 runs, 04 correct : p_c2c calc = 0.46701, MC = 0.48600; p_c2i calc = 0.53299, MC = 0.51400
1000 runs, N=12, u=0.18000, K=27, C=4, p_pop_c2c calc = 0.99947, MC = 1.00000 Proportion of candidates w/C2I bases = 0.53508
1000 runs, 05 correct : p_c2c calc = 0.38606, MC = 0.39800; p_c2i calc = 0.61394, MC = 0.60200
1000 runs, N=12, u=0.18000, K=27, C=5, p_pop_c2c calc = 0.99713, MC = 0.99700 Proportion of candidates w/C2I bases = 0.61167
1000 runs, 06 correct : p_c2c calc = 0.31914, MC = 0.32100; p_c2i calc = 0.68086, MC = 0.67900
1000 runs, N=12, u=0.18000, K=27, C=6, p_pop_c2c calc = 0.99008, MC = 0.99200 Proportion of candidates w/C2I bases = 0.67967
1000 runs, 07 correct : p_c2c calc = 0.26382, MC = 0.25100; p_c2i calc = 0.73618, MC = 0.74900
1000 runs, N=12, u=0.18000, K=27, C=7, p_pop_c2c calc = 0.97466, MC = 0.97200 Proportion of candidates w/C2I bases = 0.73475
1000 runs, 08 correct : p_c2c calc = 0.21809, MC = 0.23600; p_c2i calc = 0.78191, MC = 0.76400
1000 runs, N=12, u=0.18000, K=27, C=8, p_pop_c2c calc = 0.94778, MC = 0.95500 Proportion of candidates w/C2I bases = 0.78383
1000 runs, 09 correct : p_c2c calc = 0.18029, MC = 0.19100; p_c2i calc = 0.81971, MC = 0.80900
1000 runs, N=12, u=0.18000, K=27, C=9, p_pop_c2c calc = 0.90797, MC = 0.91400 Proportion of candidates w/C2I bases = 0.81492
1000 runs, 10 correct : p_c2c calc = 0.14904, MC = 0.16000; p_c2i calc = 0.85096, MC = 0.84000
1000 runs, N=12, u=0.18000, K=27, C=10, p_pop_c2c calc = 0.85582, MC = 0.85600 Proportion of candidates w/C2I bases = 0.85667
1000 runs, 11 correct : p_c2c calc = 0.12321, MC = 0.12900; p_c2i calc = 0.87679, MC = 0.87100
1000 runs, N=12, u=0.18000, K=27, C=11, p_pop_c2c calc = 0.79357, MC = 0.78600 Proportion of candidates w/C2I bases = 0.88083
1000 runs, 12 correct : p_c2c calc = 0.10185, MC = 0.09800; p_c2i calc = 0.89815, MC = 0.90200
1000 runs, N=12, u=0.18000, K=27, C=12, p_pop_c2c calc = 0.72446, MC = 0.72100 Proportion of candidates w/C2I bases = 0.89900
1000 runs, 13 correct : p_c2c calc = 0.08420, MC = 0.08100; p_c2i calc = 0.91580, MC = 0.91900
1000 runs, N=12, u=0.18000, K=27, C=13, p_pop_c2c calc = 0.65196, MC = 0.66100 Proportion of candidates w/C2I bases = 0.91458
1000 runs, 14 correct : p_c2c calc = 0.06960, MC = 0.07600; p_c2i calc = 0.93040, MC = 0.92400
1000 runs, N=12, u=0.18000, K=27, C=14, p_pop_c2c calc = 0.57925, MC = 0.55400 Proportion of candidates w/C2I bases = 0.93192
1000 runs, 15 correct : p_c2c calc = 0.05754, MC = 0.06100; p_c2i calc = 0.94246, MC = 0.93900
1000 runs, N=12, u=0.18000, K=27, C=15, p_pop_c2c calc = 0.50891, MC = 0.50000 Proportion of candidates w/C2I bases = 0.94333
1000 runs, 16 correct : p_c2c calc = 0.04756, MC = 0.03900; p_c2i calc = 0.95244, MC = 0.96100
1000 runs, N=12, u=0.18000, K=27, C=16, p_pop_c2c calc = 0.44278, MC = 0.45400 Proportion of candidates w/C2I bases = 0.95083
1000 runs, 17 correct : p_c2c calc = 0.03932, MC = 0.03800; p_c2i calc = 0.96068, MC = 0.96200
1000 runs, N=12, u=0.18000, K=27, C=17, p_pop_c2c calc = 0.38206, MC = 0.38200 Proportion of candidates w/C2I bases = 0.96183
1000 runs, 18 correct : p_c2c calc = 0.03250, MC = 0.03600; p_c2i calc = 0.96750, MC = 0.96400
1000 runs, N=12, u=0.18000, K=27, C=18, p_pop_c2c calc = 0.32736, MC = 0.32200 Proportion of candidates w/C2I bases = 0.96875
1000 runs, 19 correct : p_c2c calc = 0.02687, MC = 0.03200; p_c2i calc = 0.97313, MC = 0.96800
1000 runs, N=12, u=0.18000, K=27, C=19, p_pop_c2c calc = 0.27881, MC = 0.25300 Proportion of candidates w/C2I bases = 0.97600
1000 runs, 20 correct : p_c2c calc = 0.02221, MC = 0.02000; p_c2i calc = 0.97779, MC = 0.98000
1000 runs, N=12, u=0.18000, K=27, C=20, p_pop_c2c calc = 0.23629, MC = 0.23400 Proportion of candidates w/C2I bases = 0.97817
1000 runs, 21 correct : p_c2c calc = 0.01836, MC = 0.01800; p_c2i calc = 0.98164, MC = 0.98200
1000 runs, N=12, u=0.18000, K=27, C=21, p_pop_c2c calc = 0.19941, MC = 0.19100 Proportion of candidates w/C2I bases = 0.98308
1000 runs, 22 correct : p_c2c calc = 0.01518, MC = 0.01600; p_c2i calc = 0.98482, MC = 0.98400
1000 runs, N=12, u=0.18000, K=27, C=22, p_pop_c2c calc = 0.16769, MC = 0.17300 Proportion of candidates w/C2I bases = 0.98458
1000 runs, 23 correct : p_c2c calc = 0.01255, MC = 0.00600; p_c2i calc = 0.98745, MC = 0.99400
1000 runs, N=12, u=0.18000, K=27, C=23, p_pop_c2c calc = 0.14061, MC = 0.15400 Proportion of candidates w/C2I bases = 0.98617
1000 runs, 24 correct : p_c2c calc = 0.01037, MC = 0.01400; p_c2i calc = 0.98963, MC = 0.98600
1000 runs, N=12, u=0.18000, K=27, C=24, p_pop_c2c calc = 0.11762, MC = 0.11200 Proportion of candidates w/C2I bases = 0.99042
1000 runs, 25 correct : p_c2c calc = 0.00858, MC = 0.00600; p_c2i calc = 0.99142, MC = 0.99400
1000 runs, N=12, u=0.18000, K=27, C=25, p_pop_c2c calc = 0.09819, MC = 0.10400 Proportion of candidates w/C2I bases = 0.99075
1000 runs, 26 correct : p_c2c calc = 0.00709, MC = 0.01200; p_c2i calc = 0.99291, MC = 0.98800
1000 runs, N=12, u=0.18000, K=27, C=26, p_pop_c2c calc = 0.08183, MC = 0.08000 Proportion of candidates w/C2I bases = 0.99283
1000 runs, 27 correct : p_c2c calc = 0.00586, MC = 0.00700; p_c2i calc = 0.99414, MC = 0.99300
1000 runs, N=12, u=0.18000, K=27, C=27, p_pop_c2c calc = 0.06810, MC = 0.07400 Proportion of candidates w/C2I bases = 0.99358
1000 runs, 28 correct : p_c2c calc = 0.00484, MC = 0.00600; p_c2i calc = 0.99516, MC = 0.99400
1000 runs, N=12, u=0.18000, K=27, C=28, p_pop_c2c calc = 0.05661, MC = 0.04400 Proportion of candidates w/C2I bases = 0.99617
---------------------CODE SAMPLE-------------------
The above shows that in order to have low probabilities that the best candidate in a generation will retain all the characters that were correct in the parent, one must have small N and relatively high u values.
Posted by: Wesley R. Elsberry on Mar. 18 2009,14:17
Here's something for David...
Population size is on the X axis, running from 1 to 500. Mutation rate is on the Y axis, running from 0.0 (bottom of image) to 1.0. The lighter the pixel, the better the chance of convergence. This was generated by finding the PPopulation_C2C(K-1) for each condition represented by the pixel and scaling that probability over 1,024 grayscale values.
As expected, there is no local sensitivity to change in parameters.
Expanding the population scale by ten gives this:
Posted by: dvunkannon on Mar. 18 2009,14:57
Some Id-ists have trouble understanding why abstractions like GA/EC are relevant - ie. but it ain't wet! An important point for these folks (and others) is that GA isn't a model of evolution, it _IS_ evolution.
Posted by: Wesley R. Elsberry on Mar. 18 2009,15:45
Huh... I just realized that I should have done the graphs up for (L-1) instead of (K-1). It's the difference between 26 and 27, so it won't make a big shift, but I'll generate those later when I get a chance.
Posted by: AmandaHuginKiss on Mar. 18 2009,16:33
Quote (dvunkannon @ Mar. 19 2009,07:57) | Some Id-ists have trouble understanding why abstractions like GA/EC are relevant - ie. but it ain't wet! An important point for these folks (and others) is that GA isn't a model of evolution, it _IS_ evolution. ---------------------QUOTE-------------------
That's one thing that I would like to try if I had time is to model the wet evolution.
Posted by: dvunkannon on Mar. 18 2009,17:01
Quote (Wesley R. Elsberry @ Mar. 18 2009,15:17) | Here's something for David...
Population size is on the X axis, running from 1 to 500. Mutation rate is on the Y axis, running from 0.0 (bottom of image) to 1.0. The lighter the pixel, the better the chance of convergence. This was generated by finding the PPopulation_C2C(K-1) for each condition represented by the pixel and scaling that probability over 1,024 grayscale values.
As expected, there is no local sensitivity to change in parameters.
Expanding the population scale by ten gives this:
---------------------QUOTE-------------------
Thank you Wes!
Sometimes people are stunned by complexity, but these images are so simple that most people don't see the significance. Evolution just works.
Posted by: Wesley R. Elsberry on Mar. 19 2009,09:33
"weasel" graph of PPopulation_C2C(L-1):
ETA: Again, population from 1 to 500 is on the X axis, and mutation probability from 0 to 1.0 is on the Y axis.
Comparison of (K-1) v. (L-1) versions of the graph (lighter is less different):
Posted by: Freelurker on Mar. 19 2009,11:35
Quote (dvunkannon @ Mar. 18 2009,15:57) | Some Id-ists have trouble understanding why abstractions like GA/EC are relevant - ie. but it ain't wet! An important point for these folks (and others) is that GA isn't a model of evolution, it _IS_ evolution. ---------------------QUOTE-------------------
This is true in one sense, but let's not lose the distinction between genetic optimization algorithms and simulations of biological evolution.
It seems to me that Dembski makes mischief in just this way. All this criticism of modelers "sneaking in" information just isn't relevant to simulation models. The entire model, every bit of it, came from the modeler. The real issue is the fidelity of the model; does it match reality sufficiently to justify any conclusions one makes based on the model.
Posted by: dvunkannon on Mar. 19 2009,11:48
Quote (Freelurker @ Mar. 19 2009,12:35) | Quote (dvunkannon @ Mar. 18 2009,15:57) | Some Id-ists have trouble understanding why abstractions like GA/EC are relevant - ie. but it ain't wet! An important point for these folks (and others) is that GA isn't a model of evolution, it _IS_ evolution. ---------------------QUOTE-------------------
This is true in one sense, but let's not lose the distinction between genetic optimization algorithms and simulations of biological evolution.
It seems to me that Dembski makes mischief in just this way. All this criticism of modelers "sneaking in" information just isn't relevant to simulation models. The entire model, every bit of it, came from the modeler. The real issue is the fidelity of the model; does it match reality sufficiently to justify any conclusions one makes based on the model. ---------------------QUOTE-------------------
I agree. There are folks who deny evolution can exist at all, and there are those who deny what biology does is evolution.
Posted by: Richardthughes on Mar. 19 2009,16:05
EIL's math page for 'Weasel':
< http://www.evoinfo.org/WeaselMath.html >
Posted by: Wesley R. Elsberry on Mar. 19 2009,18:39
Did you notice that there wasn't any math there for the "weasel" as described by Dawkins? Just Dembski/Marks "partitioned search" and "deterministic search".
Posted by: Richardthughes on Mar. 19 2009,18:50
Quote (Wesley R. Elsberry @ Mar. 19 2009,18:39) | Did you notice that there wasn't any math there for the "weasel" as described by Dawkins? Just Dembski/Marks "partitioned search" and "deterministic search". ---------------------QUOTE-------------------
Yes. They're very keen to frame it as it isn't. I'm convinced Dembski still doesn't 'get' GAs.
Posted by: Wesley R. Elsberry on Mar. 20 2009,00:30
Here's an interesting graph:
I've put a 20 pixel border around this. On the X axis, there is the number of correct letters (treated as a continuous scale), and mutation rate is on the Y axis. I've taken terms from the "expected number of correct letters in a mutated string" calculation and subtracted the term for expected conversion of correct to incorrect from the expected conversion of incorrect to correct. Black is a net 28 expected new incorrect letters, white is a net 2 expected new correct letters, and the border color is where the two terms cancel each other out. One can see at a glance that as one considers candidates with more matching letters, only lower mutation rates are going to give a good chance of matching all the letters.
And here's the same graph, but with the net 1 expected new incorrect values shifted to black, too, making a contour visible, and showing how the mutation rate interacts with expectations for new candidate strings:
Posted by: Wesley R. Elsberry on Mar. 25 2009,15:25
"weasel" versus "partitioned search"
I derived an equation for expectation of correct bases following mutation in "weasel" (see above for earlier reference):
---------------------QUOTE-------------------
expected correct bases after mutation in "weasel" = C + (u * (L - C) / K) - (u * C * (K - 1) / K)
---------------------QUOTE-------------------
"Partitioned search" would be the case where:
---------------------QUOTE-------------------
expected correct bases after mutation in PS = C + (u * (L - C) / K) - (0 * u * C * (K - 1) / K)
= C + (u * (L - C) / K) - 0
= C + (u * (L - C) / K)
---------------------QUOTE-------------------
"Locking" or "latching" is the same as removing the term that allows for correct bases to mutate to incorrect ones. What remains is an expectation that the number of correct bases can only monotonically increase.
Posted by: Jkrebs on Mar. 25 2009,15:53
Hi.
Posted by: dvunkannon on Mar. 25 2009,18:49
Quote (Richardthughes @ Mar. 18 2009,12:24) | Can you derive an optimal mutation rate? ---------------------QUOTE-------------------
Start with an optimal population size. Goldberg's research suggests N= 1.4L, where L is the length of the problem description (and therefore the population members) in bits. That is a good bit higher than the commonplace 50.
Posted by: Wesley R. Elsberry on Mar. 25 2009,18:59
I get N=178 for that. Is that what you get?
Posted by: dvunkannon on Mar. 25 2009,20:09
Quote (Wesley R. Elsberry @ Mar. 25 2009,19:59) | I get N=178 for that. Is that what you get? ---------------------QUOTE-------------------
Yeah, I guessed 27 log 2 was around 4.5 so I got 177.
Posted by: dvunkannon on Mar. 26 2009,09:22
Quote (dvunkannon @ Mar. 25 2009,21:09) | Quote (Wesley R. Elsberry @ Mar. 25 2009,19:59) | I get N=178 for that. Is that what you get? ---------------------QUOTE-------------------
Yeah, I guessed 27 log 2 was around 4.5 so I got 177. ---------------------QUOTE-------------------
I should mention that most of Goldberg's research is in GAs using only a selection operator and a recombination operator, no mutation. This despite publishing papers (see the "Ready to Rumble" series) that show mutation is the more efficient operator in some broad classes of problems.
Since Weasel is really a (1,n)-ES, not a selectorecombinative GA, that population sizing heuristic might not be completely appropriate. But I don't know of other work with as firm a footing.
Posted by: Wesley R. Elsberry on Mar. 26 2009,09:33
While statistically unlikely, successive recombination operations can produce the same changes as point mutation can (this is dependent on having a population with good diversity, of course), so it isn't surprising that recombination might be used as a sole mechanism for change.
Posted by: Wesley R. Elsberry on Mar. 26 2009,17:23
Avida applied to evolutionary biology
The Beneficial Effect of Deleterious Mutations
If they put something up on the work experimenting to test Sewall Wright's shifting-balance theory, I'll post the link.
Posted by: Henry J on Mar. 27 2009,13:28
But wouldn't recombination by itself continually reduce the amount of diversity in the gene pool, and eventually producing a deficit of it?
Henry
Posted by: Richardthughes on Mar. 27 2009,17:08
Pharyngula on "Weasel":
< http://scienceblogs.com/pharyng....put.php >
Posted by: Wesley R. Elsberry on Mar. 27 2009,20:49
Quote (Henry J @ Mar. 27 2009,13:28) | But wouldn't recombination by itself continually reduce the amount of diversity in the gene pool, and eventually producing a deficit of it?
Henry ---------------------QUOTE-------------------
Both genetic drift and natural selection reduce variation, but I wouldn't think it is primarily the choice of mutation modality that affects that.
Posted by: dvunkannon on Mar. 27 2009,23:40
Quote (Henry J @ Mar. 27 2009,14:28) | But wouldn't recombination by itself continually reduce the amount of diversity in the gene pool, and eventually producing a deficit of it?
Henry ---------------------QUOTE-------------------
Yes, recombination and selection lead to convergence, hopefully on the correct allele. Goldberg's Design of innovation is a great resource on these issues in GAs.
Posted by: dvunkannon on Mar. 29 2009,08:24
In the past, I've worked with the ECJ package from Sean Luke's group at George Mason University. It has support for (mu, lamda)-ES built in. I might have time to build a weasel in ECJ. I think it might be a matter of setting up the parameter file right, all the code is already there.
Posted by: dvunkannon on Mar. 29 2009,08:45
Not specifically Weasel...
I just read this paper < on sexual selection in GA >. I was thinking of trying to reproduce (ahem) some of the results. It seems the researchers made a bunch of changes to the standard GA, and I'd like to see which were responsible for the positive variations they report.
Posted by: Wesley R. Elsberry on June 10 2009,20:11
The antievolutionist software, < Mendel's Accountant >, asserts that it "allows realistic numerical simulation of the mutation/selection process over time".
Discussion at < Theology Web >, though, indicates that the program may not deliver results in accordance with known population genetics.
Gary Hurd suggested that this would be a good topic for a TOA FAQ. We can use this thread to help coordinate people working on an analysis of Mendel's Accountant.
Posted by: AnsgarSeraph on June 10 2009,22:07
Hi, all —
I'm another migrant from TWeb; I've got Mendel's Accountant set up on a 32-bit and a 64-bit system. I certainly won't be much help with any actual knowledge but I'm very willing to run simulations for anyone who doesn't have/doesn't want Mendel set up on their computer.
I've found that Mendel will allow my 4GB setup to run small populations (~1000) for about 40,000 generations or larger populations (~10,000) for less than 10,000 generations. I plan on purchasing some extra RAM soon so I might be able to extend the runs a bit. I did not see much difference in latitude running a 64-bit setup but extra RAM might change that.
The user manual for Mendel's Accountant is here. If helpful, I can (hopefully) attach screen grabs of the advanced Mendel settings so people don't need to hunt through the manual.
—Sam
Posted by: AnsgarSeraph on June 10 2009,22:10
Sorry. The manual is HERE:
< Mendel's Accountant User Manual >
There is also a Linux how-to but the SourceForge page does not have the tarball listed. Some advanced features of MENDEL require Linux. They are almost certainly unnecessary for a FAQ but I'll e-mail the maintainer of the code (Dr. Brewer, I think) and try to get that.
—Sam
Posted by: Dr.GH on June 10 2009,22:36
Howdy Sam. Glad to see you here. I'll assume that you have seen the prior discussion on this site starting about < about here. >
I hope to be away all day tomorrow, so I hope that everyone will start right to work while I go fishing. :D
Posted by: Richardthughes on June 10 2009,22:46
Also:
< http://www.facebook.com/group.php?gid=5381573897 >
Posted by: utidjian on June 11 2009,00:18
Ok... I downloaded the .exe files. Both the earlier version and the update from sourceforge.
I am running Linux (Fedora 10) on a Intel iMac with 1G of RAM.
I unpacked the files with Wine. First the older version and then the newer one. Man it installs a lot of stuff.
The Linux source is in /home/utidjian/.wine/drive_c/Mendel/Source on my system. Not much in there.
listing:
---------------------CODE SAMPLE-------------------
[utidjian@istrain Source]$ ls -ogh total 416K -rw-rw-rw- 1 4.5K 2008-09-13 17:38 common.h -rw-rw-rw- 1 587 2008-09-07 22:00 Interface back-end.lnk -rw-rw-rw- 1 661 2008-09-07 22:00 Interface front-end.lnk -rw-rw-rw- 1 985 2008-09-01 20:51 Makefile -rw-rw-rw- 1 165K 2008-10-01 06:15 mendel.f -rw-rw-rw- 1 163K 2008-09-05 22:00 mendel.f.bak -rw-rw-rw- 1 1.9K 2008-09-18 18:57 mendel.in -rw-rw-rw- 1 1.5K 2008-09-04 03:20 mpi_mendel.f -rw-rw-rw- 1 42K 2006-03-01 13:02 random_pkg.f90 -rw-rw-rw- 1 1.3K 2007-01-15 09:50 sort.f90
---------------------CODE SAMPLE-------------------
The main file in there is mendel.f. Lots of comments. I can "read" Fortran but I don't know diddly about Population Genetics.
Time for bed.
-DU-
Posted by: Zachriel on June 11 2009,07:08
I upgraded to Mendel 1.4.1. It acts differently with the parameters I tried in the original version. I started with the defaults changing only the fraction of beneficial mutations and maximum effect of beneficial mutations parameters.
1.0000000 frac_fav_mutn 1.0000000 max_fav_fitness_gain
Now the fitness increases in a linear fashion. So they must have fixed a major bug in between versions. I'll continue to test over the next few days.
Posted by: Dr.GH on June 11 2009,11:22
I collected the various "articles" writen about MA;
Larry Vardiman 2008. “The "Fatal Flaws" of Darwinian Theory” Acts & Facts. 37 (7): 6. Institute of Creation Research < http://www.icr.org/article/fatal-flaws-darwinian-theory/ >
Money quote:
---------------------QUOTE------------------- “Mendel's Accountant provides overwhelming empirical evidence that all of the "fatal flaws" inherent in evolutionary genetic theory are real. This leaves evolutionary genetic theory effectively falsified--with a degree of certainty that should satisfy any reasonable and open-minded person.” ---------------------QUOTE-------------------
John Sanford, John Baumgardner, Wesley Brewer, Paul Gibson, Walter ReMine 2008a “Using Numerical Simulation to Test the Validity of Neo-Darwinian Theory” In A. A. Snelling (Ed.) (2008). Proceedings of the Sixth International Conference on Creationism (pp. 165–175). Pittsburgh, PA: Creation Science Fellowship and Dallas, TX: Institute for Creation Research. < Download PDF >
Baumgardner, J., Sanford, J., Brewer, W., Gibson, P., & ReMine, W. 2008b “Mendel’s Accountant: A new population genetics simulation tool for studying mutation and natural selection.” In A. A. Snelling (Ed.), Proceedings of the sixth international conference on creationism (pp. 87–98). Pittsburgh, Pennsylvania: Creation Science Fellowship & Dallas, Texas: Institute for Creation Research. < Download PDF >
Sanford, J., Baumgardner, J., Gibson, P., Brewer, W., & ReMine, W. (2007a). Mendel’s Accountant: A biologically realistic forward-time population genetics program. Scalable Computing: Practice and Experience 8(2), 147–165. < http://www.scpe.org. > < Download PDF >
Sanford, J., Baumgardner, J., Gibson, P., Brewer, W., & ReMine, W. (2007b). Using computer simulation to understand mutation accumulation dynamics and genetic load. In Y. Shi, G. D. van Albada, J. Dongarra, & P. M. A. Sloot (Eds.), International Conference on Computer Sscience 2007, Part II, Lecture Notes in Computational Science 4488 (pp. 386–392). Springer-Verlag: Berlin, Heidelberg. < Download PDF >
Posted by: Wesley R. Elsberry on June 11 2009,11:29
So, how much "evolution sucks" verbiage was generated by the people running the pre-1.4.1 versions? Was there any notice that people should re-run their experiments due to a pretty drastic change in program behavior?
Posted by: Dr.GH on June 11 2009,11:35
Quote (Wesley R. Elsberry @ June 11 2009,09:29) | So, how much "evolution sucks" verbiage was generated by the people running the pre-1.4.1 versions? Was there any notice that people should re-run their experiments due to a pretty drastic change in program behavior? ---------------------QUOTE-------------------
Exactly!
PS: The links all work now, and I am going fishing.
Posted by: AnsgarSeraph on June 11 2009,11:41
Quote (Wesley R. Elsberry @ June 11 2009,11:29) | So, how much "evolution sucks" verbiage was generated by the people running the pre-1.4.1 versions? Was there any notice that people should re-run their experiments due to a pretty drastic change in program behavior? ---------------------QUOTE-------------------
To be fair (to a shoddy program? How odd), v. 1.4.1 still "demonstrates" all the genetic entropy problems that Sanford makes noise about. Whatever they fixed in terms of beneficial mutations, our runs at TWeb using 1.4.1 indicate that it's nowhere near enough; a 90% beneficial mutation rate with default "maximal benefit effect" still reduces fitness in a linear manner.
—Sam
Posted by: utidjian on June 11 2009,12:17
Is anyone else playing with the source (or even reading it)? I also found this file in the Source folder:
---------------------CODE SAMPLE-------------------
[utidjian@buttle Source]$ cat mendel.in 1000 pop_size 500 num_generations 1 fitness_distrib_type:exponential_mutation_effect 2 selection_scheme:unrestricted_probability_selection 23 haploid_chromosome_number 1000 num_linkage_subunits 0.000000 pop_growth_rate 0 pop_growth_model:fixed_population 3.000e+08 haploid_genome_size 6.0000000 offspring_per_female 0.0000000 fraction_random_death 0.0000000 fraction_self_fertilization 10.0000000 new_mutn_per_offspring 0.0010000 high_impact_mutn_fraction 0.1000000 high_impact_mutn_threshold 0.0010000 uniform_fitness_effect_del 0.0000000 multiplicative_weighting 1.000e-05 tracking_threshold 0.0000000 fraction_recessive 0.0000000 recessive_hetero_expression 0.5000000 dominant_hetero_expression 0.0000000 frac_fav_mutn 0.0010000 max_fav_fitness_gain 0.2000000 heritability 0.0000000 non_scaling_noise 0.5000000 partial_truncation_value 0 num_contrasting_alleles 0.0000000 initial_alleles_mean_effect 0.9000000 linked_mutn_se_fraction 1.0000000 se_scaling_factor 0 synergistic_epistasis 0 clonal_reproduction 0 clonal_haploid 1 dynamic_linkage 0 fitness_dependent_fertility 0 is_parallel 0 bottleneck_yes 1000 bottleneck_generation 100 bottleneck_pop_size 500 num_bottleneck_generations 0 num_initial_fav_mutn 1 num_indiv_exchanged 1 migration_generations 1 migration_model 1 homogenous_tribes 47469 max_tracked_mutn_per_indiv 42 random_number_seed 0 write_dump 0 restart_case 1 restart_dump_number test01 case_id /. 2 num_tribes 2 num_procs 0 plot_avg_data 0 restart_case_id 1 restart_append batch run_queue 0 c_engine
---------------------CODE SAMPLE-------------------
Anything interesting in there?
-DU-
Posted by: midwifetoad on June 11 2009,12:37
Quote (Richardthughes @ Mar. 27 2009,17:08) | Pharyngula on "Weasel":
< http://scienceblogs.com/pharyng....put.php > ---------------------QUOTE-------------------
---------------------QUOTE------------------- As Ian Musgrave shows, the program is trivial, and even us biologists can whip one out in minutes. ---------------------QUOTE-------------------
Even non-biologists...
< http://www.itatsi.com >
Posted by: Wesley R. Elsberry on June 11 2009,12:41
If anybody is trying to install MA, but has a more recent Perl and unchecks the Perl install, be warned that the CGI has a fixed location that it expects to launch the Perl executable from, C:\Mendel\Perl\bin\perl.exe
Posted by: AnsgarSeraph on June 11 2009,12:52
Quote (utidjian @ June 11 2009,12:17) | Is anyone else playing with the source (or even reading it)? I also found this file in the Source folder:
---------------------CODE SAMPLE-------------------
47469 max_tracked_mutn_per_indiv ---------------------CODE SAMPLE-------------------
Anything interesting in there?
-DU- ---------------------QUOTE-------------------
That number is considerably higher than the input parameters on my runs; ranging from a population of 1000 to a population of 10,000, I think the highest setting on my runs for that was ~25,000 tracked mutations per individual. I'm not sure how they calculate for that parameter. This might be one of the limiting factors in testing MENDEL, as I have already run up against a "Favorable mutation count exceeds limit" error.
—Sam
Posted by: Steve Schaffner on June 11 2009,13:02
I may have missed something, but I haven't seen anything in the v. 1.4.1 runs that was clearly wrong, i.e. that suggested a bug in the implementation (other than the broken option for fixed selection coefficient). Which doesn't mean there aren't any bugs, but they are not obvious.
What is clear is that the default parameters for beneficial alleles are very low. Their justification for having such a low maximum beneficial effect strikes me as plausible-sounding nonsense.
It's also clear that their basic model is not one from evolutionary biology. The essential process they're modeling is the accumulation of mildly deleterious mutations, ones that have such a small functional effect that they are invisible to natural selection. This only occurs because the population starts out in a state of genetic perfection, compared to which the new mutations are deleterious. A real population would never have become that optimized, precisely because the different choices of allele are indistinguishable by NS.
For those who have the program running . . . Can it provide more output? Comparing results with theory would be much more straightforward if one could count only the number of mutations that have fixed, rather than all present in the population; it would also be useful to see the allele frequency spectrum. (And if it can't do those things, then it is of no interest as a population genetics tool.)
Posted by: AnsgarSeraph on June 11 2009,13:23
Quote (Steve Schaffner @ June 11 2009,13:02) | For those who have the program running . . . Can it provide more output? Comparing results with theory would be much more straightforward if one could count only the number of mutations that have fixed, rather than all present in the population; it would also be useful to see the allele frequency spectrum. (And if it can't do those things, then it is of no interest as a population genetics tool.) ---------------------QUOTE-------------------
Is the allele frequency spectrum you're looking for in here?
< Box.net - human1 sample Folder >
I think what you're looking for might be titled "human1_plm.png".
The output files in MENDEL do give a count for the number of fixed alleles; it's near the bottom of the output file and looks like this:
---------------------CODE SAMPLE-------------------
Allele summary statistics (tracked mutations only): (Statistics are based on 891517 tracked deleterious mutations and 0 tracked favorable mutations.) Very rare Polymorphic Fixed Total (0-1%) (1-99%) (100%) 15107 8202 0 23309 deleterious 0 0 0 0 favorable ---------------------CODE SAMPLE-------------------
—Sam
Posted by: Henry J on June 11 2009,13:27
---------------------QUOTE------------------- I can "read" Fortran ---------------------QUOTE-------------------
I used to be able to do that, but college was decades ago and the language probably "evolved" since then.
---------------------QUOTE------------------- Anything interesting in there?
-DU- ---------------------QUOTE-------------------
Yes:
---------------------QUOTE------------------- 10.0000000 new_mutn_per_offspring ---------------------QUOTE-------------------
I'm no biologist, but that sounds high to me.
Henry
Posted by: midwifetoad on June 11 2009,13:40
---------------------QUOTE------------------- What is clear is that the default parameters for beneficial alleles are very low. Their justification for having such a low maximum beneficial effect strikes me as plausible-sounding nonsense. ---------------------QUOTE-------------------
From my own dabbling I think the only really critical factor in getting a GA to "work" is an effective fitness function. Assuming at least some offspring are viable, the fitness function must be able to see and score alleles, either by seeing them directly of by having some means of scoring phenotypes.
All the other aspects are pretty much irrelevant.
My own effort tries to evolve a population of letter strings that "look like" words, without having a fixed target. The trick is having a fitness function that can score relative wordness without requiring enormous computational resourses.
Posted by: Wesley R. Elsberry on June 11 2009,13:46
I just ran Zachriel's modified parameter set under v1.2.1 and v.1.4.1. Both used exactly the same "mendel.in" configuration file. Only one each, but the v1.4.1 run does go to completion and shows the accumulation and fixation of favorable mutations. The v1.2.1 run, by contrast, shows a declining population that only lasts to generation 31. The value for "before sel: geno fitness" looks particularly strange; in the final generation, the value was -90.5. In the v1.4.1 run, that value was never less than 1.0, and at generation 500 had reached a little over 20. I'm assuming at the moment that the "fitness" value is always with respect to the original absolute value at the start of the run.
Whatever else may be going on, it does seem that MA treatment of favorable mutations changed rather radically between those versions. I wouldn't want to validate v1.4.1 on this basis, but it comparatively is doing a much better job than v1.2.1, and I think my earlier comment stands: outcomes of experiments performed with MA v1.2.1 (and perhaps earlier versions) should be treated with skepticism until independently confirmed, preferably with a package that can be validated against actual popgen results.
ETA: Using Mendel's Accountant v.1.2.1 is like using a bank that inexplicably only records your withdrawals and fails to record your deposits.
Posted by: oldmanintheskydidntdoit on June 11 2009,13:47
Quote (midwifetoad @ June 11 2009,13:40) | The trick is having a fitness function that can score relative wordness without requiring enormous computational resourses. ---------------------QUOTE-------------------
I wonder if google could help, after all it "suggests" words when it cannot match your search term. No suggestion = not "wordy" enough.
OK it's probably not practical, not for running quickly anyway.
Still....
Posted by: midwifetoad on June 11 2009,13:51
Quote (oldmanintheskydidntdoit @ June 11 2009,13:47) | Quote (midwifetoad @ June 11 2009,13:40) | The trick is having a fitness function that can score relative wordness without requiring enormous computational resourses. ---------------------QUOTE-------------------
I wonder if google could help, after all it "suggests" words when it cannot match your search term. No suggestion = not "wordy" enough.
OK it's probably not practical, not for running quickly anyway.
Still.... ---------------------QUOTE-------------------
Google runs pretty quickly for me. I'm a bit in awe of their ability to suggest words from misspellings, but after my experience evolving words I think I know how they do it. Or at least one approach that doesn't require a supercomputer.
I think my approach is more effective than that used by most spelling checkers.
Posted by: sledgehammer on June 11 2009,14:05
I haven't run the program, but perusing the description of the algorithm, it seem to me that this section that describes how fitness is assigned is the part that determines the ultimate behavior of the model. They clearly have built in an asymmetry in the fitness of beneficial vs deleterious mutations, and their justifications of the asymmetry smell fishy to me, but IANAB. (bolding mine)
---------------------QUOTE------------------- To provide users of Mendel even more flexibility in specifying the fitness effect distribution, we have chosen to use a form of the Weibull function [12] that is a generalization of the more usual exponential function. Our function, expressed by eq. (3.1), maps a random number x, drawn from a set of uniformly distributed random numbers, to a fitness effect d(x) for a given random mutation. d(x) = (dsf) exp(?ax^gamma), 0 < x < 1. (3.1) Here (dsf) is the scale factor which is equal to the extreme value which d(x) assumes when x = 0. We allow this scale factor to have two separate values, one for deleterious mutations and the other for favorable ones. These scale factors are meaningful relative to the initial fitness value assumed for the population before we introduce new mutations. In Mendel we assume this initial fitness value to be 1.0. For deleterious mutations, since lethal mutations exist, we choose dsf del = ?1. For favorable mutations, we allow the user to specify the (positive) scale factor dsf fav. Normally, this would be a small value (e.g., 0.01 to 0.1), since it is only in very special situations that a single beneficial mutation would have a very large effect. The parameters a and gamma, both positive real numbers, determine the shape of the fitness effect distribution. We applythe same values of a and gamma to both favorable and deleterious mutations. The parameter a determines the minimum absolute values for d(x), realized when x = 1. We choose to make the minimum absolute value of d(x) the inverse of the haploid genome size G (measured in number of nucleotides) by choosing a = loge(G). For example, for the human genome, G = 3 × 109, which means that for the case of deleterious mutations, d(1) = ?1/G = ?3 × 10?10. For large genomes, this minimum value is essentially 0. For organisms with smaller genomes such as yeast, which has a value for G on the order of 107, the minimum absolute effect is larger. This is consistent with the expectation that each nucleotide in a smaller genome on average plays a greater relative role in the organism’s fitness. The second parameter gamma, can be viewed as ontrolling the fraction of mutations that have a large absolute fitness effect. Instead of specifying gamma directly, we select two quantities that are more intuitive and together define gamma. The first is theta, a threshold value that defines a “high-impact mutation”. The second is q, the fraction of mutations that exceed this threshold in their effect. For example, a user can first define a high-impact mutation as one that results in 10% or more change in fitness (theta = 0.1) relative to the scale factor and then specify that 0.001 of all mutations (q = 0.001) be in this category. Inside the code the value of is computed that satisfies these requirements. We reiterate that Mendel uses the same value for gamma, and thus the same values for theta and q, for both favorable and deleterious mutations. Figure 3.1 shows the effect of the parameter q on the shape of the distribution of fitness effect. Note that for each of the cases displayed the large majority of mutations are nearly neutral, that is, they have very small effects. Since a utation’s effect on fitness can be measured experimentally only if it is sufficiently large, our strategy for parameterizing the fitness effect distribution in terms of high-impact situtations provides a means for the Mendel user to relate the numerical model input more directly to available data regarding the actual measurable frequencies of mutations in a given biological context. ---------------------QUOTE-------------------
Part of the justification for asymmetry is that some mutations are lethal, meaning that individual has zero probability of reproducing. OK, but the maximum fitness benefit of a beneficial mutation is "a very small number like 0.001", which is then subject to "heritability factor", typically 0.2, and other probabilities that severely limit its ability to propagate. To make matters worse, for some unjustified reason, the same distribution for beneficial and deleterious is used, after severely skewing the results with the above. Again, IANOB, but it seems to me that a single beneficial mutation can, in many situations like disease resistance, blonde hair, big boobs, etc, virtually guarantee mating success, just like a deleterious mutation can be reproductively lethal. I can see easily how the skewed treatment of beneficial vs deleterious mutations could virtually guarantee "genetic entropy", as evidenced by monotonically decreasing population fitness caused by accumulation of deleterious mutational load.
ETA source. link is above Sanford, J., Baumgardner, J., Gibson, P., Brewer, W., & ReMine, W. (2007a). Mendel’s Accountant: A biologically realistic forward-time population genetics program. Scalable Computing: Practice and Experience 8(2), 147–165.
Posted by: Zachriel on June 11 2009,14:12
Quote (AnsgarSeraph @ June 11 2009,11:41) | Quote (Wesley R. Elsberry @ June 11 2009,11:29) | So, how much "evolution sucks" verbiage was generated by the people running the pre-1.4.1 versions? Was there any notice that people should re-run their experiments due to a pretty drastic change in program behavior? ---------------------QUOTE-------------------
To be fair (to a shoddy program? How odd), v. 1.4.1 still "demonstrates" all the genetic entropy problems that Sanford makes noise about. Whatever they fixed in terms of beneficial mutations, our runs at TWeb using 1.4.1 indicate that it's nowhere near enough; a 90% beneficial mutation rate with default "maximal benefit effect" still reduces fitness in a linear manner.
—Sam ---------------------QUOTE-------------------
I think a key to understanding Mendel's Accountant is the so-called "Maximal beneficial mutation effects". It defaults to an extremely low number.
---------------------QUOTE------------------- < Mendel's Accountant User Manual >: Maximal beneficial mutation effects – A realistic upper limit must be placed upon beneficial mutations. This is because a single nucleotide change can expand total biological functionality of an organism only to a limited degree. The larger the genome and the greater the total genomic information, the less a single nucleotide is likely to increase the total. Researchers must make a judgment for themselves of what is a reasonable maximal value for a single base change. The MENDEL default value for this limit is 0.001. This limit implies that a single point mutation can increase total biological functionality by as much as 0.1%. In a genome such as man’s, assuming only 10% of the genome is functional, such a maximal impact point mutation might be viewed as equivalent to adding 300,000 new information-bearing base pairs each of which had the genome-wide average fitness contribution. Researchers need to honestly define the upper limit they feel is realistic for their species. However it should be obvious that, in all cases, the upper limit for beneficial mutation effects ought to correspond to a very small fraction of the total genomic information (i.e. a small number relative to one). ---------------------QUOTE-------------------
There is something wrong with the analysis. They're comparing the selective value of a change to adding thousands of new bases to the genome. But adding 10% to a genome doesn't necessarily make an organism 10% fitter. On the other hand, a small change can often have a very high selective value. Consider a mutation making someone resistant to plague. Maybe he just tastes bad to fleas.
Also, I'm not sure what the number is supposed to represent. Does a value of 1 mean a change in fitness of 1? Shouldn't this scale with absolute fitness? Or is it a fractional? So does 1 represent 100% or a doubling of fitness? PS. I'm guessing the former, but my Accounting time has been somewhat limited.
Posted by: sledgehammer on June 11 2009,14:23
Call me skeptical, but I think that they put the various "hooks" to skew the beneficial vs deleterious effects into the program for one reason only.
Posted by: Wesley R. Elsberry on June 11 2009,15:02
Has anyone seen anything in MA that deals with compensatory mutations?
Posted by: deadman_932 on June 11 2009,15:57
For those that need a fair (and free!) Population Genetics text, here's one available in PDF form, in a RAR-compressed file, for personal use:
Alan R. Templeton, “Population Genetics and Microevolutionary Theory” Wiley-Liss; 1st edition (September 29, 2006) 705 pages
< http://depositfiles.com/en/files/2390240 > (8.05 MB)
Click on "free downloading" and wait for 60-second clock countdown, then download PDF to a folder, and un-rar.
If you need a (clean) free PDF reader, try Foxit : < http://www.foxitsoftware.com/pdf/reader/reader-interstitial.html >
Sanford's "genomic (mutational) meltdown" scenarios are a hoot. Even DaveScot was bright enough to see that Sanford's proposed mutation rates < were out of line with reality >: fast-reproducing sexual species that have existed a few million should have all been extinct by now, but they're not. Sanford inflates deleterious mutation rates and disregards compensatory mechanisms.
Posted by: mammuthus on June 11 2009,18:08
Quote (deadman_932 @ June 11 2009,15:57) | Sanford's "genomic (mutational) meltdown" scenarios are a hoot. Even DaveScot was bright enough to see that Sanford's proposed mutation rates < were out of line with reality >: fast-reproducing sexual species that have existed a few million should have all been extinct by now, but they're not. Sanford inflates deleterious mutation rates and disregards compensatory mechanisms. ---------------------QUOTE-------------------
His argument is a little more involved than that. It seems to revolve around genome size; the smaller genome size of something like P.falciparum prevents genetic meltdown, but it would occur with larger genome sized mammals. So genetic entropy is a problem for the latter (if not on Sanford YEC timescales). You can't just take fast reproducing things like P.falciparum and apply the Genetic Entropy failure in this case widely. At least that's how I read it.
---------------------QUOTE------------------- It occured to me recently that Sanford’s projected rate of genetic decay doesn’t square with the observed performance of P.falciparum. P.falciparum’s genome is about 23 million nucleotides. At Sanford’s lowest given rate of nucleotide copy errors that means each individual P.falciparum should have, on average, about 3 nucleotide errors compared to its immediate parent. If those are nearly neutral but slightly deleterious mutations (as the vast majority of eukaryote mutations appear to be) then the number should be quite sufficient to cause a genetic meltdown from their accumulation over the course of billions of trillions of replications. Near neutral mutations are invisible to natural selection but the accumulation of same will eventually become selectable. If all individuals accumulate errors the result is decreasing fitness and natural selection will eventually kill every last individual (extinction). Yet P.falciparum clearly didn’t melt down but rather demonstrated an amazing ability to keep its genome perfectly intact. How?
After thinking about it for a while I believe I found the answer - the widely given rate of eukaryote replication errors is correct. If P.falciparum individuals get an average DNA copy error rate of one in one billion nucleotides then it follows that approximately 97% of all replications result in a perfect copy of the parent genome. That’s accurate enough to keep a genome that size intact. An enviromental catastrophe such as an ice age which lowers temperatures even at the equator below the minimum of ~60F in which P.falciparum can survive would cause it to become extinct while genetic meltdown will not. Mammals however, with an average genome size 100 times that of P.falciparum, would have an average of 3 replication errors in each individual. Thus mammalian genomes would indeed be subject to genetic decay over a large number of generations which handily explains why the average length of time between emergence to extinction for mammals and other multicelled organisms with similar genome sizes is about 10 million years if the fossil and geological evidence paints an accurate picture of the past. I DO believe the fossil and geological records present us with an incontrovertible picture of progressive phenotype evolution that occured over a period of billions of years. I don’t disbelieve common ancestry and phenotype evolution by descent with modification - I question the assertion that random mutation is the ultimate source of modification which drove phylogenetic diversification. ---------------------QUOTE-------------------
Posted by: midwifetoad on June 11 2009,18:11
---------------------QUOTE------------------- fast-reproducing sexual species that have existed a few million should have all been extinct by now, but they're not. ---------------------QUOTE-------------------
Isn't this the ultimate test of a simulation -- that it must model the fact that populations don't go extinct simply because their genes degrade?
Any simulation where this happens is obviously flawed. History trumps trumps any theory that says something that has happened can't happen.
Posted by: Wesley R. Elsberry on June 11 2009,18:30
OK, why are there still < Amoeba dubia > around? I haven't found an explicit statement of average generation time for the species, but it is likely on the order of 24 hours based on generation times for other amoebae. Its genome is about 670 billion base pairs. That would seem to qualify as a large genome, wouldn't it?
Posted by: mammuthus on June 11 2009,18:47
Quote (Wesley R. Elsberry @ June 11 2009,18:30) | OK, why are there still < Amoeba dubia > around? I haven't found an explicit statement of average generation time for the species, but it is likely on the order of 24 hours based on generation times for other amoebae. Its genome is about 670 billion base pairs. That would seem to qualify as a large genome, wouldn't it? ---------------------QUOTE-------------------
Right, that's that objection answered then!
Posted by: mammuthus on June 11 2009,19:05
By the way, all this genetic entropy (why the stupid name, why not just Muller's Ratchet?) stuff relates to the work of Laurence Loewe at Edinburgh. He's done a lot of research on Muller's Ratchet, well worth checking out:
< http://evolutionary-research.net/people/lloewe >
also see these classic papers by Michael Lynch:
Lynch, M. et al. 1993. Mutational meltdowns in asexual populations. J. Heredity 84: 339-344
< http://www.indiana.edu/~lynchlab/PDF/Lynch58.pdf >
Gabriel, W. et al. 1993. Muller's ratchet and mutational meltdowns. Evolution 47: 1744-1757.
< http://www.indiana.edu/~lynchlab/PDF/Lynch62.pdf >
I'm not a population geneticist or indeed any kind of evolutionary biologist whatsoever. But it's my impression that Sanford is saying nothing new; he's just trying to repackage issues that pop gen people have known about for decades. Indeed, occasional creationist basher Joe Felsenstein published one of the classic papers in this respect:
Felsenstein, J. (1974). The Evolutionary Advantage of Recombination. Genetics, 78, 737–756
Some time ago on PandasThumb, Felsenstein said he'd probably better read the Sanford book as creationists would be using it. S Cordova offered to send it to him. It'd be great to get his thoughts. I think this is the discussion:
< http://pandasthumb.org/archives/2008/05/gamblers-ruin-i.html >
Posted by: mammuthus on June 11 2009,19:08
Aaah yes, found it on the final page of comments:
---------------------QUOTE------------------- Dr. Felsenstein,
I sent you a copy of John Sanford’s Genetic Entropy.
Let me know if you received it or not. The admins at PT should have my e-mail.
Thank you again for taking time to read what I wrote at UD and for taking the time to respond. I’m deeply honored.
regards, Salvador Cordova ---------------------QUOTE-------------------
---------------------QUOTE------------------- Sorry for the delay, I didn’t notice this inquiry until recently. Yes, the book arrived. Thanks for sending it. It will be helpful to have it, I am sure. ---------------------QUOTE-------------------
Posted by: Zachriel on June 11 2009,20:41
Take a look at the distribution of beneficial mutations. {The parameters are as on the image and Maximal beneficial mutation effects = 0.1} Beneficial mutations spike, then disappear.
Generation 3970, Fitness 0.106, Deleterious 38398, Favorable 0.
The program doesn't seem to use my available memory and quits well before the specified generations. It doesn't seem to reseed the randomizer with each run.
Generation 3972, Fitness 0.101, Deleterious 38422, Favorable 0.
Just look at those graphs. That just doesn't look right at all.
Posted by: AnsgarSeraph on June 11 2009,20:50
Quote (Zachriel @ June 11 2009,20:41) | The program doesn't seem to use my available memory and quits well before the specified generations. ---------------------QUOTE-------------------
With a fitness level at 0.1, I'm sure your populations went extinct. I can't keep populations below 1000 alive for very long; they certainly won't last for more than 20,000 generations.
—Sam
Posted by: Zachriel on June 11 2009,21:01
I manually changed the seed. This is what I got with the same parameters.
Generation 4376, Fitness 0.111, Deleterious 42350, Favorable, 0.
It's very odd having to change the seed every time. A common method of investigation is to rerun the same parameters to help distinguish trends from flukes.
There's something odd about the distribution. That might be due to the small population, though.
Posted by: deadman_932 on June 11 2009,22:53
Quote (mammuthus @ June 11 2009,18:08) | Quote (deadman_932 @ June 11 2009,15:57) | Sanford's "genomic (mutational) meltdown" scenarios are a hoot. Even DaveScot was bright enough to see that Sanford's proposed mutation rates < were out of line with reality >: fast-reproducing sexual species that have existed a few million should have all been extinct by now, but they're not. Sanford inflates deleterious mutation rates and disregards compensatory mechanisms. ---------------------QUOTE-------------------
His argument is a little more involved than that. It seems to revolve around genome size; the smaller genome size of something like P.falciparum prevents genetic meltdown, but it would occur with larger genome sized mammals. So genetic entropy is a problem for the latter (if not on Sanford YEC timescales). You can't just take fast reproducing things like P.falciparum and apply the Genetic Entropy failure in this case widely. At least that's how I read it. ---------------------QUOTE-------------------
Well, Wes mentioned one example of "large" - genomed rapidly-reproducing species, and there's a lot more available. Mammal genomes average between 2 and 3 gigabases (Gb) but lots of insect and plant genomes (like wheat) can be larger: around 16 Gb in wheat or grasshoppers (Podisma pedestris) -- five times larger than humans.
Nailing Sanford down on questions about interesting populations like california condors would be fun -- they're the only North American remnant of Gymnogyps, been around since the early Pleistocene and their population dropped down to 22 individuals not very long ago... and their est. genome size is 1.5 Gb. They should have accumulated enough deleterious mutations so that such a small closely-related group would produce nothin' but dead young, right? Or how about Przywalski's horse?
Sanford is a YEC of sorts, so he skewed his parameters to fit his skewed view of the Earth's entire biome being less than 100 K years old, as I recall ( I may be wrong with the exact figure there).
-------------------------------------------
ETA: I was curious about known recessives in the existing condors and there is one identified (chondrodystrophy) that results in fatal abnormalities :
J. Geyer, O.A. Ryder, L.G. Chemnick and E.A. Thompson, Analysis of relatedness in the California condors: from DNA fingerprints, Mol. Biol. Evol. 10 (1993), pp. 571–589
Romanov MN, Koriabine M, Nefedov M, de Jong PJ, Ryder OA (2006) Construction of a California Condor BAC Library and First-generation Chicken-condor Comparative Physical Map as an Endangered Species Conservation Genomics Resource, Genomics, 88 (6), 711-8
Posted by: Steve Schaffner on June 11 2009,23:09
Quote (Zachriel @ June 11 2009,20:41) | Take a look at the distribution of beneficial mutations. ---------------------QUOTE-------------------
Looks right to me, given your parameters. You're getting 10 mutations/individual for 100 individuals, or 1000 mutations per generation. Of those, 1/100,000 is beneficial, so you're only getting one beneficial mutation every 100 generations. Those are the tiny blips. Once in a while one or two of them drift up to an appreciable, and the mean number of beneficial alleles per individual climbs above 1.0.
None of them fix though, which is not surprising, since they're almost all effectively neutral. Which means that you should have one fixing by chance every 20,000 generations, plus some probability from the tail at higher selection coefficient.
Posted by: Occam's Aftershave on June 11 2009,23:47
Over at TWeb where this started I asked the same question; why haven't all the fast reproducing mammal species died out from genetic meltdown yet? The topic of mice was raised, because while mice have a genome roughly the size of humans (approx. 3 GB), they have a generation time some 170x faster (6 weeks vs. 20 years). So why haven't all the mice gone extinct by now?
I made the statement ""All other things being equal, the population that breeds faster will accumulate mutations faster."
Jorge Fernandez (a YEC who was acting as a go between to Sanford) supposedly forwarded my questions to Sanford and got this reply:
Sanford: " No, it is just the opposite, short generation times means more frequent and better selective filtering."
Which makes zero sense and is trivially easy to refute with their own program:
Run Mendel with two populations that are identical in every way (i.e genome size, mutation rate, selection pressure, etc.) except make one generation time 2x the other, say two per year year vs. one per year.
If you run them both for 1000 generations, both will end up with the same (lower) fitness level, but the two per year will only take 500 years to get there.
If you run them both for 1000 years, the once per year will end up in the exact same fitness as the first trial, but the two per year will have 2000 generations and end up with an even lower fitness level, if it doesn't just go extinct first.
These guys are busted, and they know they're busted. Now it's just a question of how far they can push this shit and how much money they can make before the errors become well known.
Posted by: k.e.. on June 12 2009,00:06
So they have gone from shining shit to simulating shit?
As a game strategy it could be a winner.
More obscurantism in the tard market makes it easier to collect loose fundy shekels.
Posted by: mammuthus on June 12 2009,04:18
This new paper may be of interest:
---------------------QUOTE------------------- Mustonen, V. and Lassig, M. (2009) From fitness landscapes to seascapes: non-equilibrium dynamics of selection and adaptation. Trends in Genetics, 25, 111-119.
Evolution is a quest for innovation. Organisms adapt to changing natural selection by evolving new phenotypes. Can we read this dynamics in their genomes? Not every mutation under positive selection responds to a change in selection: beneficial changes also occur at evolutionary equilibrium, repairing previous deleterious changes and restoring existing functions. Adaptation, by contrast, is viewed here as a non-equilibrium phenomenon: the genomic response to time-dependent selection. Our approach extends the static concept of fitness landscapes to dynamic fitness seascapes. It shows that adaptation requires a surplus of beneficial substitutions over deleterious ones. Here, we focus on the evolution of yeast and Drosophila genomes, providing examples where adaptive evolution can and cannot be inferred, despite the presence of positive selection. ---------------------QUOTE-------------------
there's a section on Muller's Ratchet:
---------------------QUOTE------------------- Here, we argue for a sharpened concept of adaptive evolution at the molecular level. Adaptation requires positive selection, but not every mutation under positive selection is adaptive. Selection and adaptation always refer to a molecular phenotype depending on a single genomic locus or on multiple loci, such as the energy of a transcription-factor-binding site in our first example. This correlates the direction of selection at all loci contributing to the phenotype and calls for the distinction between adaptation and compensation. The infinite-sites approximation, which is contained in many population-genetic models, neglects such correlations and is therefore not optimally suited to infer adaptation [16] and [23]. Here, we address this problem by a joint dynamical approach to selection and genomic response in a genome with finite number of sites. In this approach, adaptive evolution is characterized by a positive fitness flux ?, which measures the surplus of beneficial over deleterious substitutions.
It is instructive to contrast this view of adaptive evolution with Muller's ratchet, a classical model of evolution by deleterious substitutions [53] and [54]. This model postulates a well-adapted initial state of the genome so that all, or the vast majority of, mutations have negative fitness effects. Continuous fixations of slightly deleterious changes then lead to a stationary decline in fitness (i.e. to negative values of ?). Similarly to the infinite-sites approximation, this model neglects compensatory mutations. In a picture of a finite number of sites, it becomes clear that every deleterious substitution leads to the opportunity for at least one compensatory beneficial mutation (or more, if the locus contributes to a quantitative trait), so that the rate of beneficial substitutions increases with decreasing fitness. Therefore, assuming selection is time-independent, decline of fitness (? < 0) is only a transient state and the genome will eventually reach detailed balance between deleterious and beneficial substitutions, that is, evolutionary equilibrium (? = 0). As long as selection is time-independent, an equilibrium state exists for freely recombining loci and in a strongly linked (i.e. weakly recombining) genome, although its form is altered in the latter case by interference selection [55] and [56]. Conversely, an initially poorly adapted system will have a transient state of adaptive evolution (? > 0) before reaching equilibrium. Time-dependent selection, however, continuously opens new windows of positive selection, the genome is always less adapted than at equilibrium and the adaptive state becomes stationary. Thus, we reach a conclusion contrary to Muller's ratchet. Because selection in biological systems is generically time-dependent, decline of fitness is less likely even as a transient state than suggested by Muller's ratchet: the model offers no explanation of how a well-adapted initial state without opportunities of beneficial mutations is reached in the first place.
As a minimal model for adaptive evolution, we have introduced the Fisher-Wright process in a macro-evolutionary fitness seascape, which is defined by stochastic changes of selection coefficients at individual genomic positions on time scales larger than the fixation time of polymorphisms (and is thus different from micro-evolutionary selection fluctuations and genetic draft). Time-dependence of selection is required to maintain fitness flux: the seascape model is the simplest model that has a non-equilibrium stationary state with positive ?. The two parameters of the minimal model (strength and rate of selection changes) are clearly just summary variables for a much more complex reality. The vastly larger genomic datasets within and across species will enable us to infer the dynamics of selection beyond this minimal model. ---------------------QUOTE-------------------
Posted by: damitall on June 12 2009,04:33
Quote (mammuthus @ June 11 2009,18:08) | Quote (deadman_932 @ June 11 2009,15:57) | Sanford's "genomic (mutational) meltdown" scenarios are a hoot. Even DaveScot was bright enough to see that Sanford's proposed mutation rates < were out of line with reality >: fast-reproducing sexual species that have existed a few million should have all been extinct by now, but they're not. Sanford inflates deleterious mutation rates and disregards compensatory mechanisms. ---------------------QUOTE-------------------
His argument is a little more involved than that. It seems to revolve around genome size; the smaller genome size of something like P.falciparum prevents genetic meltdown, but it would occur with larger genome sized mammals. So genetic entropy is a problem for the latter (if not on Sanford YEC timescales). You can't just take fast reproducing things like P.falciparum and apply the Genetic Entropy failure in this case widely. At least that's how I read it.
---------------------QUOTE------------------- It occured to me recently that Sanford’s projected rate of genetic decay doesn’t square with the observed performance of P.falciparum. P.falciparum’s genome is about 23 million nucleotides. At Sanford’s lowest given rate of nucleotide copy errors that means each individual P.falciparum should have, on average, about 3 nucleotide errors compared to its immediate parent. If those are nearly neutral but slightly deleterious mutations (as the vast majority of eukaryote mutations appear to be) then the number should be quite sufficient to cause a genetic meltdown from their accumulation over the course of billions of trillions of replications. Near neutral mutations are invisible to natural selection but the accumulation of same will eventually become selectable. If all individuals accumulate errors the result is decreasing fitness and natural selection will eventually kill every last individual (extinction). Yet P.falciparum clearly didn’t melt down but rather demonstrated an amazing ability to keep its genome perfectly intact. How?
After thinking about it for a while I believe I found the answer - the widely given rate of eukaryote replication errors is correct. If P.falciparum individuals get an average DNA copy error rate of one in one billion nucleotides then it follows that approximately 97% of all replications result in a perfect copy of the parent genome. That’s accurate enough to keep a genome that size intact. An enviromental catastrophe such as an ice age which lowers temperatures even at the equator below the minimum of ~60F in which P.falciparum can survive would cause it to become extinct while genetic meltdown will not. Mammals however, with an average genome size 100 times that of P.falciparum, would have an average of 3 replication errors in each individual. Thus mammalian genomes would indeed be subject to genetic decay over a large number of generations which handily explains why the average length of time between emergence to extinction for mammals and other multicelled organisms with similar genome sizes is about 10 million years if the fossil and geological evidence paints an accurate picture of the past. I DO believe the fossil and geological records present us with an incontrovertible picture of progressive phenotype evolution that occured over a period of billions of years. I don’t disbelieve common ancestry and phenotype evolution by descent with modification - I question the assertion that random mutation is the ultimate source of modification which drove phylogenetic diversification. ---------------------QUOTE-------------------
---------------------QUOTE-------------------
< Here > is an abstract which might inform this particular question
Posted by: Lou FCD on June 12 2009,06:35
You've all forgotten the most important part of the simulation, and that's why your results are skewed.
You have to throw the computer off a cliff to get an accurate simulation.
duh.
Posted by: deadman_932 on June 12 2009,09:28
Quote (Lou FCD @ June 12 2009,06:35) | You've all forgotten the most important part of the simulation, and that's why your results are skewed.
You have to throw the computer off a cliff to get an accurate simulation.
duh. ---------------------QUOTE-------------------
Lou = absotively correckt. Heck, even checker-playing computers have to be painted in squares. Everyone knows that.
Posted by: mammuthus on June 12 2009,10:58
< Jorge Fernandez > at TWeb is in contact with Sanford. He just posted the following from Sanford:
---------------------QUOTE------------------- Hi Jorge - I have been traveling ... The comment ... about "cooking the books" is, of course, a false accusation. The issue has to do with memory limits. Before a Mendel run starts it allocates the memory needed for different tasks. With deleterious mutations this is straight-forward - the upper range of mutation count is known. With beneficials it is harder to guess final mutation count - some beneficials can be vastly amplified. Where there is a high rate of beneficials they can quickly exhaust RAM and the run crashes. Wesley Brewer [one of the creators of Mendel] has tried to avoid this by placing certain limits - but fixing this is a secondary priority and will not happen right away. With more RAM we can do bigger experiments. It is just a RAM issue.
Best - John ---------------------QUOTE-------------------
This is in response to - "Wes Elseberry made a comment that I think could be a good title, 'Mendel's Accountant cooks the books." I assume that they're talking about the failure of the program to increase fitness when a high number of beneficial mutations are specified.
I guess Sanford et al would argue that this problem isn't a big issue, since there's never a case in which there are loads (e.g. 90%) of beneficial mutations. Deleterious or slightly deleterious are in the majority in reality, there's no RAM problem with these, and so the main conclusion they draw from Mendel is unaffacted by the problems shown with beneficial mutations. At least I guess that's what he'd say.
Sanford also says:
---------------------QUOTE------------------- The fact that our runs crash when we run out of RAM is not by design. If someone can help us solve this problem we would be very grateful. We typically need to track hundreds of millions of mutations. Beneficials create a problem for us because they amplify in number. We are doing the best we can.
I would urge your colleagues [Heaven help me - John is under the impression that you people are my colleagues ... brrrrrrrr!] to use more care. In science we should be slow to raise claims of fraud without first talking to the scientist in question to get their perspective. Otherwise one might unwittingly be engaging in character assassination. ---------------------QUOTE-------------------
< http://www.theologyweb.com/campus....unt=131 >
Posted by: Wesley R. Elsberry on June 12 2009,11:06
---------------------QUOTE-------------------
I guess Sanford et al would argue that this problem isn't a big issue, since there's never a case in which there are loads (e.g. 90%) of beneficial mutations.
---------------------QUOTE-------------------
No, the problem is quantitative and not qualitative. If the program doesn't handle the 90% case correctly, it isn't handling the 0.001% case correctly, either. And we know that v1.2.1 did not handle it correctly. If you are going around claiming to have produced an "accurate" simulation, you are on the hook for that.
The 90% case just makes the error blatantly obvious.
Speaking of hypocrisy, how careful is Sanford in not making sweeping generalizations about biologists having gotten things wrong?
Posted by: Wesley R. Elsberry on June 12 2009,11:13
As demonstrated in the two runs I did comparing the output of v1.2.1 and v1.4.1 on the very same configuration, v1.2.1 has a major error in its handling of beneficial mutations. This has nothing at all to do with memory limits; I also ran both with the default case, and the experimental case used in both merely changed the two parameters as specified by Zachriel above. The memory usage was under 130MB for all cases I ran; the memory I had was sufficient and the simulations ran to completion. Sanford either was given a garbled account of the issue or is deploying a meaningless digression as a response.
ETfix: 130,000KB = 130MB
Posted by: mammuthus on June 12 2009,11:18
Quote (Wesley R. Elsberry @ June 12 2009,11:06) |
---------------------QUOTE-------------------
I guess Sanford et al would argue that this problem isn't a big issue, since there's never a case in which there are loads (e.g. 90%) of beneficial mutations.
---------------------QUOTE-------------------
No, the problem is quantitative and not qualitative. If the program doesn't handle the 90% case correctly, it isn't handling the 0.001% case correctly, either. And we know that v1.2.1 did not handle it correctly. If you are going around claiming to have produced an "accurate" simulation, you are on the hook for that.
The 90% case just makes the error blatantly obvious.
Speaking of hypocrisy, how careful is Sanford in not making sweeping generalizations about biologists having gotten things wrong? ---------------------QUOTE-------------------
Ok, thanks Wesley. I know nothing about programming, so a lot of what I have to say on realted subjects will be utter nonsense!.
I totally concur about Sanford's sweeping generalisations. He claims that Mendel's Accountant has "falsified" Neo-Darwinian evolution:
---------------------QUOTE------------------- When any reasonable set of biological parameters are used, Mendel provides overwhelming empirical evidence that all of the “fatal flaws” inherent in evolutionary genetic theory are real. This leaves evolutionary genetic theory effectively falsified—with a degree of certainty which should satisfy any reasonable and open-minded person. ---------------------QUOTE-------------------
and
---------------------QUOTE------------------- As a consequence, evolutionary genetic theory now has no theoretical support—it is an indefensible scientific model. Rigorous analysis of evolutionary genetic theory consistently indicates that the entire enterprise is actually bankrupt. In this light, if science is to actually be self-correcting, geneticists must “come clean” and acknowledge the historical error, and must now embrace honest genetic accounting procedures. ---------------------QUOTE-------------------
< http://www.icr.org/i....ory.pdf >
I have zero respect for anyone who provides such rhetoric, without actually submitting their claims to review by the scientific community. The very people they are lambasting. That is fundamentally dishonest.
Sam at TWeb has emailed Sanford to see if he will engage directly at that messageboard. Could be interesting.
Posted by: mammuthus on June 12 2009,11:22
Oh and an additional response from Sanford. This is an explanation as to why such low population sizes (1000) were used and how this doesn't affect their conclusions. In addition it's a response to the question of why mice (as an example of a pretty fast reproducing species) have not yet gone extinct.
---------------------QUOTE------------------- Hi Jorge - Please tell these folks that I appreciate their interest in Mendel, and if they see certain ways we can make it more realistic, we will try and accommodate them.
Mendel is fundamentally a research tool, and so offers a high degree of user-specification. There is no inherently "realistic" population size - it just depends on what circumstance you wish to study. The default setting for population size is set at 1000 because it is convenient - whether you are using the Windows version on your laptop, or any other computer, you are less likely to run out of memory. We are proceeding to study population size and also population sub-structure. I believe larger populations should realistically be set up as multiple tribes with a given migration rate between tribes. Under these conditions we see little improvement with larger population sizes. But they are welcome to do bigger runs if they have the memory resources.
The mouse question is interesting. I think one would need to change various parameters for mouse - each species is different. I would like to know the maximal (not minimal) generation time - do they know? This would define the maximal time to extinction. I have read that the per generation mutation rate is about an order of magnitude lower in mouse - which makes sense if there are fewer cell divisions in the generative cells between generations. I would be happy to do such experiments when I get the input data.
Best - John ---------------------QUOTE-------------------
< http://www.theologyweb.com/campus....unt=134 >
Posted by: Wesley R. Elsberry on June 12 2009,11:25
Does anyone know of an open-source UML system that takes FORTRAN code as input?
Posted by: deadman_932 on June 12 2009,11:47
Quote (mammuthus @ June 12 2009,10:58) | Jorge Fernandez at TWeb is in contact with Sanford. He just posted the following from Sanford:
---------------------QUOTE------------------- Hi Jorge - I have been traveling ...The comment...about "cooking the books" is, of course, a false accusation. The issue has to do with memory limits. Before a Mendel run starts it allocates the memory needed for different tasks. With deleterious mutations this is straight-forward - the upper range of mutation count is known. With beneficials it is harder to guess final mutation count - some beneficials can be vastly amplified. Where there is a high rate of beneficials they can quickly exhaust RAM and the run crashes. Wesley Brewer [one of the creators of Mendel] has tried to avoid this by placing certain limits - but fixing this is a secondary priority and will not happen right away. With more RAM we can do bigger experiments. It is just a RAM issue.
Best - John ---------------------QUOTE-------------------
This is in response to - "Wes Elseberry made a comment that I think could be a good title, 'Mendel's Accountant cooks the books." I assume that they're talking about the failure of the program to increase fitness when a high number of beneficial mutations are specified... [snip]
Sanford also says:
---------------------QUOTE------------------- "The fact that our runs crash when we run out of RAM is not by design. If someone can help us solve this problem we would be very grateful. We typically need to track hundreds of millions of mutations. Beneficials create a problem for us because they amplify in number. We are doing the best we can. I would urge your colleagues [Heaven help me - John is under the impression that you people are my colleagues ... brrrrrrrr!] to use more care. In science we should be slow to raise claims of fraud without first talking to the scientist in question to get their perspective. Otherwise one might unwittingly be engaging in character assassination." ---------------------QUOTE-------------------
< http://www.theologyweb.com/campus....unt=131 > ---------------------QUOTE-------------------
That's interesting, because the 2008 ICR "Proceedings of the Sixth International Conference on Creationism (pp. 87–98)." Has a "paper" by John Baumgardner, John Sanford, Wesley Brewer, Paul Gibson and Wally Remine.
The title of that paper is < "Mendel’s Accountant: A New Population Genetics Simulation Tool for Studying Mutation and Natural Selection" > (.PDF link)
So what does John Sanford say there? Well, he says this:
---------------------QUOTE------------------- Mendel represents an advance in forward-time simulations by incorporating several improvements over previous simulation tools... Mendel is tuned for speed, efficiency and memory usage to handle large populations and high mutation rates.... We recognized that to track millions of individual mutations in a sizable population over many generations, effcient use of memory would be a critical issue – even with the large amount of memory commonly available on current generation computers. We therefore selected an approach that uses a single 32-bit (four-byte) integer to encode a mutation’s fitness effect, its location in the genome, and whether it is dominant or recessive. Using this approach, given 1.6 gigabytes of memory on a single microprocessor, we can accommodate at any one time some 400 million mutations...This implies that, at least in terms of memory, we can treat reasonably large cases using a single processor of the type found in many desktop computers today. ---------------------QUOTE-------------------
I await the actual achievement of these claims with un-bated breath. All emphases are mine.
Posted by: deadman_932 on June 12 2009,12:11
Quote (Wesley R. Elsberry @ June 12 2009,11:25) | Does anyone know of an open-source UML system that takes FORTRAN code as input? ---------------------QUOTE-------------------
You might want to look through these: < http://olex.openlogic.com/wazi....lopment >
ETA: Sorry, Nope, I can't find anything open-source... and I looked quite a bit at various fora, etc.
Posted by: Wesley R. Elsberry on June 12 2009,12:14
Acceleo seems to be able to generate FORTRAN from UML, but I'm looking for a free tool to generate UML from FORTRAN.
Posted by: Wesley R. Elsberry on June 12 2009,13:42
Mutations are not beneficial, neutral, or detrimental on their own, nor is their contribution to fitness fixed for all time. Mutations contribute to fitness in a context, and as the context changes, so may the value of its contribution to fitness. Fitness is a value that applies to the phenotype in ensemble. Mendel's Accountant appears instead to assume that mutations have a fixed value that cannot be changed by context. Thus, Mendel's Accountant appears to completely ignore research on compensatory mutations.
Because the value of a mutation depends on context, a particular mutation may be beneficial, neutral, or detrimental at initial appearance, but later become part of a different class as other mutations come into play. Mendel's Accountant treats mutations as falling into a fixed class.
These faults alone suffice to disqualify Mendel's Accountant from any claim to providing an accurate simulation of biological evolution.
Posted by: Wesley R. Elsberry on June 12 2009,16:28
Of course, I tend to think that a good approach to critique of a program to do a particular task is to actually produce a program that does that task better. I think that is something that we could give some thought to here. Much of the same background work applies to analysis of MA or design of an alternative.
Some ideas:
- Develop a test suite based on published popgen findings in parallel with development
- Base it on the most general, abstract principles for broad applicability
- Aim for number of generations to be limited only by amount of disk or other long-term storage available
- Consider means for handling large population sizes
- Start with a simple system, either as run-up to version 1 or with sufficient generality to be extensible to more complex systems
It seems to me that producing a thoroughly-vetted and tested platform that covers fewer cases is far better than producing a large, unwieldy, and bug-ridden product whose output cannot be trusted.
Posted by: Bob O'H on June 12 2009,17:02
---------------------QUOTE------------------- I'm not a population geneticist or indeed any kind of evolutionary biologist whatsoever. But it's my impression that Sanford is saying nothing new; he's just trying to repackage issues that pop gen people have known about for decades. ---------------------QUOTE-------------------
What's new is his claim that meltdown affects sexual populations. I should check the evolution of sex literature, I'm sure they (Sally Otto and Nick Barton, amongst others) showed that it doesn't happen. In his book Sanford ignores the recent evolution of sex literature.
Wes -
---------------------QUOTE------------------- OK, why are there still Amoeba dubia around? ---------------------QUOTE-------------------
Indeed - hasn't it turned into Amoeba dubya?
Anyway, remember that Sanford is a YEC, so millions of years aren't relevant for him.
Posted by: Dr.GH on June 12 2009,20:44
Quote (Wesley R. Elsberry @ June 12 2009,14:28) | Of course, I tend to think that a good approach to critique of a program to do a particular task is to actually produce a program that does that task better. I think that is something that we could give some thought to here. Much of the same background work applies to analysis of MA or design of an alternative.
Some ideas:
- Develop a test suite based on published popgen findings in parallel with development
- Base it on the most general, abstract principles for broad applicability
- Aim for number of generations to be limited only by amount of disk or other long-term storage available
- Consider means for handling large population sizes
- Start with a simple system, either as run-up to version 1 or with sufficient generality to be extensible to more complex systems
It seems to me that producing a thoroughly-vetted and tested platform that covers fewer cases is far better than producing a large, unwieldy, and bug-ridden product whose output cannot be trusted. ---------------------QUOTE-------------------
Wes, How would your proposed project improve on other programs? For example, of the goals that you list, does existing software such as AVIDA or other models not already satisfy you criticisms?
Next, I see that there are two goals. The first is to refute lame ass creatocrap like "“Mendel's Accountant provides overwhelming empirical evidence that all of the "fatal flaws" inherent in evolutionary genetic theory are real. This leaves evolutionary genetic theory effectively falsified--with a degree of certainty that should satisfy any reasonable and open-minded person.”
The second would be to actually advance the scientific work of evo simulations.
I might be able to assist the first, and I am happy to leave the second to the rest of you.
Your list of ideas do add to the refutation of the creatocrap, as they are features of what a good simulator should be able to do.
Posted by: Steve Schaffner on June 12 2009,21:56
There may be some value in checking Mendel's Accountant, to see whether it really implements the model that it claims to, but I don't see much point in trying to cobble together a new program to simulate evolution here. That is a major research project, with many unknown parameters, i.e. a truly realistic simulation of evolution isn't possible yet.
The important questions about MA, assuming the program isn't simply fatally flawed, concern the model that it is implementing. For the default values, you don't have to run the program to know that it will produce genetic collapse of the population -- that's inevitable, given the assumptions of the model. The model assumes a large number of mildly deleterious mutations, so mild that they are unaffected by purifying selection. It also assumes purely hard selection, in which lower fitness translates directly into loss of fertility for the population, and few beneficial mutations (which are also of small effect), independent of the fitness of the population (i.e. no compensating mutations). Given those assumptions, the population will inevitably decline towards extinction, since there is no force counteracting the relentless accumulation of deleterious mutations. The model stands or falls on those assumptions; the code is a side-issue.
Posted by: Wesley R. Elsberry on June 12 2009,22:07
I'll check with Reed Cartwright about existing popgen packages.
Avida is not a package that aims to directly model biological population genetics. There is quite a lot of conceptual overlap between Avida evolution and biological evolution, but it isn't at the low-level that MA claims to operate at. For example, current research in Avida is looking at the role of compensatory mutations. But each mutation in an Avidian is an instruction, not a base as in DNA. The Avida research can provide another line of evidence that complements that of biological research on compensatory mutations, but it isn't aimed at answering questions like, "At what rate should we expect compensatory mutations to fix in species X?" It's that kind of question that the folks pushing MA position it as a tool to answer, or would if they took any note of compensatory mutations at all. I think you get the drift, though.
Avida, by the way, has no difficulty in cranking out data on generation after generation for a set population size. Most Avida work is done on population sizes between 900 and 10,000 Avidians. However, I'm working on extending the Avida-ED program, and one part is to allow up to 90,000 organisms in the population. That is, by the way, accomplished with a change to the graphical user interface to allow selection of a grid size of up to 300 by 300, where the current version's grid-size slider only goes up to 100. The underlying Avida instance is unchanged. Tracking mutations is possible in Avida as well, but is done in analysis after the run finishes. Runs can go into the millions of updates. I don't know that anyone has tried to find an upper limit. Avida's ability to do this is because it only needs to hold the current population and grid in memory. Everything else gets written to disk.
Posted by: midwifetoad on June 12 2009,23:43
Who woulda thunk a few years ago that entry level computers would have four gigs of memory, or that the retail price of four gigs would be about $19.95?
Posted by: dvunkannon on June 13 2009,00:12
Quote (Wesley R. Elsberry @ June 12 2009,23:07) | I'll check with Reed Cartwright about existing popgen packages.
Avida is not a package that aims to directly model biological population genetics. There is quite a lot of conceptual overlap between Avida evolution and biological evolution, but it isn't at the low-level that MA claims to operate at. For example, current research in Avida is looking at the role of compensatory mutations. But each mutation in an Avidian is an instruction, not a base as in DNA. The Avida research can provide another line of evidence that complements that of biological research on compensatory mutations, but it isn't aimed at answering questions like, "At what rate should we expect compensatory mutations to fix in species X?" It's that kind of question that the folks pushing MA position it as a tool to answer, or would if they took any note of compensatory mutations at all. I think you get the drift, though.
Avida, by the way, has no difficulty in cranking out data on generation after generation for a set population size. Most Avida work is done on population sizes between 900 and 10,000 Avidians. However, I'm working on extending the Avida-ED program, and one part is to allow up to 90,000 organisms in the population. That is, by the way, accomplished with a change to the graphical user interface to allow selection of a grid size of up to 300 by 300, where the current version's grid-size slider only goes up to 100. The underlying Avida instance is unchanged. Tracking mutations is possible in Avida as well, but is done in analysis after the run finishes. Runs can go into the millions of updates. I don't know that anyone has tried to find an upper limit. Avida's ability to do this is because it only needs to hold the current population and grid in memory. Everything else gets written to disk. ---------------------QUOTE-------------------
Umm, what happened to Model-View-Controller? The idea that the model is costrained by the UI is pretty scary.
Posted by: Wesley R. Elsberry on June 13 2009,00:37
Avida-ED is not meant to be how researchers usually use Avida. Avida-ED is a GUI interface aimed at making use of a limited set of Avida options easy for pedagogy. There are quite a number of simplifying restrictions that Avida-ED imposes for the runs that can be made with it, but there are still enough parameters under instructor or student control to allow a great many different experiments to be done with it.
< Links to both Avida and Avida-ED via the Devolab >
Posted by: Steve Schaffner on June 13 2009,07:01
There is a good list of forward simulation (as opposed to coalescent) programs < here >. The ones I'm familiar with (apart from MA) are intended to model the behavior of sequences and mutations, not the global evolution of species.
Posted by: Dr.GH on June 13 2009,09:21
Quote (Wesley R. Elsberry @ June 12 2009,14:28) | - Develop a test suite based on published popgen findings in parallel with development ---------------------QUOTE-------------------
This seems to me to be an excellent way to test MA- known data parameters from known populations.
Also, what were the release dates for the different versions of MA compared to the different publication/conference dates?
Posted by: Tracy P. Hamilton on June 13 2009,10:28
Quote (Bob O'H @ June 12 2009,17:02) |
What's new is his claim that meltdown affects sexual populations. I should check the evolution of sex literature, I'm sure they (Sally Otto and Nick Barton, amongst others) showed that it doesn't happen. In his book Sanford ignores the recent evolution of sex literature. ---------------------QUOTE-------------------
Is Sanford practicing abstinence from the sex literature?
Posted by: Zachriel on June 14 2009,08:47
When each child has more than a single mutation, then average fitness can decrease over time. Even though fitness is a relative term, this decreasing fitness can impact essential biological mechanisms.
If the genome is 3e8 bases in size (or any such large number) and there is an average of one mutation per child, then we expect that ~1/3 of the children will *not* have mutations. If each mother produces 6 children, then chances are that each new generation will include many individuals without mutations. (E.g. mice often have several litters of 4-10 pups.)
If we use truncated selection, heritability=1, mutations=1, seed=30, all else default, this is what we see.
It's interesting to see how the deleterious mutations ride along with the beneficial mutations until fixation before being weeded out.
In nature, we expect that if the mother produces enough children, then there should be sufficient healthy progeny to prevent genetic meltdown and to allow the positive ratcheting of beneficial mutations. We might also expect that species will tend to push the envelope with regard to mutational limitations. That means when near the margins small changes in parameters will allow it tip one way or the other. With slow reproducers, we can then expect various factors that mitigate the long-term evolutionary trajectory with regard to the accumulation of deleterious mutations. One such factor is sexual selection which is prevalent in nearly all taxa of interest.
We can reasonably show that selection of a wide number of parameters avoids mutational meltdown and we would expect life to evolve to explore the limits of these parameters. Hence, to claim that a simplified simulation such as Mendel's Accountant can disprove evolution is not justified.
We're still rather curious about the selection parameters,
Truncation Unrestricted probability Strict proportionality probability Partial truncation
i.e. exactly what each selection criterion is doing.
Posted by: Zachriel on June 14 2009,09:48
Also curious about the "heritability" parameter.
---------------------QUOTE------------------- < Mendel's Accountant User Manual >: Individual genetic fitness values are calculated based upon each individual’s total mutation inventory. Individual genetic fitness is defined as 1.0, adjusted by the positive and negative effects of all its mutations. To obtain phenotypic fitness the genetic fitness is modified using the specified heritability to account for nonheritable factors such as variations in the environment. ---------------------QUOTE-------------------
What is the other 80%? Randomness?
Posted by: Bob O'H on June 14 2009,10:20
It should be. I wonder how they calculate it, though. The description makes it look like they calculate the genotypic variation in fitness, and then multiply it by 4 to get the environmental variance, and create a random environmental effect for each individual with that variance. But that's nuts, because it means that the amount of environmental variation in fitness is directly tied to the amount of genetic variation.
it's possible, though, that they're doing nothing like this: the description is rather confused.
Posted by: mammuthus on June 15 2009,18:38
More from Sanford. Apparently, MA is the "state of the art" in numerical genetics. Also, he wants to collaborate with y'all. According to Jorge:
---------------------QUOTE------------------- The last thing that JS did was ask me for the email address of the people performing these simulations & asking the questions so as to jointly work towards the goal of a more realistic & acceptable-by-all Mendel program. Collaborative science at it best. ---------------------QUOTE-------------------
anyway, here is his latest. In italics are the points being responded to (from Steve Schaffner)
---------------------QUOTE------------------- Dear Colleague - If we can make the program more realistic, we will. Please explain what you would like done ... How would you have us model soft selection?
I fail to see why mutations should not cause extinction, especially given the additive model. As we approach zero mean fitness, many individuals will have a fitness of zero or less - we are forced to truncate them (if you are dead you should not realistically reproduce), causing population size to start to rapidly shrink. When there are less than two individuals, we consider the population extinct.
2) The default value for the maximum beneficial value of mutations is much too low. Real-world estimates of positive selection coefficients for humans are in the range of 0.1, not 0.001.
That is easily re-set, but one has to consider if it is reasonable to realistically build up a genome by increments of 10% (I am speaking of internal complexity - not adaptation to an external environmental factor). I think that is like going up Mt. Improbable using a helicopter.
3) The starting population is genetically perfect, and all deviations from that state increase the chance of extinction. This does not accurately model an evolutionary process, in which no population ever achieves perfection, merely adequacy. The fact that an ideal organism would have a major competitive advantage compared to the real one does not imply that the real one is nonfunctional or doomed to extinction. This is not a model of biological evolution.
We do not assume an ideal starting genotype - we assume a uniform population after a population bottleneck - with fitness set arbitrarily at 1.0.
Finally, I also have a technical problem with the program as a software tool. It does not seem to be possible to run it indefinitely, nor have I seen any cases where it has even been able to run to equilibrium (or better, steady state). Whether that is because it continues to track mutations after they fix I don't know (that's my guess), but it means it is essentially useless as a research tool. It should be possible to simulate a population of size, say, 20,000 for 200,000 generations. What would the memory requirements for that set of parameters be? Is the program really able to use the extra memory?
We can turn off individual mutation tracking and just track the net fitness of each linkage block. We get nearly indeterminate processing - but we lose lots of interesting data. I would be happy to cooperate with you - if you are interested. As far as I can determine, Mendel is now the "state of the art" in genetic numerical simulation, and it improves every month. Are you aware of a better research platform?
Best wishes - John Sanford ---------------------QUOTE-------------------
< http://www.theologyweb.com/campus....unt=161 >
For full context, here is the material Sanford is responding too:
---------------------QUOTE------------------- I haven't raised any claims of fraud, nor am I clamoring for an immediate response. I have the following problems with model, based on what I've seen here.
1) There does not seem to be an option for true soft selection. Even if deleterious alleles do not affect fertility, they still cause the population to become extinct. This is not an accurate model of real genetics.
2) The default value for the maximum beneficial value of mutations is much too low. Real-world estimates of positive selection coefficients for humans are in the range of 0.1, not 0.001.
3) The starting population is genetically perfect, and all deviations from that state increase the chance of extinction. This does not accurately model an evolutionary process, in which no population ever achieves perfection, merely adequacy. The fact that an ideal organism would have a major competitive advantage compared to the real one does not imply that the real one is nonfunctional or doomed to extinction. This is not a model of biological evolution.
Finally, I also have a technical problem with the program as a software tool. It does not seem to be possible to run it indefinitely, nor have I seen any cases where it has even been able to run to equilibrium (or better, steady state). Whether that is because it continues to track mutations after they fix I don't know (that's my guess), but it means it is essentially useless as a research tool. It should be possible to simulate a population of size, say, 20,000 for 200,000 generations. What would the memory requirements for that set of parameters be? Is the program really able to use the extra memory?
If Sanford (or co-author) wishes to address these criticisms, I would welcome the response. As it stands, however, I do not see how one can use this model to make any statements about the likely behavior of evolving populations in the real world. ---------------------QUOTE-------------------
Posted by: Zachriel on June 15 2009,21:00
---------------------QUOTE------------------- John Sanford: That is easily re-set, but one has to consider if it is reasonable to realistically build up a genome by increments of 10% (I am speaking of internal complexity - not adaptation to an external environmental factor). I think that is like going up Mt. Improbable using a helicopter. ---------------------QUOTE-------------------
Which goes to show that he doesn't understand his own simulation. Mendel's Accounant doesn't model "internal complexity". It purports to abstract selective differences.
A specific limit to beneficial mutations may not make sense. Some mutations may sweep over a population rapidly. It is certainly conceivable that a seemingly minor mutation could dramatically increase reproductive success, perhaps many-fold, such as when there is only one male that reproduces.
Posted by: midwifetoad on June 16 2009,01:11
There are two flavors of Creation Math:
Proving that observed phenomena are impossible, and proving that unobserved phenomena are inevitable.
Posted by: Dr.GH on June 16 2009,10:26
Quote (mammuthus @ June 15 2009,16:38) | "More from Sanford. Apparently, MA is the "state of the art" in numerical genetics. Also, he wants to collaborate with y'all. According to Jorge: ..." ---------------------QUOTE-------------------
This is interesting, but it is a wasted effort if filtered through Jorge F.
If Sanford wanted to, he would register at TWeb. I don't see the need to invite him here. But, that might be preferable to TWeb because we could be better assured of moderator/admin issues (ie. no need to bother filtering the JorgF crap).
Posted by: sledgehammer on June 16 2009,14:42
Quote (Zachriel @ June 15 2009,19:00) |
---------------------QUOTE------------------- John Sanford: That is easily re-set, but one has to consider if it is reasonable to realistically build up a genome by increments of 10% (I am speaking of internal complexity - not adaptation to an external environmental factor). I think that is like going up Mt. Improbable using a helicopter. ---------------------QUOTE-------------------
Which goes to show that he doesn't understand his own simulation. Mendel's Accounant doesn't model "internal complexity". It purports to abstract selective differences.
A specific limit to beneficial mutations may not make sense. Some mutations may sweep over a population rapidly. It is certainly conceivable that a seemingly minor mutation could dramatically increase reproductive success, perhaps many-fold, such as when there is only one male that reproduces. ---------------------QUOTE-------------------
I think it is even worse that that Zach, for three reasons:
Firstly, the parameter in question is the "maximal fitness effect of a beneficial mutation". This has nothing to do with the physical makeup of the genome, as Dr Sanford seems to imply. It seems absurd to link this parameter to some implication of "affected base pairs", much less some inferred "infusion of information" into the genome, as the description of this parameter in the MA manual below seems to imply:
---------------------QUOTE------------------- < Mendel's Accountant User Manual >: Maximal beneficial mutation effects – A realistic upper limit must be placed upon beneficial mutations. This is because a single nucleotide change can expand total biological functionality of an organism only to a limited degree. The larger the genome and the greater the total genomic information, the less a single nucleotide is likely to increase the total. Researchers must make a judgment for themselves of what is a reasonable maximal value for a single base change. The MENDEL default value for this limit is 0.001. This limit implies that a single point mutation can increase total biological functionality by as much as 0.1%. In a genome such as man’s, assuming only 10% of the genome is functional, such a maximal impact point mutation might be viewed as equivalent to adding 300,000 new information-bearing base pairs each of which had the genome-wide average fitness contribution. Researchers need to honestly define the upper limit they feel is realistic for their species. However it should be obvious that, in all cases, the upper limit for beneficial mutation effects ought to correspond to a very small fraction of the total genomic information (i.e. a small number relative to one). ---------------------QUOTE-------------------
Call me cynical, but when this much handwaving is applied to a point, I suspect it means that this is a crucial parameter when it comes to justifying the conclusion that "genetic entropy" leads inevitably to genetic meltdown.
Secondly, there seems to be no reason to limit the maximal fitness effect of a beneficial mutation to a very small number. Clearly, as pointed out by Z and others, in a competitive environment, there seems to be no reason a single beneficial mutation cannot virtually guarantee reproductive success. In other words, why can't the maximal fitness benefit of a beneficial mutation be something close to unity?
Lastly, the parameter in question is implemented as a scale factor on the probability distribution of fitness effect, which, for no apparent reason, is hard coded to be identical to the shape of the PDF of fitness effects of deleterious mutations (whose scale factor is hard coded to be -1, i.e. instant death). The effect of this fitness effect PDF scaling is even more significant when one considers that the PDF shape is already heavily skewed so that the vast majority of mutations fall "under the radar" of selection. So now, all beneficial mutations are 1000-fold (default value 0.001) less likely to become fixed in the population through selection, hard or soft. That seems unrealistic to me, so say the least.
To mitigate the above bias against beneficials, I recommend setting the maximal beneficial fitness parameter close to unity, which will symmetrize the fitness effect probability distribution, and then play with the parameter that determines the proportion of beneficial mutations ( i.e. set the ratio of beneficial to deleterious mutations to .001 or whatever). My guess is that this will "level the playing field" and have a significant effect on the overall fitness trend.
Maybe someone who has MA up and running (Zach, Sam?) could try this and report?
P.S. I occurs to me that the PDF shape symmetry might also help account for the effects of the mutational "flipping" of deleterious to beneficial and vice versa.
ETA clarification: "be fixed by selection" is now "become fixed in the population through selection"
Posted by: JohnW on June 16 2009,15:47
Quote (sledgehammer @ June 16 2009,12:42) | I think it is even worse that that Zach, for three reasons:
<snip> ---------------------QUOTE-------------------
I think you're right, sledgehammer. It looks like Sanford thinks the beneficial effect of a mutation is constrained by its "size" relative to the total size of the genome - the bigger the genome, the smaller the effect of a single mutation.
Assuming you and I are not misinterpreting, I think there are two possibilities: (a) - he really is that dumb (perhaps he thinks giraffes have more neck genes than humans); (b) - this is yet another silly exercise in apologetics - slosh a lot of sciency talk around, but fix it to make sure you get the answer Jesus wants you to get.
I'm strongly leaning (b).
Posted by: AnsgarSeraph on June 16 2009,17:01
Quote (sledgehammer @ June 16 2009,14:42) | Maybe someone who has MA up and running (Zach, Sam?) could try this and report? ---------------------QUOTE-------------------
I was actually running simulations on this idea earlier today and will be posting some graphs up on TWeb within the next hour. The runs were identical, save that one run had a "maximal fitness effect" of 0.001 and the other a maximal fitness effect of 0.01. The first population, after ~6000 generations, had a fitness of 0.844. The second, after the same number of generations, had a fitness of 1.350. The number of beneficial mutations was cranked up to 75% to ensure the runs went for a significant number of generations.
I also received an e-mail from Dr. Sanford today, part of which dealt in this area . . . I am waiting to hear from him whether I have permission to forward his entire e-mail on forums; there wasn't any revelatory information, in any case. Dr. Sanford feels that 0.001 is an appropriate setting but is willing to discuss whether that is the case or not.
—Sam
Posted by: sledgehammer on June 16 2009,17:46
Thanks Sam. Overall fitness switching from a negative trend to positive as a result of a 10X increase in "maximal beneficial fitness" seems to confirm that it is one of the most important parameters as far as the trend is concerned. Unfortunately, I can't see the attachments you posted on TWeb without registering. Any chance you could post them here as well? (Post them to < my photobucket page >, and then link them here via the image tag)
Posted by: Steve Schaffner on June 16 2009,18:54
Quote (Zachriel @ June 14 2009,08:47) | If the genome is 3e8 bases in size (or any such large number) and there is an average of one mutation per child, then we expect that ~1/3 of the children will *not* have mutations. If each mother produces 6 children, then chances are that each new generation will include many individuals without mutations. (E.g. mice often have several litters of 4-10 pups.)
---------------------QUOTE-------------------
True, although that's probably not a good model for humans, who have something between 1 and 3 deleterious mutations (probably) per birth, and more likely close to the top end than the bottom of the range. That doesn't mean that the population has to collapse genetically. It just means that in the steady state, everyone is carrying a fair number of deleterious mutations, with those having the most being the least likely to reproduce.
---------------------QUOTE-------------------
If we use truncated selection, heritability=1, mutations=1, seed=30, all else default, this is what we see.
---------------------QUOTE-------------------
Note that the population survives only because of truncation selection, which is not a realistic process for such slightly deleterious mutations. In this model, each individual will have on average one new mutation with a negative selection coefficient of something like 10-6 or 10-7, but selection is nonetheless effective enough to perfectly sort the fitness of the individuals and eliminate only the least fit.
---------------------QUOTE-------------------
It's interesting to see how the deleterious mutations ride along with the beneficial mutations until fixation before being weeded out.
---------------------QUOTE-------------------
Yes. Selective sweeps in action.
Posted by: AnsgarSeraph on June 16 2009,19:00
I didn't see an option for me to add to your Photobucket page, so I registered and created my own.
Here are the files. The first two are fitness graphs:
These are the distribution graphs for JSW507 (deleterious first, beneficial second):
And 508:
I've uploaded all the pictures, as well as the Input and Output files to my Box.net account, also:
< MENDEL Run - JSW507, JSW508 >
—Sam
Posted by: midwifetoad on June 16 2009,19:12
---------------------QUOTE------------------- It just means that in the steady state, everyone is carrying a fair number of deleterious mutations, with those having the most being the least likely to reproduce.
---------------------QUOTE-------------------
I'm having trouble coming to grips with the simple-mindedness of assuming that beneficial or deleterious mutations have any necessary effect at on on fecundity.
My family hosts a number of odd and relatively undesirable alleles. We tend to have extra sets of front teeth -- which requires surgery to prevent blocking permanent teeth. My son has Adam's missing rib, something that gets painful when playing racket sports. Most of us are nearsighted.
What we don't have are genes leading to early death or to belief in cult science. And based on anecdotal evidence, the inability to understand cumulative selection is positively correlated withing having nine children.
Posted by: Zachriel on June 16 2009,19:38
Quote (Steve Schaffner @ June 16 2009,18:54) | Quote (Zachriel @ June 14 2009,08:47) | If the genome is 3e8 bases in size (or any such large number) and there is an average of one mutation per child, then we expect that ~1/3 of the children will *not* have mutations. If each mother produces 6 children, then chances are that each new generation will include many individuals without mutations. (E.g. mice often have several litters of 4-10 pups.)
---------------------QUOTE-------------------
True, although that's probably not a good model for humans, who have something between 1 and 3 deleterious mutations (probably) per birth, and more likely close to the top end than the bottom of the range. That doesn't mean that the population has to collapse genetically. It just means that in the steady state, everyone is carrying a fair number of deleterious mutations, with those having the most being the least likely to reproduce. ---------------------QUOTE-------------------
It's probably not a good model for mice either. I'm trying a wide variety of parameters to determine the program's limits—or to break it. I've tried very high fecundity, high beneficial mutation rates, and various other extremes. What about additive vs. multiplicative mutational effects?
Quote (AnsgarSeraph @ June 16 2009,19:00) | Here are the files. The first two are fitness graphs: ---------------------QUOTE-------------------
Is that with maximum beneficial effect equal to one versus default? Fraction favorable is set very high.
Consider this. If we use the defaults, then no beneficial mutation becomes fixed, which is contrary to fact. Even if you believe species are ultimately doomed to genetic meltdown, it still means the default parameters or the program itself has a problem.
Posted by: AnsgarSeraph on June 16 2009,19:51
Quote (Zachriel @ June 16 2009,19:38) | Is that with maximum beneficial effect equal to one versus default? Fraction favorable is set very high.
Consider this. If we use the defaults, then no beneficial mutation becomes fixed, which is contrary to fact. Even if you believe species are ultimately doomed to genetic meltdown, it still means the default parameters or the program itself has a problem. ---------------------QUOTE-------------------
The first run (JSW507) has a maximum beneficial effect of 0.01, while the second run (JSW508) is set to the default 0.001. There's only one order of magnitude between the two runs.
Sanford seems to be willing to give on the accuracy of the default parameters for the program . . . which is odd, in that those are the parameters he defends as biologically realistic in his papers. I think there are enough wrong parameters (and possibly a completely wrong coding paradigm) that any couple of parameters could be fixed and the population would still show fitness decline.
At the moment, I'm leaning toward the idea that the program is broken . . . but hopefully we can get Dr. Sanford on TWeb soon enough and have some clear back-n-forth.
—Sam
Posted by: Zachriel on June 16 2009,21:15
Quote (AnsgarSeraph @ June 16 2009,19:51) | At the moment, I'm leaning toward the idea that the program is broken . . . but hopefully we can get Dr. Sanford on TWeb soon enough and have some clear back-n-forth.
—Sam ---------------------QUOTE-------------------
Every time they add a feature it seems to overlap another feature and reduce the effect of selection. "Probability selection" interacts with "Heritability". "Fraction of mutations beneficial" interacts with "maximum beneficial effect".
How does Mendel's Accountant handle "probability selection". If they use Roulette Wheel selection, then it seems to negate the number of offspring setting. Nor does Roulette Wheel selection have a problem maintaining the population as suggested in the manual.
I took a look at the source code, but it doesn't seem formatted for readability.
Posted by: mammuthus on June 17 2009,14:12
The latest update is that Sanford will be engaged in a one on one discussion at TWeb with Steve Schaffner:
---------------------QUOTE------------------- All right; I just finished responding back to Dr. Sanford. He appears to be willing to engage sfs1 in a discussion on TWeb. He agrees that a one-on-one discussion is best, since he prefers to keep the discussion from being polarized.
I told Dr. Sanford that I would initiate the process of setting up a Basketball Court thread but I'm not sure how to do that; any long-timers here know how that works? We could use this thread as a commentary thread, I think.
This has the potential to be really interesting. Dr. Sanford seems to be very genuine and polite; I think we've got a good chance to sort out some of MENDEL's problems without getting lost in the weeds.
Dr. Sanford permitted me to post our e-mail exchange; the emails are attached. This is the part that concerns MENDEL:
---------------------QUOTE------------------- As you know, Mendel has enormous user-specificity. It is literally a genetic accounting program, and honestly takes the input parameters which the users chooses, and processes them through the biological mechanics of mutation, selection, meiosis, gamete fusion, and formation of the next generation.
The default settings are just a starting point for research. If you put in the right parameters you can get extreme evolution. However, we argue that realistic settings always yield degeneration. This can be a point of discussion.
In regrad to your own experiments, I would like to point out that biologists realize that the distribution of good and bad mutations are not symetrical. There are far fewer beneficials, and the range of beneficials is different - it is generally acknowledged that beneficials have a lower mean effect (is is harder to make major improvements in a highly optimized system). If you go to the mutation specifications, you can specify a high maximal beneficial effect - even up to 1.0. The default is .001 - meaning that a maximal beneficial effect is small, increasing fitness by 0.1%. A setting of 1.0 means that a single mutation can double fitness - creating as much biological functionality as the entire rest of the genome. This type of setting has many biological and logical ramifications that require quite a bit of discussion. In an accounting program, a single mega-beneficial can ALWAYS compensate for any amount of genetic damage. But is that realistic? ---------------------QUOTE-------------------
A big thanks to sfs1 for agreeing to dialog with Dr. Sanford when he comes to TWeb. This should be an illuminating discussion and a great addition to the stuff we've already figured out.
—Sam ---------------------QUOTE-------------------
I think you'll have to register at TWeb to view the debate when it comes up online.
Posted by: Zachriel on June 17 2009,15:11
Quote (JohnW @ June 16 2009,15:47) | Quote (sledgehammer @ June 16 2009,12:42) | I think it is even worse that that Zach, for three reasons:
<snip> ---------------------QUOTE-------------------
I think you're right, sledgehammer. It looks like Sanford thinks the beneficial effect of a mutation is constrained by its "size" relative to the total size of the genome - the bigger the genome, the smaller the effect of a single mutation.
Assuming you and I are not misinterpreting, I think there are two possibilities: (a) - he really is that dumb (perhaps he thinks giraffes have more neck genes than humans); (b) - this is yet another silly exercise in apologetics - slosh a lot of sciency talk around, but fix it to make sure you get the answer Jesus wants you to get.
I'm strongly leaning (b). ---------------------QUOTE-------------------
He just said it again.
---------------------QUOTE------------------- Sanford: A setting of 1.0 means that a single mutation can double fitness - creating as much biological functionality as the entire rest of the genome. ---------------------QUOTE-------------------
A doubling in fitness does not imply a doubling of "biological functionality". Resistance to plague doesn't imply a dramatic increase in the size of a genome. It may just mean that fleas think you smell bad.
Posted by: sledgehammer on June 17 2009,16:39
---------------------QUOTE------------------- Sanford: A setting of 1.0 means that a single mutation can double fitness - creating as much biological functionality as the entire rest of the genome. ---------------------QUOTE-------------------
I don't buy that argument either. This is from: < J. Sanford, J. Baumgardner, W. Brewer, P. Gibson, and W. Remine. Mendel's Accountant: A biologically realistic forward-time population genetics program. SCPE. 8(2), July 2007, pp. 147-165. >
---------------------QUOTE------------------- 3.2. Prescribing Fitness Effects of Mutations. ...These scale factors are meaningful relative to the initial fitness value assumed for the population before we introduce new mutations. In Mendel we assume this initial fitness value to be 1.0. For deleterious mutations, since lethal mutations exist, we choose dsf del = -1. For favorable mutations, we allow the user to specify the (positive) scale factor dsf fav. Normally, this would be a small value (e.g., 0.01 to 0.1), since it is only in very special situations that a single beneficial mutation would have a very large effect. ---------------------QUOTE-------------------
Seems to me that if the scale factor for deleterious mutations of -1 represents lethality, (i.e. no chance of reproduction), then it's inverse for beneficial mutations, +1, would represent guaranteed reproductive success, not "doubling of fitness".
Posted by: Zachriel on June 17 2009,19:39
Quote (sledgehammer @ June 17 2009,16:39) |
---------------------QUOTE------------------- Sanford: A setting of 1.0 means that a single mutation can double fitness - creating as much biological functionality as the entire rest of the genome. ---------------------QUOTE-------------------
I don't buy that argument either. This is from: < J. Sanford, J. Baumgardner, W. Brewer, P. Gibson, and W. Remine. Mendel's Accountant: A biologically realistic forward-time population genetics program. SCPE. 8(2), July 2007, pp. 147-165. >
---------------------QUOTE------------------- 3.2. Prescribing Fitness Effects of Mutations. ...These scale factors are meaningful relative to the initial fitness value assumed for the population before we introduce new mutations. In Mendel we assume this initial fitness value to be 1.0. For deleterious mutations, since lethal mutations exist, we choose dsf del = -1. For favorable mutations, we allow the user to specify the (positive) scale factor dsf fav. Normally, this would be a small value (e.g., 0.01 to 0.1), since it is only in very special situations that a single beneficial mutation would have a very large effect. ---------------------QUOTE-------------------
Seems to me that if the scale factor for deleterious mutations of -1 represents lethality, (i.e. no chance of reproduction), then it's inverse for beneficial mutations, +1, would represent guaranteed reproductive success, not "doubling of fitness". ---------------------QUOTE-------------------
Relative fitness compares different genotypes in a population, and is defined as the ratio of the average numbers contributed to the next generation with one genotype set arbitarily at 1. So if genotype-A contributes 300 and normal genotype-B contributes 200, then genotype-A has a relative fitness of 1.5 compared to genotype-B. Relative fitness can be most any non-negative number.
Absolute fitness is calculated for a single genotype as simply the ratio of the numbers in the new generation to the old after selection. So if the population of the genotype increases from 100 to 200, then it has an absolute fitness of 2. Again, absolute fitness can be most any non-negative number.
I've been trying to independently implement Mendel's Accountant, but keep running into such definitional problems. Heritability. Fitness. And how they're handling probability selection. I'm working with a simplified model, but Mendel's Accountant should be able to handle the simple cases with obvious results.
I'm assuming that if fitness increases by 1, then it goes from 1 to 2 (100% increase), or from 2 to 3 (50%) and so on. It shouldn't be additive, but multiplicative so it scales. Sanford's complaint is that if we use multiplicative, then it can never reach zero. So he is clearly assuming his conclusion.
It's not easy to resolve some of these problems. If we scale fecundity with fitness, then that solves the problem of very low fitness. But introduces a problem if the fitness levels climb so that we may be radically multiplying the reproductive rate.
Of course, "generation" is an abstraction, so it may represent an undefined breeding season. Frankly, the whole thing is an abstraction, so any strong claims about the specifics of biology are invalid anyway.
Posted by: Henry J on June 17 2009,20:19
---------------------QUOTE------------------- I took a look at the source code, but it doesn't seem formatted for readability. ---------------------QUOTE-------------------
Maybe it evolved?
Henry
Posted by: Zachriel on June 17 2009,20:59
Some bits from Mendel's Accountant source code.
Offspring:
if(fitness_dependent_fertility) then fitness_adjusted_offspring = num_offspring*sqrt(post_sel_fitness)
Favorable Mutations:
c... Compute mean absolute fitness effect for favorable mutations.
sum = 0. d2 = 1.
do i=1,1000000 d1 = d2 d2 = exp(-alpha_fav*(0.000001*i)**gamma_fav) sum = sum + d1 + d2 end do
fav_mean = 0.0000005*sum*max_fav_fitness_gain
Phenotypic Fitness:
noise = sqrt(geno_fitness_variance*(1. - heritability) /heritability + non_scaling_noise**2)
c... Add noise to the fitness to create a phenotypic fitness score... do i=1,total_offspring pheno_fitness(i) = fitness(i) + random_normal()*noise
Unrestricted probability selection:
c... For unrestricted probability selection, divide the phenotypic c... fitness by a uniformly distributed random number prior to c... ranking and truncation. This procedure allows the probability c... of surviving and reproducing in the next generation to be c... directly related to phenotypic fitness and also for the correct c... number of individuals to be eliminated to maintain a constant c... population size.
do i=1,total_offspring work_fitness(i) = work_fitness(i)/(randomnum(1) + 1.d-15) end do
Divide by randomnum as well as add non-heritable noise to the phenotype?
Posted by: Bob O'H on June 18 2009,01:30
Quote (Zachriel @ June 17 2009,19:39) | Relative fitness compares different genotypes in a population, and is defined as the ratio of the average numbers contributed to the next generation with one genotype set arbitarily at 1. So if genotype-A contributes 300 and normal genotype-B contributes 200, then genotype-A has a relative fitness of 1.5 compared to genotype-B. Relative fitness can be most any non-negative number.
Absolute fitness is calculated for a single genotype as simply the ratio of the numbers in the new generation to the old after selection. So if the population of the genotype increases from 100 to 200, then it has an absolute fitness of 2. Again, absolute fitness can be most any non-negative number.
---------------------QUOTE-------------------
Yes, this is how it's done. Personally, I'd prefer it if it was on the log scale: there's all sorts of statistical theory that slots nicely into the evolutionary theory.
---------------------QUOTE------------------- I've been trying to independently implement Mendel's Accountant, but keep running into such definitional problems. Heritability. Fitness. And how they're handling probability selection. I'm working with a simplified model, but Mendel's Accountant should be able to handle the simple cases with obvious results. ---------------------QUOTE-------------------
My advice: keep away from heritability. It complicates matters, and is dependent on the genetic variation in the population. I suspect Sanford et al. don't really understand quantitative genetics: certainly Sanford makes some mistakes because of his lack of understanding in Genetic Entropy.
---------------------QUOTE------------------- I'm assuming that if fitness increases by 1, then it goes from 1 to 2 (100% increase), or from 2 to 3 (50%) and so on. It shouldn't be additive, but multiplicative so it scales. Sanford's complaint is that if we use multiplicative, then it can never reach zero. So he is clearly assuming his conclusion. ---------------------QUOTE-------------------
Indeed, but it can get arbitrarily close to 0, so it doesn't make any practical difference (unless you're working with continuous populations, when you end up with nano-foxes).
---------------------QUOTE------------------- It's not easy to resolve some of these problems. If we scale fecundity with fitness, then that solves the problem of very low fitness. But introduces a problem if the fitness levels climb so that we may be radically multiplying the reproductive rate. ---------------------QUOTE-------------------
Don't you just have to invoke density dependence? I think this Darwin chap had some thoughts along those lines, after he read Malthus.
---------------------QUOTE------------------- Of course, "generation" is an abstraction, so it may represent an undefined breeding season. Frankly, the whole thing is an abstraction, so any strong claims about the specifics of biology are invalid anyway. ---------------------QUOTE-------------------
Depends on what species you're working on. For things like butterflies, it's fine. And, to be honest, the purpose of Mendel's Accountant is to make general statements about evolution, so this stuff is OK, as long as it's clear what the assumptions are. A lot of the assumptions shouldn't have too big an effect on the robustness of the claims.
Posted by: Bob O'H on June 18 2009,01:58
Quote (Zachriel @ June 17 2009,20:59) | Some bits from Mendel's Accountant source code.
Offspring:
if(fitness_dependent_fertility) then fitness_adjusted_offspring = num_offspring*sqrt(post_sel_fitness)
---------------------QUOTE-------------------
Any idea why the square root of post_sel_fitness?
---------------------QUOTE------------------- Favorable Mutations:
c... Compute mean absolute fitness effect for favorable mutations.
sum = 0. d2 = 1.
do i=1,1000000 d1 = d2 d2 = exp(-alpha_fav*(0.000001*i)**gamma_fav) sum = sum + d1 + d2 end do
fav_mean = 0.0000005*sum*max_fav_fitness_gain ---------------------QUOTE-------------------
Ugh. That's a horrible way to do the integration. I recognise the density (George Box was promoting it in the 50s), and it has an analytic solution: alpha_fav*gamma_fav*Gamma(1/gamma_fav), where Gamma() is the gamma function.
(ref: Box, G. E. P. 1953. A note on regions for tests of kurtosis. Biometrika 40: 465-468)
Also, where does the 0.0000005 come from? I'm always suspicious of constants like that.
---------------------QUOTE------------------- Phenotypic Fitness:
noise = sqrt(geno_fitness_variance*(1. - heritability) /heritability + non_scaling_noise**2)
c... Add noise to the fitness to create a phenotypic fitness score... do i=1,total_offspring pheno_fitness(i) = fitness(i) + random_normal()*noise ---------------------QUOTE-------------------
The random_normal()*noise[/color] is environmental variation, and we would typically set it to be constant. Because MA defines heritability, they have to back-calculate the environmental variance: that's what geno_fitness_variance*(1. - heritability) /heritability is doing. Except it's wrong, because the non_scaling_noise is added too, so the heritability isn't a heritability.
Also, note what this back-calculation means: it scales the environmental variance to the genetic variance, so as genetic variation decreases, the environment becomes more stable. This is bollocks.
They should really set the environmental variance. The problem is getting an easily understood scaling, but that can be done by scaling to the mean fitness effects.
Also, check through: the calculations look OK for log(fitness): they range from -infinity to infinity and are additive. But on what scale does pheno_fitness affect? On this scale, or the exponential scale?
---------------------QUOTE------------------- Unrestricted probability selection:
c... For unrestricted probability selection, divide the phenotypic c... fitness by a uniformly distributed random number prior to c... ranking and truncation. This procedure allows the probability c... of surviving and reproducing in the next generation to be c... directly related to phenotypic fitness and also for the correct c... number of individuals to be eliminated to maintain a constant c... population size.
do i=1,total_offspring work_fitness(i) = work_fitness(i)/(randomnum(1) + 1.d-15) end do
Divide by randomnum as well as add non-heritable noise to the phenotype? ---------------------QUOTE-------------------
:-) No idea what's going on.
Posted by: Zachriel on June 18 2009,07:02
Quote (Bob O'H @ June 18 2009,01:30) | Quote (Zachriel @ June 17 2009,19:39) | I've been trying to independently implement Mendel's Accountant, but keep running into such definitional problems. Heritability. Fitness. And how they're handling probability selection. I'm working with a simplified model, but Mendel's Accountant should be able to handle the simple cases with obvious results. ---------------------QUOTE-------------------
My advice: keep away from heritability. It complicates matters, and is dependent on the genetic variation in the population. I suspect Sanford et al. don't really understand quantitative genetics: certainly Sanford makes some mistakes because of his lack of understanding in Genetic Entropy. ---------------------QUOTE-------------------
I've been setting heritability to 1 when running tests, so I should be able to reach comparative results. I think a working heritability parameter could be included in a Mendel's Accountant. But the concept is sometimes counterintuitive.
Quote (Bob O'H @ June 18 2009,01:30) | Quote (Zachriel @ June 17 2009,19:39) | Of course, "generation" is an abstraction, so it may represent an undefined breeding season. Frankly, the whole thing is an abstraction, so any strong claims about the specifics of biology are invalid anyway. ---------------------QUOTE-------------------
Depends on what species you're working on. For things like butterflies, it's fine. And, to be honest, the purpose of Mendel's Accountant is to make general statements about evolution, so this stuff is OK, as long as it's clear what the assumptions are. A lot of the assumptions shouldn't have too big an effect on the robustness of the claims. ---------------------QUOTE-------------------
I think you could make claims about particular models of evolution, but you would have to be very careful about a bold claim that evolution is falsified based on such an abstraction. Certainly some carefully devised claims can be justified.
Quote (Bob O'H @ June 18 2009,01:58) | Quote (Zachriel @ June 17 2009,20:59) | Some bits from Mendel's Accountant source code.
Offspring:
if(fitness_dependent_fertility) then fitness_adjusted_offspring = num_offspring*sqrt(post_sel_fitness)
---------------------QUOTE-------------------
Any idea why the square root of post_sel_fitness? ---------------------QUOTE-------------------
I'm guessing it's arbitrary—to keep the reproductive rate from running away.
Quote (Bob O'H @ June 18 2009,01:58) | Also, where does the 0.0000005 come from? I'm always suspicious of constants like that. ---------------------QUOTE-------------------
I was kinda hoping you knew. It may be an artifact of the calculation, but why that particular number? I agree that having a constant imbedded in the code without a notation is rather odd. Even if it is a standard equation, it's still best to notate it.
Quote (Bob O'H @ June 18 2009,01:58) | Quote (Zachriel @ June 17 2009,20:59) | Phenotypic Fitness:
noise = sqrt(geno_fitness_variance*(1. - heritability) /heritability + non_scaling_noise**2)
c... Add noise to the fitness to create a phenotypic fitness score... do i=1,total_offspring pheno_fitness(i) = fitness(i) + random_normal()*noise ---------------------QUOTE-------------------
The random_normal()*noise[/color] is environmental variation, and we would typically set it to be constant. Because MA defines heritability, they have to back-calculate the environmental variance: that's what geno_fitness_variance*(1. - heritability) /heritability is doing. Except it's wrong, because the non_scaling_noise is added too, so the heritability isn't a heritability. ---------------------QUOTE-------------------
Non-scaling noise is set to 0 in the parameters, so we can ignore that for now. The problem of environmental variance scaling with genetic variance is a serious problem. Who could have guessed that the dinosaurs could have avoided planetary oblivion if they just weren't so darned diverse.
Posted by: Zachriel on June 18 2009,08:00
Quote (Zachriel @ June 18 2009,07:02) | Quote (Bob O'H @ June 18 2009,01:30) | Quote (Zachriel @ June 17 2009,19:39) | I've been trying to independently implement Mendel's Accountant, but keep running into such definitional problems. Heritability. Fitness. And how they're handling probability selection. I'm working with a simplified model, but Mendel's Accountant should be able to handle the simple cases with obvious results. ---------------------QUOTE-------------------
My advice: keep away from heritability. It complicates matters, and is dependent on the genetic variation in the population. I suspect Sanford et al. don't really understand quantitative genetics: certainly Sanford makes some mistakes because of his lack of understanding in Genetic Entropy. ---------------------QUOTE-------------------
I've been setting heritability to 1 when running tests, so I should be able to reach comparative results. I think a working heritability parameter could be included in a Mendel's Accountant. But the concept is sometimes counterintuitive. ---------------------QUOTE-------------------
We only need to be concerned with ranking, not absolute phenotypic fitness, when simulating heritability. So I've been normalizing fitness (which preserves ranking), then applying the specified noise. For a child population of 25 and heritability of 50%, I get rankings like this. The number is genotypic rank, the position is phenotypic rank.
3 5 1 8 6 2 9 7 12 15 4 13 11 10 22 19 16 14 18 20 21 24 23 17 25
Posted by: sledgehammer on June 18 2009,11:05
Quote (Bob O'H @ June 17 2009,23:58) |
---------------------QUOTE------------------- Favorable Mutations:
c... Compute mean absolute fitness effect for favorable mutations.
sum = 0. d2 = 1.
do i=1,1000000 d1 = d2 d2 = exp(-alpha_fav*(0.000001*i)**gamma_fav) sum = sum + d1 + d2 end do
fav_mean = 0.0000005*sum*max_fav_fitness_gain ---------------------QUOTE-------------------
Ugh. That's a horrible way to do the integration. I recognise the density (George Box was promoting it in the 50s), and it has an analytic solution: alpha_fav*gamma_fav*Gamma(1/gamma_fav), where Gamma() is the gamma function.
(ref: Box, G. E. P. 1953. A note on regions for tests of kurtosis. Biometrika 40: 465-468)
Also, where does the 0.0000005 come from? I'm always suspicious of constants like that. ---------------------QUOTE-------------------
Well it is 1/2*1/1,000,000, and since it is a density, the sum-as-integral needs to be scaled, but I thought the (0.000001*i) was supposed to do that. I think it's a boo-boo.
Posted by: Zachriel on June 18 2009,13:13
Nevermind.
Posted by: Dr.GH on June 18 2009,14:28
Quote (Zachriel @ June 18 2009,11:13) | Nevermind. ---------------------QUOTE-------------------
< This could answer every thing. >
Posted by: k.e.. on June 18 2009,14:37
Quote (Dr.GH @ June 18 2009,22:28) | Quote (Zachriel @ June 18 2009,11:13) | Nevermind. ---------------------QUOTE-------------------
< This could answer every thing. > ---------------------QUOTE-------------------
phhhht
You say statistics I say stochastics.
Mathmaticians provide the sheet music, I just want the finger positions and the beat.
Actually screw taht, I think I'll just bit torrent the whole damn lot.
If those turkeys can design a better mouse tarp(sic) using that horse and buggy with square wheels then all our moons are their bases.
It aint going to happen, not now not eva.
Look out for the patent. It will be up there with zero wavelenght quantum antigravity decelarators. Selling webverts and elephnat(sic) repellant is about all they can do.
Posted by: Steve Schaffner on June 18 2009,16:59
Quote (Bob O'H @ June 18 2009,01:30) | My advice: keep away from heritability. It complicates matters, and is dependent on the genetic variation in the population. I suspect Sanford et al. don't really understand quantitative genetics: certainly Sanford makes some mistakes because of his lack of understanding in Genetic Entropy.
---------------------QUOTE-------------------
Modeling is easier if you simply work with the selective advantage of the genotype, rather than the selection coefficient for a partly heritable trait. Here the partly heritable trait is fitness itself, which makes my head hurt.
---------------------QUOTE-------------------
Indeed, but it can get arbitrarily close to 0, so it doesn't make any practical difference (unless you're working with continuous populations, when you end up with nano-foxes).
---------------------QUOTE-------------------
What kind of fitness are we talking about here, though? Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.
This seems like a basic point, but I don't understand what the program is trying to model here.
Posted by: sledgehammer on June 18 2009,17:36
Quote (Steve Schaffner @ June 18 2009,14:59) | Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.
This seems like a basic point, but I don't understand what the program is trying to model here. ---------------------QUOTE-------------------
[Cynic] I think the program is trying to model nothing more or less than the complete, abject failure of Darwinian Evolution to produce anything other than Genetic Entropy leading inevitably to Mutational Meltdown, unless the genome is infused with Complex Specified Information from a divine source. [/Cynic]
Posted by: deadman_932 on June 18 2009,18:01
Quote (sledgehammer @ June 18 2009,17:36) | Quote (Steve Schaffner @ June 18 2009,14:59) | Since MA keeps the population constant, it is implicitly using relative fitness. In that case, introducing an arbitrary scaling factor into the fitness doesn't matter; it's only the ratio of fitnesses that matters. It seems to me that the model treats fitness as being relative until it get very small, at which point it is treated as absolute. But there is no simple way to determine absolute fitness from relative fitness.
This seems like a basic point, but I don't understand what the program is trying to model here. ---------------------QUOTE-------------------
[Cynic] I think the program is trying to model nothing more or less than the complete, abject failure of Darwinian Evolution to produce anything other than Genetic Entropy leading inevitably to Mutational Meltdown, unless the genome is infused with Complex Specified Information from a divine source. [/Cynic] ---------------------QUOTE-------------------
The answer is quite clear, materialist chance-worshipping Darweenieans:
Posted by: Zachriel on June 18 2009,18:58
Quote (Bob O'H @ June 18 2009,01:58) |
---------------------QUOTE------------------- Unrestricted probability selection:
c... For unrestricted probability selection, divide the phenotypic c... fitness by a uniformly distributed random number prior to c... ranking and truncation. This procedure allows the probability c... of surviving and reproducing in the next generation to be c... directly related to phenotypic fitness and also for the correct c... number of individuals to be eliminated to maintain a constant c... population size.
do i=1,total_offspring work_fitness(i) = work_fitness(i)/(randomnum(1) + 1.d-15) end do
Divide by randomnum as well as add non-heritable noise to the phenotype? ---------------------QUOTE-------------------
:-) No idea what's going on. ---------------------QUOTE-------------------
Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.
The net result is a significant reduction in the effect of selection.
Posted by: Steve Schaffner on June 18 2009,20:53
---------------------QUOTE-------------------
Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.
The net result is a significant reduction in the effect of selection. ---------------------QUOTE-------------------
It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution).
As a model of selection that seems reasonable (apart from the way the noise scales), but expressing it in terms of the heritability of fitness I find hard to understand -- fitness isn't a phenotype, it's a measure of the success of a phenotype. And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring. This is a model of evolution written by a breeder rather than by a population geneticist, I would say.
Posted by: Zachriel on June 18 2009,21:42
Quote (Steve Schaffner @ June 18 2009,20:53) |
---------------------QUOTE-------------------
Basically, he is applying reductions in heritability twice. The heritability function itself, and then this random procedure for selecting reproductive winners by re-ranking them before truncation and passing to the next generation. We could modify the divisor to some function(randomnum) and adjust the degree and type of randomness for picking winners {something like randomnum^N}. It's just another way of introducing random factors into the choice of winners and losers which should already have been accounted for in the heritability function.
The net result is a significant reduction in the effect of selection. ---------------------QUOTE-------------------
It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution). ---------------------QUOTE-------------------
Yes, I'm okay with that. That's how my own (rather primitive) model is structured. I'm not modeling recombination at this point, because I don't think that's where the problem lies. It's more basic than that. There's seems to be very little signal of selection. I'm still tinkering, but his results don't seem to jive.
Posted by: midwifetoad on June 19 2009,00:40
< http://www.youtube.com/watch?v=SzEvcS01Cl0 >
Posted by: Zachriel on June 19 2009,07:23
Phenotypic Fitness:
noise = sqrt(geno_fitness_variance*(1. - heritability) /heritability + non_scaling_noise**2)
c... Add noise to the fitness to create a phenotypic fitness score... do i=1,total_offspring pheno_fitness(i) = fitness(i) + random_normal()*noise
Leaving aside the non-scaling noise which defaults to zero. And leaving aside the scaling problem which can be overcome with normalization.
c... For unrestricted probability selection, divide the phenotypic c... fitness by a uniformly distributed random number prior to c... ranking and truncation. This procedure allows the probability c... of surviving and reproducing in the next generation to be c... directly related to phenotypic fitness and also for the correct c... number of individuals to be eliminated to maintain a constant c... population size.
do i=1,total_offspring work_fitness(i) = work_fitness(i)/(randomnum(1) + 1.d-15) end do
The first random factor represents non-heritable influences on phenotype, the second representing chance of successful reproduction. Is there any processing between these two functions that we can't simply reduced to (ignoring the infinitesimal):
pheno_fitness(i) = (fitness(i) + random_normal()*noise) / randomnum(1)?
Working fitness being just a copy of phenotypic fitness that is only used for ranking before truncation.
c... Copy the phenotypic fitnesses into array work_fitness.
Posted by: Bob O'H on June 19 2009,12:02
Quote (Steve Schaffner @ June 18 2009,20:53) | It would make more sense if it were described in terms of some other phenotype with an effect on fitness. The phenotype has a genetic component and an environmental (or random) component, i.e. has a heritability. The phenotype then confers a fitness, which is the probability of successful reproduction. The number of successful offspring is also drawn from a random distribution, which is what's being done in this bit of code (I guess treated as a binomial distribution). ---------------------QUOTE-------------------
The problem with describing the model in terms of a phenotype is that you then have to map the effect of the phenotype onto fitness. It's easier just to leap in and model fitness directly. Everything works fine if you define fitness as proportional to the expected number of offspring produced by an individual.
I haven't looked at the code, but if we assuming a constant population size and discrete generations, then (ignoring recombination and mutation), the way to model this is to assume that each parent has a fitness si. The offspring are then drawn from a multinomial distribution with probability for the ith parent being
si/sum(si)
(this would reduce to a binomial distribution if there were only 2 parents). The multinomial sampling is genetic drift.
You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.
---------------------QUOTE------------------- As a model of selection that seems reasonable (apart from the way the noise scales), but expressing it in terms of the heritability of fitness I find hard to understand -- fitness isn't a phenotype, it's a measure of the success of a phenotype. And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring. This is a model of evolution written by a breeder rather than by a population geneticist, I would say. ---------------------QUOTE-------------------
Not even a breeder: I would expect them to understand heritability a bit better than this!
Posted by: Dr.GH on June 19 2009,12:50
Reading the discussion has made me reconsider Wesley's earlier suggestion that you guys build a better program. It might be a way of collecting your observations.
However, if "Mendle's Accountant Cooked the Books," Sanford et al will merely claim that your new program has predetermined its answer.
Posted by: Steve Schaffner on June 19 2009,13:05
Quote (Bob O'H @ June 19 2009,12:02) | I haven't looked at the code, but if we assuming a constant population size and discrete generations, then (ignoring recombination and mutation), the way to model this is to assume that each parent has a fitness si. The offspring are then drawn from a multinomial distribution with probability for the ith parent being
si/sum(si)
(this would reduce to a binomial distribution if there were only 2 parents). The multinomial sampling is genetic drift.
---------------------QUOTE-------------------
Yes, I've written a program for that kind of model, except that I imposed selection in the differential survival of the offspring. Including options for truncation selection and a few other things, it amounted to all of 158 lines, including comments, white space and the multinomial routine.
---------------------QUOTE-------------------
You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.
---------------------QUOTE-------------------
I haven't thought about this before. Does adding environmental effects do anything more than reduce the effective selection coefficient?
Posted by: slpage on June 19 2009,13:09
Quote (Dr.GH @ June 19 2009,12:50) | Reading the discussion has made me reconsider Wesley's earlier suggestion that you guys build a better program. It might be a way of collecting your observations.
However, if "Mendle's Accountant Cooked the Books," Sanford et al will merely claim that your new program has predetermined its answer. ---------------------QUOTE-------------------
And from what I have seen, he would then just be projecting.
I am still wondering why they think that constraining the outcomes to a constant population size is biolgically realistic.
Posted by: Steve Schaffner on June 19 2009,13:33
Quote (slpage @ June 19 2009,13:09) | I am still wondering why they think that constraining the outcomes to a constant population size is biolgically realistic. ---------------------QUOTE-------------------
It's a feature of many population genetics models. It has the advantage of being simple. How accurate it is depends a lot on what organism you're looking at.
Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur.
Posted by: Henry J on June 19 2009,16:16
---------------------QUOTE------------------- Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur. ---------------------QUOTE-------------------
Well, that's just being picky!
But yeah, if populate size is allowed to go way up, then the simulation would have to deal with food shortages (i.e., fitness would drop across the board if population gets too large for the food supply).
Henry
Posted by: Bob O'H on June 19 2009,16:34
Quote (Steve Schaffner @ June 19 2009,13:05) |
---------------------QUOTE-------------------
You can treat log(si) as you would any standard trait: it's additive, so you can add the genetic and environmental effects.
---------------------QUOTE-------------------
I haven't thought about this before. Does adding environmental effects do anything more than reduce the effective selection coefficient? ---------------------QUOTE-------------------
No it doesn't. There might be some subtleties in the precise effects, but I wouldn't worry about them.
Posted by: Bob O'H on June 19 2009,16:42
Quote (Henry J @ June 19 2009,16:16) |
---------------------QUOTE------------------- Of course, there's a big difference between using models to analyze how particular aspects of evolution work and trying to model the entire process well enough to say whether it can occur. ---------------------QUOTE-------------------
Well, that's just being picky! :p
But yeah, if populate size is allowed to go way up, then the simulation would have to deal with food shortages (i.e., fitness would drop across the board if population gets too large for the food supply).
Henry ---------------------QUOTE-------------------
That's not too difficult to implement. You scale the fitness so that it is above 1 at low density, and then apply some density dependence to it, which affects all genotypes equally. Then you draw the number of offspring from a Poisson distribution with that mean.
i.e. if fitness is si, and the population size is N, then the number of offspring is Poisson distributed with mean si exp(-N/K), for example (exp(-N/K) is the discount for density).
I think doing it this way is nicer because (a) it's easier to programme (there's no independence problems, or multinomials with huge N's), and (b) you're modelling absolute fitness, so it can go below 1, and you might get extinctions.
Posted by: Zachriel on June 19 2009,17:34
Quote (Steve Schaffner @ June 18 2009,20:53) | <snipped>
And the whole thing is pretty convoluted, when the essence of the model could be captured simply by assigning a fitness to the genotype and then calculating the number of offspring. ---------------------QUOTE-------------------
From much of this discussion, it's easy to see how many different ways there are to abstract an evolutionary process.
These are the primary attributes I've found in Mendel's Accountant:
* Population of Genotypes (genotypic fitness). * Genotype modified by heritability and noise to Phenotype (phenotypic fitness). * Genotype further modified for chance of reproductive success to Working Fitness. * Number of offspring proportional to sqrt(Phenotype). * Reproduction with mutation. * Throw in more random factors, such as random death.
> The calculation of Phenotype is not scaled. > The calculation of Working Fitness is division by Randomnum. Not the sqrt(randomnum), not some other exponent. Or even a normal binomial to determine reproductive success. > Number of offspring proportional to sqrt(Phenotype). Why the square root? Why not some other exponent? > Random death? Isn't that already accounted for in phenotypic fitness (for stillbirths) or chance of reproductive success?
You may as well throw in another factor that randomizes falling off a cliff and whether she has a headache, and just make up numbers or exponents or parameters that seem right. The problem is the qualitative nature of the simulation and the arbitrariness of some of the assumptions. I just don't see Mendel's Accountant being salvageable as a quantitative model of biology.
Posted by: Bob O'H on June 20 2009,02:14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|