Проверяем ветхозаветную историю происхождения человечества от Адама и Евы с помощью популяционной модели

rrfup9i5elxsv779jjtfvfboxli.png


Помню, как несколько лет назад сидел на последнем ряду аудитории и слушал лекцию по теории эволюции. Тогда мне это было особенно интересно: каждый вечер я штудировал доклады Дробышевского, Соколова, Панчина, Гельфанда и других причастных к Антропогенезу. И в один день преподаватель сердито посмотрела в окно и спросила меня, как долго должны ходить по газону люди, чтобы образовалась тропа.

На этот странный вопрос я ответить не смог, но он меня неожиданно натолкнул на идею для любопытного эксперимента. Зачем изучать тропообразовательный потенциал людей, когда можно построить симуляцию и проверить теологическую теорию о самом происхождении человечества. Мне стало интересно, может ли человечество развиться до 11 млрд со времен Адама и Евы к концу XXI века. О том, что из этого получилось, рассказываю под катом.

Ниже — фановая попытка решить интересную задачу, которая не претендует на научную точность. Я не демограф, не историк и не теолог. Сама тема достаточно объемная, с большим количеством переменных и условий. Если у вас есть свои предложения, замечания или вопросы — пишите в комментариях.


Библейская справка и проблемы с данными


Задача особенно интересна как с исторической, так и с теологической точки зрения: есть много условностей, которые важно учитывать. Попробую выделить основные из них.

  1. Проблема летоисчисления. Из-за разных способов датировок и других факторов нельзя точно сказать, как давно жили Адам и Ева. Самые популярные числа — 6000 и 7500 лет. Мы возьмем последнее и допустим, что история человека берет начало с 54 века до нашей эры.
  2. Отсутствие значений прогностических характеристик. Нельзя точно определить, какие были уровни смертности и рождаемости. Также важно учесть, что за историю был ряд эпидемий, великий голод, войны и прочие периоды повышенной смертности.
  3. Отсчет нужно проводить с потопа. По сути, за начало популяции можно взять отсчет после Всемирного потопа — с 34 века до нашей эры (рождение Адама от Всемирного потопа отделяют 2000 лет). После него спаслись только Ной, его жена, три сына — Сим, Иафет и Хам — и их жены. В общей сложности — восемь человек, животным повезло больше. Зато в мире появилась радуга!


Кроме того, нужно учитывать и данные о продолжительности жизни первых поколений по линии Ноя. Для примера рассмотрим генеалогию Сима.

Первое поколения — дети. Считается, что первое поколение после потопа — это последние полубоги, а продолжительность жизни Сима и его братьев составляет около 600 лет. Согласно Библии, у Сима было пять детей и X дочерей.

Второе поколение — внуки. Это уже не полубоги, но средняя продолжительность жизни составляла 350–450 лет. Деторождение приходилось на возраст от 30 лет.

Третье поколение — правнуки. Согласно Библии, это поколение стало основанием для множества современных народов. Правнуки Ноя расселились по берегам Средиземноморья, Черного и Каспийского морей, Африки и вдоль Тигра, Евфрата, Инда и Нила. Теоретически, это могло повлиять на рост населения: он должен был снизиться из-за меньшего генетического разнообразия и вырождения части семей из-за инцеста.

jaf8aibr3fmfaflbu272a1msuuw.png


Такое расселение концептуально напоминает ранние миграции представителей Homo Sapiens. За исключением одного небольшого но: они были 70 000 — 100 000 лет назад.

Прочие поколения. Продолжительность жизни постепенно упала: начиная с пятого поколения люди жили от 80 до 250 лет, а детей рожали в 30 лет (в первом поколении деторождение приходилось на промежуток 60–600 лет).

Для сравнения, средняя продолжительность жизни в разные эпохи, независимо от теологической теории:

stsvynwdldmibwd6lmucydsmryu.png

Придумываем данные, или reverse engineering на минималках


Если нет данных об уровнях смертности и рождаемости, откуда их взять? Для этой проблемы я придумал довольно спорное решение.

Немного полазив по сети, я наткнулся на экспоненциальный график, который показывает, как росла популяция в течение нашей эры — вплоть до XXI века. Тогда я подумал, что можно взять эти данные и подобрать такие значения смертности и рождаемости «ноевых поколений», чтобы к «нулевому году» достичь отметки в районе 200–250 млн человек. Но перед этим значения нужно было сформировать.

mxxhggru4_r16t0sokod3uszcwe.png


