О проекте

Что такое Waterline?

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

Как работает нейросеть?

Архитектура: 8 входов → 10 скрытых нейронов → 3 выхода

Входы:

  • Высота существа
  • Уровень воды
  • Направление к высокой земле (x, z)
  • Расстояние до высокой точки
  • Уровень энергии
  • Направление к еде (x, z)

Выходы:

  • Движение по X (-1 до 1)
  • Движение по Z (-1 до 1)
  • Желание размножиться (-1 до 1, >0.5 = размножение)

Эволюция и мутации

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

Существа, которые умеют находить еду, избегать воды и размножаться в правильное время, передают свои «гены» (веса нейросети) следующему поколению. Так постепенно популяция становится умнее.

Curriculum Learning

Симуляция использует поэтапное обучение. Нельзя сразу бросить существ в сложные условия — они вымрут раньше, чем научатся. Поэтому сложность увеличивается постепенно через 5 этапов.

Технологии

Unity 6WebGLC#Next.jsTypeScriptPostgreSQLDockerTailwind CSS

Open Source

Проект полностью открытый. Исходный код доступен на GitHub.

GitHub