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

Помню, как несколько лет назад сидел на последнем ряду аудитории и слушал лекцию по теории эволюции. Тогда мне это было особенно интересно: каждый вечер я штудировал доклады Дробышевского, Соколова, Панчина, Гельфанда и других причастных к Антропогенезу. И в один день преподаватель сердито посмотрела в окно и спросила меня, как долго должны ходить по газону люди, чтобы образовалась тропа.
На этот странный вопрос я ответить не смог, но он меня неожиданно натолкнул на идею для любопытного эксперимента. Зачем изучать тропообразовательный потенциал людей, когда можно построить симуляцию и проверить теологическую теорию о самом происхождении человечества. Мне стало интересно, может ли человечество развиться до 11 млрд со времен Адама и Евы к концу XXI века. О том, что из этого получилось, рассказываю под катом.
Ниже — фановая попытка решить интересную задачу, которая не претендует на научную точность. Я не демограф, не историк и не теолог. Сама тема достаточно объемная, с большим количеством переменных и условий. Если у вас есть свои предложения, замечания или вопросы — пишите в комментариях.
Библейская справка и проблемы с данными
Задача особенно интересна как с исторической, так и с теологической точки зрения: есть много условностей, которые важно учитывать. Попробую выделить основные из них.
- Проблема летоисчисления. Из-за разных способов датировок и других факторов нельзя точно сказать, как давно жили Адам и Ева. Самые популярные числа — 6000 и 7500 лет. Мы возьмем последнее и допустим, что история человека берет начало с 54 века до нашей эры.
- Отсутствие значений прогностических характеристик. Нельзя точно определить, какие были уровни смертности и рождаемости. Также важно учесть, что за историю был ряд эпидемий, великий голод, войны и прочие периоды повышенной смертности.
- Отсчет нужно проводить с потопа. По сути, за начало популяции можно взять отсчет после Всемирного потопа — с 34 века до нашей эры (рождение Адама от Всемирного потопа отделяют 2000 лет). После него спаслись только Ной, его жена, три сына — Сим, Иафет и Хам — и их жены. В общей сложности — восемь человек, животным повезло больше. Зато в мире появилась радуга!
Кроме того, нужно учитывать и данные о продолжительности жизни первых поколений по линии Ноя. Для примера рассмотрим генеалогию Сима.
Первое поколения — дети. Считается, что первое поколение после потопа — это последние полубоги, а продолжительность жизни Сима и его братьев составляет около 600 лет. Согласно Библии, у Сима было пять детей и X дочерей.
Второе поколение — внуки. Это уже не полубоги, но средняя продолжительность жизни составляла 350-450 лет. Деторождение приходилось на возраст от 30 лет.
Третье поколение — правнуки. Согласно Библии, это поколение стало основанием для множества современных народов. Правнуки Ноя расселились по берегам Средиземноморья, Черного и Каспийского морей, Африки и вдоль Тигра, Евфрата, Инда и Нила. Теоретически, это могло повлиять на рост населения: он должен был снизиться из-за меньшего генетического разнообразия и вырождения части семей из-за инцеста.

Такое расселение концептуально напоминает ранние миграции представителей Homo Sapiens. За исключением одного небольшого но: они были 70 000 — 100 000 лет назад.
Прочие поколения. Продолжительность жизни постепенно упала: начиная с пятого поколения люди жили от 80 до 250 лет, а детей рожали в 30 лет (в первом поколении деторождение приходилось на промежуток 60-600 лет).
| Поколение | Продолжительность жизни |
| 18 поколение | до 150 лет |
| 35 поколение | до 100 лет |
| 51 поколение (Иисус Христос) | до 80 лет |
Для сравнения, средняя продолжительность жизни в разные эпохи, независимо от теологической теории:
| Века, годы | Возраст |
| Каменный век | 19 лет |
| Бронзовый век | 21.5 лет |
| Европейская античность | 20-30 лет |
| XVI в. | 27.5 лет |
| XVII в. | 29 лет |
| XVIII в. | 28.5 лет |
| 1801-1880 гг. | 35.6 лет |
| 1891-1900 гг. | 40.6 лет |
| 1901-1910 гг. | 44.8 года |
| 1924-1926 гг. | 56 лет |
| 1932-1936 гг. | 59.8 лет |
| 1946-1947 гг. | 57.7 лет |
| 1970-1980 гг. | 73 года |
Придумываем данные, или reverse engineering на минималках
Если нет данных об уровнях смертности и рождаемости, откуда их взять? Для этой проблемы я придумал довольно спорное решение.
Немного полазив по сети, я наткнулся на экспоненциальный график, который показывает, как росла популяция в течение нашей эры — вплоть до XXI века. Тогда я подумал, что можно взять эти данные и подобрать такие значения смертности и рождаемости «ноевых поколений», чтобы к «нулевому году» достичь отметки в районе 200-250 млн человек. Но перед этим значения нужно было сформировать.


