Ponieważ na to pytanie otrzymujemy odpowiedzi od astronomicznie małych do prawie 100%, chciałbym zaoferować symulację, która posłuży jako punkt odniesienia i inspiracja do ulepszonych rozwiązań.
Nazywam te „wątkami płomieni”. Każdy dokumentuje rozproszenie materiału genetycznego w populacji, który rozmnaża się w odrębnych pokoleniach. Wykresy to układy cienkich pionowych segmentów przedstawiających ludzi. Każdy wiersz reprezentuje pokolenie, a początkowy u góry. Potomkowie każdego pokolenia są w rzędzie bezpośrednio pod nim.
Na początku tylko jedna osoba w populacji o wielkości jest oznaczona i wykreślona na czerwono. (Trudno to dostrzec, ale zawsze są one narysowane po prawej stronie górnego rzędu.) Ich bezpośredni potomkowie są również narysowani na czerwono; pojawią się w całkowicie losowych pozycjach. Inni potomkowie są wykreślani jako biały. Ponieważ liczebność populacji może być różna dla różnych pokoleń, do wypełnienia pustej przestrzeni używana jest szara ramka po prawej stronie.n
Oto tablica 20 niezależnych wyników symulacji.
Czerwony materiał genetyczny ostatecznie wymarł w dziewięciu z tych symulacji, pozostawiając ocalałych w pozostałych 11 (55%). (W jednym scenariuszu, u dołu po lewej, wygląda na to, że cała populacja ostatecznie wymarła.) Jednak wszędzie tam, gdzie byli ocalali, prawie cała populacja zawierała czerwony materiał genetyczny. Dowodzi to, że szansa losowo wybranej osoby z ostatniego pokolenia zawierającego czerwony gen wynosi około 50%.
Symulacja polega na losowym określeniu przeżywalności i średniego wskaźnika urodzeń na początku każdego pokolenia. Survivorship pochodzi z rozkładu Beta (6,2): średnio 75%. Liczba ta odzwierciedla zarówno śmiertelność przed dorosłością, jak i osoby nieposiadające dzieci. Współczynnik urodzeń jest pobierany z rozkładu gamma (2.8, 1), więc wynosi średnio 2.8. Rezultatem jest brutalna historia o niewystarczającej zdolności reprodukcyjnej do zrekompensowania ogólnie wysokiej śmiertelności. Jest to skrajnie pesymistyczny model najgorszego przypadku - ale (jak zasugerowałem w komentarzach) zdolność populacji do wzrostu nie jest niezbędna. W każdym pokoleniu liczy się tylko proporcja czerwieni w populacji.
Aby modelować reprodukcję, bieżąca populacja jest przerzedzana do ocalałych poprzez pobranie prostej losowej próbki o pożądanej wielkości. Ci, którzy przeżyli, są losowo sparowani (żaden dziwny ocalały pozostały po parowaniu nie może się rozmnażać). Każda para wytwarza liczbę dzieci pobranych z rozkładu Poissona, którego średnią jest współczynnik urodzeń pokolenia. Jeśli jedno z rodziców zawiera czerwony znacznik, wszystkie dzieci go dziedziczą: modeluje to ideę bezpośredniego zejścia przez jednego z rodziców.
Ten przykład zaczyna się od populacji 512 i uruchamia symulację przez 11 pokoleń (12 wierszy łącznie z początkiem). Odmiany tej symulacji zaczynające się od zaledwie i aż 2 14 = 16 , 384 osób, wykorzystujących różne wskaźniki przeżywalności i liczby urodzeń, wszystkie wykazują podobne cechy: do końca log 2 ( n ) pokoleń (dziewięć w tym przypadku), istnieje szansa 1/3, że cała czerwień umarła, ale jeśli nie, to większość populacji jest czerwona. W ciągu dwóch lub trzech kolejnych pokoleń prawie cała populacja jest czerwona i pozostanie czerwona (w przeciwnym razie populacja całkowicie wymrze).n=8214=16,384log2(n)
Nawiasem mówiąc, przeżycie w wysokości 75% lub mniej w pokoleniu nie jest dziwaczne. Pod koniec 1347 r. Szczury zarażone dżumą dymienną po raz pierwszy przedostały się z Azji do Europy; w ciągu następnych trzech lat około 10–50% populacji europejskiej zmarło w wyniku tego. Zaraza pojawiła się prawie raz na pokolenie przez setki lat później (ale zwykle nie z tą samą ekstremalną śmiertelnością).
Kod
Symulacja została stworzona za pomocą 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