Продолжаю попытки проверить гармонию математикой.
Вот, набросал первый проект разработки, которая моделирует выживание.
И она уже обсчитывает размножение населения.
На каждой итерации делает брачевание и деторождение, пока не достигнется заданное количество детей, потом дети сменяют родителей.
Когда смотришь за работой модели в динамике, испытываешь почти божественный трепет. Как будто ты уже Бог в Мире Дембеля и управляешь реальным миром, где размножаются люди.
На этой моделе можно отследить количество альтруистов, эгоистов и гуманистов:
Даю полное черновое описание модели, на практике оно будет еще дорабатываться, конечно же.
Обработка предназначена для моделирования оптимальной стратегии выживания в человеческом обществе.
Есть следующие стратегии:
Э - эгоист. Не принимает чужого ребенка, разводится с женой даже при наличии собственных детей.
Г - гуманист. Бывают три модификации:
Г1 - Принимает одного чужого ребенка только при наличии собственного ребенка.
Г2 - Принимает любое количество чужих детей только при наличии собственного ребенка.
Г3 - Принимает только одного чужого ребенка, если второй - свой, то принимает и остальных.
Г4 - Принимает только одного чужого ребенка.
А - альтруист. Принимает всех детей.
При старте задаются параметры (со значениями по умолчанию):
1. Количество населения - 3 000 человек
2. Процент верности женщни - 75%
3. Процент успешности разведенных мужчин относительно не бывших в браке - 50%
4. Процент успешности женщин с одним ребенком относительно бездетных - 50%
5. Процент успешности женщин с двумя и более детьми относительно бездетных - 25%
6. Вероятность появления детей у пары на каждой итерации - 50%
Процесс моделирования заключается в итерационном расчете нового состава населения на основе текущего.
Количество населения -величина стабильная. При начальном заполнении население делится пополам на мужчин и женщин.
Мужчины обладают стратегией, все возможные стратегии распределяются поровну между ними. Модификации стратегий равномерно распределены среди стратегии.
Мужчины передают свою стратегию по наследству. Каждый начальный мужчина имеет первичный уникальный числовой ID чтобы можно было проследить эффективность и долю конкретного самца в популяции.
Женщины с заданной вероятностью могут забеременеть не от конкретного мужчины, а от любого из выборки.
Если мужчина отказался принимать ребенка от женщины, то мужчина и женщины становятся свободными (разводятся).
Расчет нового поколения заключается из выполнения итераций, пока количество детей не достигнет требуемого количества населения, после этого новое поколение сменяет старое.
На каждой итерации начинается подбор партнера между свободными мужчинами и женщинами по правилам:
1. У разведенных мужчин вероятность завести себе партнершу меньше на заданный коэффициент.
2. У детных женщин вероятность завести себе п меньше на заданный коэффициент.
Подбор осуществляется мужчинами. Определяется пропорция отношения количества свободных женщин к количеству свободных мужчин и для каждого из них учитывается вероятность подбора.
Между всеми заключенными новыми и старыми парами на итерации рождаются дети, с равной вероятностью, пропорциональной нехватке детей до нужного уровня.
Journal information