Поскольку этот вопрос получает ответы, которые варьируются от астрономически небольших до почти 100%, я хотел бы предложить имитацию, которая послужит эталоном и источником вдохновения для улучшенных решений.
Я называю эти «пламенные планы». Каждый документирует дисперсию генетического материала в популяции, когда он воспроизводится в отдельных поколениях. Графики представляют собой массивы тонких вертикальных сегментов, изображающих людей. Каждый ряд представляет поколение, с начальным наверху. Потомки каждого поколения находятся в ряду сразу под ним.
В начале, только один человек в популяции размера отмечен и изображен красным. (Это трудно увидеть, но они всегда отображаются справа от верхнего ряда.) Их прямые потомки также нарисованы красным; они будут отображаться в совершенно случайных позициях. Другие потомки изображены белыми. Поскольку размеры популяции могут варьироваться от одного поколения к следующему, серая рамка справа используется для заполнения пустого пространства.n
Вот массив из 20 независимых результатов моделирования.
Красный генетический материал в конечном итоге вымер в девяти из этих симуляций, оставшиеся в живых оставшиеся 11 (55%). (В одном сценарии, внизу слева, похоже, что вся популяция в конечном итоге вымерла.) Однако, где бы ни были выжившие, почти вся популяция содержала красный генетический материал. Это свидетельствует о том, что вероятность случайного отбора индивида из последнего поколения, содержащего ген красного, составляет около 50%.
Симуляция работает путем случайного определения выживаемости и средней рождаемости в начале каждого поколения. Выживание происходит из бета-версии (6,2): в среднем 75%. Это число отражает как смертность до взрослой жизни, так и число людей, не имеющих детей. Коэффициент рождаемости взят из гамма-распределения (2,8, 1), поэтому он в среднем составляет 2,8. Результатом является жестокая история о недостаточной репродуктивной способности, чтобы компенсировать в целом высокую смертность. Она представляет собой крайне пессимистичную модель в худшем случае, но (как я уже говорил в комментариях) способность населения расти не является существенной. Все, что имеет значение в каждом поколении, это доля красного среди населения.
Для моделирования воспроизводства, текущая популяция сокращается до выживших путем отбора простой случайной выборки нужного размера. Эти выжившие случайным образом спарены (любой странный выживший, оставшийся после спаривания, не может размножаться). Каждая пара производит количество детей, взятых из распределения Пуассона, чье среднее значение - коэффициент рождаемости поколения. Если один из родителей содержит красный маркер, все дети наследуют его: это моделирует идею прямого спуска через любого из родителей.
Этот пример начинается с населения 512 и запускает моделирование в течение 11 поколений (12 строк, включая начало). Вариации этого моделирования, начиная с всего лишь и целых 2 14 = 16 , 384 человек, с использованием разных показателей выживаемости и рождаемости, демонстрируют схожие характеристики: к концу 2 ( n ) поколений log (девять) в этом случае) вероятность того, что все красные погасли, составляет около 1/3, но если нет, то большинство населения - красные. В течение еще двух или трех поколений, почти все население будет красным и останется красным (иначе население погибнет совсем).n=8214=16,384log2(n)
Между прочим, выживание в 75% или менее в поколении не фантастично. В конце 1347 г. крысы, зараженные бубонной чумой, впервые отправились из Азии в Европу; в течение следующих трех лет в результате погибли от 10 до 50% европейского населения. Чума повторялась почти один раз в течение сотен лет после этого (но обычно не с такой же крайней смертностью).
Код
Симуляция была создана с помощью Mathematica 8:
randomPairs[s_List] := Partition[s[[Ordering[RandomReal[{0, 1}, Length[s]]]]], 2];
next[s_List, survive_, nKids_] := Flatten[ConstantArray[Max[#],
RandomVariate[PoissonDistribution[nKids]]] & /@
randomPairs[RandomSample[s, Ceiling[survive Length[s]]]]]
Partition[Table[
With[{n = 6}, ArrayPlot[NestList[next[#, RandomVariate[BetaDistribution[6, 2]],
RandomVariate[GammaDistribution[3.2, 1]]] &,
Join[ConstantArray[0, 2^n - 1], ConstantArray[1, 1]], n + 2],
AspectRatio -> 2^(n/3)/(2 n),
ColorRules -> {1 -> RGBColor[.6, .1, .1]},
Background -> RGBColor[.9, .9, .9]]
], {i, 1, 20}
], 4] // TableForm