Wesley R. Elsberry
Posts: 4991 Joined: May 2002
|
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
|
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
|
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.
-------------- "You can't teach an old dogma new tricks." - Dorothy Parker
|