Симуляция агрессивный, пассивный, альтруист — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
Nathan (обсуждение | вклад) |
Nathan (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
# Черепахе любой модели поведения необходимо употребить 1 пищу, чтобы выжить и продолжить существовать в следующей итерации, 2 пищи, чтобы выжить и дать потомство в количестве одной черепахи, чья модель поведения совпадает с моделью родителя, но может измениться с какой-то вероятностью(вероятность мутации) на одну из двух других моделей, больше 2х употребить невозможно. Если же не было употреблено пищи совсем, то на следующей итерации черепаха исчезает. | # Черепахе любой модели поведения необходимо употребить 1 пищу, чтобы выжить и продолжить существовать в следующей итерации, 2 пищи, чтобы выжить и дать потомство в количестве одной черепахи, чья модель поведения совпадает с моделью родителя, но может измениться с какой-то вероятностью(вероятность мутации) на одну из двух других моделей, больше 2х употребить невозможно. Если же не было употреблено пищи совсем, то на следующей итерации черепаха исчезает. | ||
# Модель поведения "пассивный" заключается в случайном блуждании по полю в поиске пищи. | # Модель поведения "пассивный" заключается в случайном блуждании по полю в поиске пищи. | ||
− | # Модель поведения "агрессивный" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако при недостатке пищи для выживания черепаха будет пытаться отобрать еду у ближайшей черепахи любой модели поведения. | + | # Модель поведения "агрессивный" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако при недостатке пищи для выживания черепаха будет пытаться отобрать еду у ближайшей сытой черепахи любой модели поведения. |
− | # Модель поведения "альтруист" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако если будет употреблено 2 пищи то черепаха будет стремится отдать 1 пищу | + | # Модель поведения "альтруист" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако если будет употреблено 2 пищи то черепаха будет стремится отдать 1 пищу ближайшей голодной черепахе любой модели поведения. |
== Основные допущения и ограничения == | == Основные допущения и ограничения == | ||
Строка 14: | Строка 14: | ||
== Инструкция по использованию == | == Инструкция по использованию == | ||
− | * Чтобы изменить какой-то параметр введите в строку число не превышающее установленных границ. | + | * Чтобы изменить какой-то параметр введите в строку число не превышающее установленных границ. Разрешены только символы цифр 0-9. |
* Чтобы ускорить симуляцию изменяйте значение параметра "simulation speed". | * Чтобы ускорить симуляцию изменяйте значение параметра "simulation speed". | ||
* Чтобы начать симуляцию нажмите кнопку "start simulation", а чтобы закончить - "end simulation". | * Чтобы начать симуляцию нажмите кнопку "start simulation", а чтобы закончить - "end simulation". |
Версия 11:56, 1 июня 2020
Содержание
Формулировка задачи
Дана абстрактная система, в начальный момент состоящая из пищи и какого-то количества существ(черепах) каждой модели поведения из трёх возможных - агрессивный, пассивный, альтруист. Необходимо построить симуляцию данной системы. Её условия таковы:
- Вся система состоит из неограниченного числа итераций длинной несколько секунд.
- В начале итерации на квадратном поле случайным образом расположено одинаковое число пищи.
- Черепахе любой модели поведения необходимо употребить 1 пищу, чтобы выжить и продолжить существовать в следующей итерации, 2 пищи, чтобы выжить и дать потомство в количестве одной черепахи, чья модель поведения совпадает с моделью родителя, но может измениться с какой-то вероятностью(вероятность мутации) на одну из двух других моделей, больше 2х употребить невозможно. Если же не было употреблено пищи совсем, то на следующей итерации черепаха исчезает.
- Модель поведения "пассивный" заключается в случайном блуждании по полю в поиске пищи.
- Модель поведения "агрессивный" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако при недостатке пищи для выживания черепаха будет пытаться отобрать еду у ближайшей сытой черепахи любой модели поведения.
- Модель поведения "альтруист" заключается в преимущественном случайном блуждании по полю в поиске пищи, однако если будет употреблено 2 пищи то черепаха будет стремится отдать 1 пищу ближайшей голодной черепахе любой модели поведения.
Основные допущения и ограничения
- Начальное число черепах каждой модели поведения ограничено 20 .
- Число пищи ограничено 60.
- Длительность одной итерации ограничена 30 секундами.
Инструкция по использованию
- Чтобы изменить какой-то параметр введите в строку число не превышающее установленных границ. Разрешены только символы цифр 0-9.
- Чтобы ускорить симуляцию изменяйте значение параметра "simulation speed".
- Чтобы начать симуляцию нажмите кнопку "start simulation", а чтобы закончить - "end simulation".
- Симуляцию можно приостановить нажав кнопку "stop".
- Можно разрешить черепахам мутировать только в определённые модели поведения, поставив возле соответствующего поля галочку.
В симуляции агрессивные черепахи раскрашены рыжим цветом, пассивные - болотным, альтруисты - зелёным. На графиках это отображается красным, жёлтым и зелёным соответственно.
Симуляция
Текст программы на языке JavaScript (разработчик [1])