npsstwagoybmrpcxpvvulwd84hc.jpeg


Рост населения Земли. Источник.

Какие значения смертности и рождаемости бывают?


Что считать низким, средним или высоким значением? Чтобы ответить на этот вопрос, я несколько раз прогнал популяционную модель только «вдоль» нашей эры. Получилась матрица, в которой каждому столетию соответствуют два фактора — значения самих уровней.Уровни смертности и рождаемости прямо пропорциональны соответствующим значениям. И подобраны так, чтобы максимально повторить рост графика выше.

Также обратите внимание на «масштаб»: это приближенные значения, поскольку в течение столетия сменяется не одно поколение и темп роста населения может меняться от десятилетия к десятилетию. Например, с шестидесятых годов XX века реальная динамика населения стала сильно отходить от гиперболической кривой, а в настоящее время темпы резко упали.

giuy-8ozbpy_ui8htorqlsabotc.png


Темпы роста населения Земли. Источник.

Как посчитать естественный прирост?


Хорошо, для каждого столетия определены уровни смертности и рождаемости, но как их перевести в какие-то конкретные числа, проценты, чтобы посчитать естественный прирост? Ответ прост: никак.

Низкий, средний, высокий уровни — это простая абстракция, которая обобщает какой-то промежуток чисел. Кроме того, таких промежутков может быть довольно много: уровень рождаемости может быть очень низким, а может и вовсе отсутствовать. Чтобы учесть это при расчетах, для каждого уровня я задал интервалы с «процентами».

Программа смотрит на уровень смертности/рождаемости, обращается к коллекции __gen_arr_items и выбирает случайное значение из соответствующего интервала.

4tsqdwg2fvdpuznq1s5hwfq9uwo.png


Несложно догадаться, что для расчета естественного прироста высшая математика не нужна. В каждой новой итерации программа просто смотрит численность населения в предыдущем столетии и суммирует с приростом.

aagbbhzoq5nexjgw_x7hm6f4ig4.png


Значения уровней до нашей эры


В результате я подобрал несколько комбинаций с разными значениями для уровней смертности и рождаемости. Даже с учетом того, что представители первых ноевых поколений жили сотни лет, сложно сказать, какой был уровень смертности. Нельзя же отрицать, что кто-то мог, например, упасть со скалы — вопросов много, ответов мало.

Так как после потопа были проблемы с генетическим разнообразием, продолжительность жизни была велика, можно усреднить значения уровней. И допустить, что люди могли погибать в тех же схватках с живностью, вышедшей из ковчега. Объективно? Нет, но я старался.

Теперь давайте посмотрим, что же показывает симуляция с такими входными значениями.

Возможно, эти тексты тоже вас заинтересуют:

→ Решаем задачу по взаимодействию микросервисов на Python тремя способами
→ Альфа-тестирование MidJourney V5: научилась ли нейросеть рисовать руки и неоновых котиков
→ 5 полезных и просто занимательных проектов на Raspberry Pi начала весны 2023 года


Результаты расчетов


Супер — данные есть, но как все это прогнать через популяционную модель? Вот отсюда, наверное, начинается самая «железная» часть моего импровизированного исследования.

Код проекта доступен в репозитории на GitHub — делайте форк, экспериментируйте с параметрами и предлагайте свои улучшения.
swewmhbl_go1j0qlx6ymjbiktmq.gif


Чтобы учесть как можно больше вариантов развития человечества после потопа, различные комбинации значений смертности и рождаемости, я заварил чай и пошел спать. За пару часов симуляция прогнала 10 млн испытаний и зафиксировала самый высокий показатель популяции — 84 130 685 человек. Это примерно 0.0076 от 11 млрд, которые прогнозируют ООН к концу XXI века.

f6nr2sxcys45cviich2r9kxvdpe.png


Результаты и характеристики эксперимента ↕
Максимальное значение популяции: 84 130 685 человек

Минимальное значение популяции: 25 237 139 человек

Продолжительность эксперимента: 8163 секунды

Процессор: IntelCore i5–8400

Оперативная память: DDR4 8 ГБ 2400 МГц


Результаты дискуссионны: есть много вариаций входных параметров, с помощью которых можно достичь похожих цифр. Еще больше тех, которые могут побить даже самые оптимистические прогнозы ООН. Особенно если для первых несколько столетий установить нулевую смертность. Вопрос в том, насколько это реалистично и как определить объективность параметров. Что насчет этого думаете вы? Поделитесь мнением и результатами своих экспериментов в комментариях.

© Habrahabr.ru