Найти в Дзене
FunnyDev

Выживают сильнейшие: симуляция эволюции

Если вы не видели первую часть, настоятельно рекомендую перед прочтением ознакомиться с ней: *click* Вкратце о самом главном: основное действующее лицо - Дот. Дот хочет жить. Чтобы жить, Доту нужна пища - джелли. В зависимости от различных условий Дот каждый игровой день либо просто доживает до следующего дня, либо создает нового Дота. И мы пытаемся выяснить на примере Дотов, как работает естественный отбор. Почему одни признаки помогают выживать, а другие могут стать причиной полного исчезновения вида. Но я все еще рекомендую ознакомиться с первой частью, в которой мы выясняли, какой вид имеет больше шансов выжить - которые стремится к созданию новых Дотов, или который стремится просто жить. Вам будет интересно, гарантирую. А теперь к делу. Новые признаки Дотов Предыдущие симуляции хоть и демонстрировали выживание вида в определенных условиях, они все же были достаточно отдалены от реальных. Давайте наделим Дотов новыми признаками: Условия первой симуляции Цель симуляции - выяснить,
Оглавление

Если вы не видели первую часть, настоятельно рекомендую перед прочтением ознакомиться с ней: *click*

Вкратце о самом главном: основное действующее лицо - Дот. Дот хочет жить. Чтобы жить, Доту нужна пища - джелли. В зависимости от различных условий Дот каждый игровой день либо просто доживает до следующего дня, либо создает нового Дота. И мы пытаемся выяснить на примере Дотов, как работает естественный отбор. Почему одни признаки помогают выживать, а другие могут стать причиной полного исчезновения вида.

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

А теперь к делу.

Новые признаки Дотов

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

  • Доты теперь ограничены по времени. Каждый день будет длиться не дольше заданного количества секунд
  • У Дота теперь есть поле зрения, в котором он видит джелли. Если Дот не видит джелли, он выбирает случайную точку на поле и движется к ней до тех пор, пока в его поле зрения не появится джелли. Если же джелли так и не появился, а Дот дошел до точки, он выбирает новую точку. И так до тех пор пока не кончится день, или пока он не соберет желаемое количество джелли
  • У Дотов теперь разная скорость перемещения
  • Доты теперь могут мутировать (случайным образом изменить параметры на небольшое значение)

Условия первой симуляции

  • Каждый новый Дот имеет 100% шанс мутировать
  • Мутации скорости и дальности обзора не зависят друг от друга
  • Игровой день длится 3 секунды
  • Каждый день в мире появляется 20 джелли

Цель симуляции - выяснить, какой вид будет доминирующим в этом мире.

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

Сейчас я внесу все эти правки в код симуляции, и мы посмотрим, что из этого получится.

 Базовая модель поведения Дотов
Базовая модель поведения Дотов

Да начнется эволюция!

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

Также наши Доты будут окрашиваться в зависимости от того, насколько они быстрые. Красный Дот - максимально быстрый. Синий Дот - самый медленный. Все промежуточные (розовые, фиолетовые) - что-то среднее.

Не будем же больше тянуть!

4 день симуляции
4 день симуляции

Мы начинаем с 1 Дотом самого среднего поля зрения и самой средней скорости. У каждого "потомка" дота немного изменяется скорость и радиус обзора (может измениться как в плюс, так и в минус). Также важно уточнить, что новый Дот мутирует относительно Дота-предка. Поэтому резкие скачки эволюции невозможны.

На 4-й день не произошло ничего необычного. Все доты очень похожи на первоначального по всем параметрам. Давайте смотреть дальше.

50 день симуляции
50 день симуляции

На 50 день появились более красные (более быстрые) Доты. Также у многих дотов увеличился радиус обзора. Давайте продолжим наблюдения.

-5

На 142 день можно заметить, как сильно увеличился радиус обзора наших Дотов. При этом, они становятся еще быстрее своих предков.

Доминирующий вид Дотов
Доминирующий вид Дотов

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

-7

На графике представлена динамика развития средней скорости Дотов (оранжевый график) и среднего радиуса обзора Дотов (синий график). Красными и синими прямыми линиями отмечены минимальные и максимальные значение скорости и дальности обзора соответственно.