Рост населения Земли. Источник.
Какие значения смертности и рождаемости бывают?
Что считать низким, средним или высоким значением? Чтобы ответить на этот вопрос, я несколько раз прогнал популяционную модель только «вдоль» нашей эры. Получилась матрица, в которой каждому столетию соответствуют два фактора — значения самих уровней.
| Столетие | Уровень смертности | Уровень рождаемости |
| 1 | 2 | 2 |
| 2 | 2 | 2 |
| 3 | 2 | 2 |
| 4 | 2 | 2 |
| 5 | 2 | 2 |
| 6 | 2 | 2 |
| 7 | 2 | 2 |
| 8 | 2 | 2 |
| 9 | 2 | 3 |
| 10 | 2 | 2 |
| 11 | 2 | 2 |
| 12 | 2 | 2 |
| 13 | 2 | 2 |
| 14 | 2 | 2 |
| 15 | 2 | 2 |
| 16 | 2 | 2 |
| 17 | 2 | 3 |
| 18 | 2 | 3 |
| 19 | 2 | 4 |
| 20 | 2 | 6 |
| 21 | 0 | 7 |
Уровни смертности и рождаемости прямо пропорциональны соответствующим значениям. И подобраны так, чтобы максимально повторить рост графика выше.
Также обратите внимание на «масштаб»: это приближенные значения, поскольку в течение столетия сменяется не одно поколение и темп роста населения может меняться от десятилетия к десятилетию. Например, с шестидесятых годов XX века реальная динамика населения стала сильно отходить от гиперболической кривой, а в настоящее время темпы резко упали.

Темпы роста населения Земли. Источник.
Как посчитать естественный прирост?
Хорошо, для каждого столетия определены уровни смертности и рождаемости, но как их перевести в какие-то конкретные числа, проценты, чтобы посчитать естественный прирост? Ответ прост: никак.
Низкий, средний, высокий уровни — это простая абстракция, которая обобщает какой-то промежуток чисел. Кроме того, таких промежутков может быть довольно много: уровень рождаемости может быть очень низким, а может и вовсе отсутствовать. Чтобы учесть это при расчетах, для каждого уровня я задал интервалы с «процентами».
Программа смотрит на уровень смертности/рождаемости, обращается к коллекции __gen_arr_items и выбирает случайное значение из соответствующего интервала.

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

Значения уровней до нашей эры
В результате я подобрал несколько комбинаций с разными значениями для уровней смертности и рождаемости. Даже с учетом того, что представители первых ноевых поколений жили сотни лет, сложно сказать, какой был уровень смертности. Нельзя же отрицать, что кто-то мог, например, упасть со скалы — вопросов много, ответов мало.
Так как после потопа были проблемы с генетическим разнообразием, продолжительность жизни была велика, можно усреднить значения уровней. И допустить, что люди могли погибать в тех же схватках с живностью, вышедшей из ковчега. Объективно? Нет, но я старался.
| Столетие | Уровень смертности | Уровень рождаемости |
| -34 | 4 | 4 |
| -33 | 4 | 4 |
| -32 | 4 | 4 |
| -31 | 4 | 4 |
| … | … | … |
| -5 | 3 | 4 |
| -4 | 3 | 4 |
| -3 | 3 | 4 |
| -2 | 3 | 4 |
Теперь давайте посмотрим, что же показывает симуляция с такими входными значениями.
Возможно, эти тексты тоже вас заинтересуют:
→ Решаем задачу по взаимодействию микросервисов на Python тремя способами
→ Альфа-тестирование MidJourney V5: научилась ли нейросеть рисовать руки и неоновых котиков
→ 5 полезных и просто занимательных проектов на Raspberry Pi начала весны 2023 года
Результаты расчетов
Супер — данные есть, но как все это прогнать через популяционную модель? Вот отсюда, наверное, начинается самая «железная» часть моего импровизированного исследования.
Код проекта доступен в репозитории на GitHub — делайте форк, экспериментируйте с параметрами и предлагайте свои улучшения.
Чтобы учесть как можно больше вариантов развития человечества после потопа, различные комбинации значений смертности и рождаемости, я заварил чай и пошел спать. За пару часов симуляция прогнала 10 млн испытаний и зафиксировала самый высокий показатель популяции — 84 130 685 человек. Это примерно 0.0076 от 11 млрд, которые прогнозируют ООН к концу XXI века.

Результаты и характеристики эксперимента ↕
Максимальное значение популяции: 84 130 685 человек
Минимальное значение популяции: 25 237 139 человек
Продолжительность эксперимента: 8163 секунды
Процессор: IntelCore i5-8400
Оперативная память: DDR4 8 ГБ 2400 МГц
Результаты дискуссионны: есть много вариаций входных параметров, с помощью которых можно достичь похожих цифр. Еще больше тех, которые могут побить даже самые оптимистические прогнозы ООН. Особенно если для первых несколько столетий установить нулевую смертность. Вопрос в том, насколько это реалистично и как определить объективность параметров. Что насчет этого думаете вы? Поделитесь мнением и результатами своих экспериментов в комментариях.


Вселенная поразительно эксцентрична
Истоки цивилизации: от городов к канализации
Дело Бранденбурга против Огайо: как суд отстоял свободу слова (и оправдал негодяя)
Трафик ароматизаторов
Эпоха агентов
Стоит ли покупать электрогитару Squier Affinity?
Как разреженный ИИ на 17 млрд параметров обходит плотную модель на 70 млрд: анатомия Mixture-of-Experts (MoE)
Наглядная Великая теорема Ферма: эллиптические кривые, кривые Фрея, теория Ивасавы и когомологии