Обзор симуляции
EvoGame — симулятор естественной эволюции в реальном времени. Агенты рождаются,
питаются, размножаются половым путём и умирают. Со временем их признаки эволюционируют
по законам естественного отбора — успешные признаки распространяются, неиспользуемые
органы уменьшаются и исчезают.
Половое размножение
- Агенты имеют пол: (мужской) и (женский)
- Размножение только между разными полами
- Геном наследуется 50/50 — каждый признак от одного из родителей
- Работает кроссовер — часть ДНК от отца, часть от матери
- Потомок появляется рядом с матерью
Нейронная сеть (искусственный интеллект)
Каждый агент управляется настоящей нейросетью с архитектурой
18→16→8→4 (~476 обучаемых весов):
Входные сенсоры (14) + память (4):
- Еда: расстояние и угол к ближайшей еде
- Партнёр: расстояние и угол к ближайшему совместимому партнёру
- Угроза: расстояние, угол и относительный размер хищника
- Состояние: уровень энергии, возраст (нормализованные)
- Окружение: плотность агентов рядом, плотность еды
- Готовность: флаг возможности размножения
- Скорость сближения: угроза и партнёр — знаковая проекция относительной
скорости на направление к цели (хищник учится «вести» жертву, добыча — отличать
«угроза рядом» от «угроза догоняет»)
- Рекуррентная память (4): первые 4 нейрона скрытого слоя подаются
обратно на вход следующего тика — появляется временная глубина: засада, патруль,
упорное преследование
Выходные действия (4):
- Поворот: направление движения (-1 влево, +1 вправо)
- Скорость: множитель скорости (0-100%)
- Агрессия: атаковать или убегать
- Поиск партнёра: приоритет размножения
Эволюция и обучение:
- Наследование: веса сети передаются потомкам через кроссовер (50% от каждого родителя) + мутации
- Reinforcement Learning с eligibility traces (λ=0.7): каждая награда
распределяется назад во времени по последним 5 активациям с экспоненциальным
затуханием — цепочка «преследование → поимка» учится целиком:
- Съел еду → награда +0.5
- Размножился → награда +1.0
- Сбежал от хищника → награда +0.3
- Неудачная охота → штраф -0.2
Кликните на агента (на паузе) чтобы увидеть визуализацию его нейросети в реальном времени!
Система органов (уникальные функции)
- Хвост → Манёвренность (скорость поворота)
- Жгутик → Максимальная скорость
- Реснички → Ускорение (быстрее разгон)
- Лапка → Защита (членистая конечность отпихивает хищника)
- Щупальце → Досягаемость еды
Редуцирование органов
Как в настоящей природе, неиспользуемые органы уменьшаются
из поколения в поколение:
- Система отслеживает использование каждого органа
- При размножении: <5% использования → орган уменьшается на 30%
- Органы меньше 0.15 исчезают полностью (рудименты)
Механика питания (рот)
- Агенты едят только спереди (в пределах угла рта)
- Нужно повернуться к еде, чтобы её съесть
- Щупальца увеличивают дальность, но не угол
Хищничество
- Агрессивные агенты (оранжевый контур) охотятся на меньших
- Требуется преимущество в размере (×1.3) и генетическая дистанция
- Лапки снижают шанс быть съеденным (упираются в нападающего)
- Быстрая добыча имеет шанс побега (15-60%)
Энергия
- Получение: еда (+30-45), охота (+60% энергии жертвы)
- Расход: базовый + скорость² + зрение + размер + органы
- Высокая скорость очень дорогая (квадратичная стоимость)
- Смерть: энергия = 0 (голод) или возраст > продолжительности жизни
Физика
- Агенты имеют инерцию (скорость vx, vy)
- Реснички ускоряют разгон, жгутик увеличивает максимум
- Хвост улучшает повороты, крупные агенты поворачивают медленнее
- Сопротивление среды зависит от размера
Горячие клавиши
Space Старт/Пауза
R Сброс
F Добавить еду
→ Один тик
Исследование агентов
На паузе кликните на агента, чтобы увидеть:
- Полную ДНК: пол, форму, цвет, скорость, органы
- Визуализацию нейросети с активацией нейронов в реальном времени
- Выходные значения: поворот, скорость, агрессия, поиск партнёра
- Закодированную ДНК нейросети (~476 весов)
Тонкая настройка
Нажмите кнопку в заголовке для доступа к расширенным
настройкам: энергия, размножение, хищничество, физика, лимиты признаков,
множители органов и угол рта.