Симуляция агрессивный, пассивный, альтруист

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск

Формулировка задачи

Дана абстрактная система, в начальный момент состоящая из пищи и какого-то количества существ(черепах) каждой модели поведения из трёх возможных - агрессивный, пассивный, альтруист. Необходимо построить симуляцию данной системы. Её условия таковы:
  1. Вся система состоит из неограниченного числа итераций длинной несколько секунд.
  2. В начале итерации на квадратном поле случайным образом расположено одинаковое число пищи.
  3. Черепахе любой модели поведения необходимо употребить 1 пищу, чтобы выжить и продолжить существовать в следующей итерации, 2 пищи, чтобы выжить и дать потомство в количестве одной черепахи, чья модель поведения совпадает с моделью родителя, но может измениться с какой-то вероятностью(вероятность мутации) на одну из двух других моделей, больше 2х употребить невозможно. Если же не было употреблено пищи совсем, то на следующей итерации черепаха исчезает.
  4. Модель поведения "пассивный" заключается в случайном блуждании по полю в поиске пищи.
  5. Модель поведения "агрессивный" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако при недостатке пищи для выживания черепаха будет пытаться отобрать еду у ближайшей сытой черепахи любой модели поведения.
  6. Модель поведения "альтруист" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако если будет употреблено 2 пищи то черепаха будет стремится отдать 1 пищу ближайшей голодной черепахе любой модели поведения.

Основные допущения и ограничения

  • Начальное число черепах каждой модели поведения ограничено 20 .
  • Число пищи ограничено 60.
  • Длительность одной итерации ограничена 30 секундами.

Инструкция по использованию

  • Чтобы изменить какой-то параметр введите в строку число не превышающее установленных границ. Разрешены только символы цифр 0-9.
  • Чтобы ускорить симуляцию изменяйте значение параметра "simulation speed".
  • Чтобы начать симуляцию нажмите кнопку "start simulation", а чтобы закончить - "end simulation".
  • Симуляцию можно приостановить нажав кнопку "stop".
  • Можно разрешить черепахам мутировать только в определённые модели поведения, поставив возле соответствующего поля галочку.

В симуляции агрессивные черепахи раскрашены рыжим цветом, пассивные - болотным, альтруисты - зелёным. На графиках это отображается красным, жёлтым и зелёным соответственно.

Симуляция

Текст программы на языке JavaScript (разработчик [1])