Bởi vì câu hỏi này đang nhận được câu trả lời thay đổi từ nhỏ đến gần 100%, tôi muốn đưa ra một mô phỏng để phục vụ như một tài liệu tham khảo và cảm hứng cho các giải pháp cải tiến.
Tôi gọi đây là "những ngọn lửa." Mỗi người ghi lại sự phân tán của vật liệu di truyền trong quần thể khi nó sinh sản ở các thế hệ riêng biệt. Các ô là các mảng của các phân đoạn dọc mỏng mô tả con người. Mỗi hàng đại diện cho một thế hệ, với một bắt đầu ở đầu. Hậu duệ của mỗi thế hệ nằm trong hàng ngay bên dưới nó.
Lúc đầu, chỉ một người trong dân số cỡ được đánh dấu và vẽ thành màu đỏ. (Thật khó để nhìn thấy, nhưng chúng luôn được vẽ ở bên phải của hàng trên cùng.) Hậu duệ trực tiếp của chúng cũng được vẽ bằng màu đỏ; họ sẽ xuất hiện ở những vị trí hoàn toàn ngẫu nhiên. Các hậu duệ khác được vẽ là màu trắng. Bởi vì kích thước dân số có thể thay đổi từ thế hệ này sang thế hệ tiếp theo, một đường viền màu xám ở bên phải được sử dụng để lấp đầy không gian trống.n
Dưới đây là một mảng gồm 20 kết quả mô phỏng độc lập.
Các vật liệu di truyền màu đỏ cuối cùng đã chết trong chín mô phỏng này, khiến những người sống sót trong 11 người còn lại (55%). (Trong một kịch bản, phía dưới bên trái, có vẻ như toàn bộ dân số cuối cùng đã chết.) Tuy nhiên, bất cứ nơi nào có người sống sót, hầu như tất cả dân số đều chứa vật liệu di truyền màu đỏ. Điều này cung cấp bằng chứng cho thấy cơ hội của một cá nhân được chọn ngẫu nhiên từ thế hệ cuối cùng chứa gen đỏ là khoảng 50%.
Mô phỏng hoạt động bằng cách xác định ngẫu nhiên một người sống sót và tỷ lệ sinh trung bình vào đầu mỗi thế hệ. Sự sống sót được rút ra từ bản phân phối Beta (6,2): trung bình 75%. Con số này phản ánh cả tỷ lệ tử vong trước tuổi trưởng thành và những người không có con. Tỷ lệ sinh được rút ra từ phân phối Gamma (2.8, 1), do đó, trung bình là 2,8. Kết quả là một câu chuyện tàn bạo về khả năng sinh sản không đủ để bù đắp cho tỷ lệ tử vong nói chung cao. Nó đại diện cho một mô hình cực kỳ bi quan, tồi tệ nhất - nhưng (như tôi đã gợi ý trong các bình luận) khả năng phát triển của dân số là không cần thiết. Tất cả những gì quan trọng trong mỗi thế hệ là tỷ lệ màu đỏ trong dân số.
Để mô hình sinh sản, dân số hiện tại được làm mỏng đi cho những người sống sót bằng cách lấy một mẫu ngẫu nhiên đơn giản có kích thước mong muốn. Những người sống sót này được ghép đôi ngẫu nhiên (bất kỳ người sống sót kỳ lạ nào còn sót lại sau khi ghép đôi không được sinh sản). Mỗi cặp sinh ra một số trẻ em được rút ra từ một bản phân phối Poisson có nghĩa là tỷ lệ sinh của thế hệ. Nếu một trong hai cha mẹ chứa điểm đánh dấu màu đỏ, tất cả trẻ em đều thừa hưởng nó: mô hình này sẽ mô hình ý tưởng về việc hạ xuống trực tiếp thông qua cha mẹ.
Ví dụ này bắt đầu với dân số 512 và chạy mô phỏng trong 11 thế hệ (12 hàng bao gồm cả bắt đầu). Biến thể của mô phỏng này bắt đầu với số lượng và tối đa 2 14 = 16 , 384 người, sử dụng số lượng sống sót và tỷ lệ sinh khác nhau, tất cả đều thể hiện các đặc điểm tương tự: vào cuối thế hệ log 2 ( n ) (chín trong trường hợp này), có khoảng 1/3 khả năng tất cả các màu đỏ đã chết, nhưng nếu không, thì phần lớn dân số là màu đỏ. Trong vòng hai hoặc ba thế hệ nữa, gần như toàn bộ dân số là màu đỏ và sẽ vẫn là màu đỏ (nếu không thì dân số sẽ chết hoàn toàn).n = 8214= 16 , 384đăng nhập2( n )
Nhân tiện, sự sống sót từ 75% trở xuống trong một thế hệ không phải là huyền ảo. Vào cuối năm 1347, những con chuột bị nhiễm bệnh dịch hạch đầu tiên đã đi từ châu Á đến châu Âu; trong ba năm tiếp theo, kết quả là khoảng 10% đến 50% dân số châu Âu đã chết. Bệnh dịch tái phát gần như một lần một thế hệ trong hàng trăm năm sau đó (nhưng thường không có cùng tỷ lệ tử vong cao).
Mã
Mô phỏng được tạo ra với Mathicala 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