Bu soru, astronomik olarak küçükten neredeyse% 100'e kadar değişen cevaplar aldığından, gelişmiş çözümler için referans ve ilham kaynağı olarak bir simülasyon sunmak istiyorum.
Ben buna "alev arsaları" diyorum. Her biri, farklı nesiller içerisinde çoğaldığı için genetik materyalin bir popülasyon içindeki dağılımını belgelemektedir. Grafikler insanları betimleyen ince dikey bölümler dizisidir. Her satır bir nesli temsil eder, başında bir tanesi üsttedir. Her neslin soyundan gelenler hemen altında duruyor.
Başlangıçta, büyüklüğündeki bir kişi yalnızca bir kişi olarak işaretlenir ve kırmızı olarak işaretlenir. (Görmesi zor, ama her zaman üst sıranın sağ tarafında çizilirler.) Doğrudan onların torunları da aynı şekilde kırmızı renkte çizilir; tamamen rastgele pozisyonlarda ortaya çıkacaklar. Diğer torunları beyaz olarak çizilir. Popülasyon boyutları bir nesilden diğerine değişebildiğinden, boş alanı doldurmak için sağdaki gri renkli bir sınır kullanılır.n
İşte 20 bağımsız simülasyon sonucu dizisi.
Kırmızı genetik materyal sonunda bu simülasyonların dokuzunda öldü ve kalan 11'de (% 55) hayatta kalanlar kaldı. (Bir senaryoda, sol altta, tüm popülasyon sonunda ölmüşe benziyor.) Kurtulanların olduğu her yerde, hemen hemen tüm popülasyon kırmızı genetik materyali içeriyordu. Bu, kırmızı geni içeren son nesilden rastgele seçilen bir bireyin şansının yaklaşık% 50 olduğuna dair kanıt sağlar.
Simülasyon, hayatta kalmayı ve her neslin başında ortalama doğum oranını rastgele belirleyerek çalışır. Hayatta kalma, bir Beta (6,2) dağılımından elde edilir: ortalama olarak% 75'tir. Bu sayı hem yetişkinlikten önce ölüm oranını hem de çocuk sahibi olmayan insanları yansıtıyor. Doğum oranı bir Gamma (2.8, 1) dağılımından alınmıştır, bu yüzden ortalamaları 2.8'dir. Sonuç, genellikle yüksek ölüm oranlarını telafi etmek için yetersiz üreme kapasitesinin acımasız bir hikayesidir. Son derece karamsar, en kötü durum modelini temsil ediyor - ama (yorumlarda da önerdiğim gibi) nüfusun büyümesi için gerekli değil. Her nesilde önemli olan, nüfus içindeki kırmızının oranıdır .
Çoğaltmayı modellemek için, mevcut popülasyon, istenen boyutta basit bir rastgele numune alınarak sağ kalanlara inceltilir. Bu kurtulanlar rastgele eşleştirilir (eşleştirmeden sonra kalan herhangi bir garip kurtulan kişi çoğalmaz). Her çift, bir kuşak doğum oranının ortalaması olan bir Poisson dağılımından çekilen bir dizi çocuk üretir. Eğer her iki ebeveyn kırmızı işaret içeren, bütün çocuklar bunu miras: Doğrudan Bu iniş modeller fikri ya ebeveyn yoluyla.
Bu örnek 512'lik bir popülasyonla başlar ve 11 kuşak için simülasyonu çalıştırır (başlangıç dahil 12 satır). Olduğunca az olarak başlayan bu simülasyonun Varyasyonları , istedikleri kadar da hayatta kalma ve doğum oranları, bütün sergi benzer özelliklere farklı miktarlarda kullanılarak, insanların: sonuna kadar kuşaklar ( bu durumda dokuzu), tüm kırmızıların ölmüş olma ihtimalinin yaklaşık 1 / 3'ü vardır, ancak eğer olmadıysa, o zaman nüfusun çoğunluğu kırmızıdır. İki ya da üç kuşak içinde, nüfusun neredeyse tamamı kırmızıdır ve kırmızı kalacaktır (ya da nüfus tamamen birlikte ölecektir).2 14 = 16 , 384 log 2 ( n )n = 8214= 16 , 384günlük2( n )
Bir kuşakta% 75 veya daha az hayatta kalmak, bu arada hayal bile etmez. 1347’nin sonlarında, hıyarcıklı veba salgılı sıçanlar ilk olarak Asya’dan Avrupa’ya geçtiler; Önümüzdeki üç yıl boyunca, sonuç olarak Avrupa nüfusunun% 10 ila% 50'si arasında bir yerde hayatını kaybetti. Veba, neredeyse bir kuşaktan sonra yüzlerce yıl boyunca bir nesneyi tekrarladı (ancak aynı aşırı ölüm oranlarıyla değil).
kod
Simülasyon Mathematica 8 ile oluşturuldu :
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