Усложним условия

В представленном случае эволюция попросту не могла пойти по-другому, ведь чем больше скорость и угол обзора, тем Дот сильнее. Но что если мы лишим Дотов возможности "наращивать" оба параметра одновременно? Что если можно улучшить один параметр только за счет ухудшения другого? Какие Доты будут иметь преимущество? Зоркие или быстрые? Попробуйте предположить, а я пока внесу правки в код симуляции.

1000-й день симуляции
1000-й день симуляции

Несложно заметить, что на тысячный день преимущество захватили быстрые Доты. Однако это стало заметно только при приближении 1000-го дня. Думаю, мы увидим это на графике.

1295-й день симуляции
1295-й день симуляции

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

-10

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

Эволюция всегда идет по одному сценарию?

Давайте попробуем поставить еще один эксперимент. Мы изменим всего одно условия. Каждый день в мире будет появляться не 20 джелли, а всего 5. Какие Доты будут иметь преимущество в таких условиях?

534-й день симуляции
534-й день симуляции

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

Дотограмма при 5 джелли в день
Дотограмма при 5 джелли в день

При таком небольшом количестве джелли в день Доту сложно найти больше одного. Однако если Дот несколько дней подряд ест только 1 джелли, в мире копится много джелли, что дает возможность наделать много Дотов. А когда Дотов много, джелли резко становится мало, поэтому очень многие Доты пропадают без вести, даже те, которые могли бы стать лучшими представителями своего вида.

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

Больше экспериментов!

Нас впереди ждет еще 2 очень интересных эксперимента.

Первый будет совсем простой со вполне предсказуемым результатом: что будет, если день будет длиться не 5 секунд, а одну, при этом в день будет появляться 25 джелли?

Симуляция с длительностью дня в 1 секунду
Симуляция с длительностью дня в 1 секунду

Признавайтесь, кто знал, что этим кончится? Если вокруг вас повис немой вопрос: "Почему?", - то я могу на него легко ответить. Все дело в том, что медленные Доты смогут есть только те джелли, что находятся поблизости к дому. При этом в центре - золотая жила. И те, кто будут способны туда добраться, имеют куда больший запас джелли, нежели те, для кого путь туда закрыт. Именно поэтому в таких условиях выгодно быть быстрым - так Доту открыты все дороги.

Ты эволюционировал, но какой ценой? - Ценой всего.

Я еще не затрагивал эту тему, но сейчас - самое время. На самом деле, помимо всего прочего, Дотам выгодно эволюционировать в скорость потому, что эволюционировать в дальность обзора "дорого". Условно говоря, прирост к скорости на 0,1(в условных единицах) равен приросту к радиусу обзора в 0,05 (потому что я прописал такие формулы). Давайте сделаем прирост в дальности обзора выгоднее.

Если раньше дальность обзора менялась от 1 до 3, теперь будет меняться от 0 до 8. При этом, раньше с каждой мутацией дальность менялась на 0,05, а теперь будет меняться на 0,1.

Давайте поставим следующие условия: 8 джелли в день, каждый день длится 5 секунд.

Запускаем симуляцию

Я не буду ничего говорить. Я просто покажу скриншоты и график.

-14
-15
-16
-17

"Мы больше не обязаны мчать за джелли сломя голову!" - каждый Дот

Именно это они кричали, неспешно прогуливаясь по полю, заглядывая как можно дальше в поисках джелли.

Вас может удивить, что несмотря на такое увеличение максимальной дальности обзора, скорость все еще могла конкурировать с ней. Но на самом деле, в этом нет ничего удивительного, потому что, фактически, ценность изменения дальности обзора не стала более привлекательной на фоне ценности скорости, а просто примерно сравнялась с ней (0,1 условная единица). Поэтому мы получаем именно такое результат

Что же дальше?

Мы еще успеем поиграться со скоростью и дальностью обзора в следующих статьях. Более того, уже в следующей статье мы будем выяснять, какой вид Дотов окажется превосходящим остальные: травоядные, хищники или падальщики. Если не хотите пропустить столь увлекательные эксперименты, ни в коем случае не забудьте подписаться. Всем тепла, любви и добра.