Polyworld

Polyworld — кроссплатформенная программа (для Linux и macOS), написанная Ларри Йегером для изучения эволюции искусственного интеллекта с использованием механизмов естественного отбора и эволюционных алгоритмов.[1]

Что важно знать

Механизм работы

Polyworld использует графический инструментарий Qt и OpenGL для отображения среды, в которой популяция трапециевидных агентов ищет пищу, вступает в спаривания, выводит потомство и охотится друг на друга. Численность популяции обычно составляет несколько сотен, так как каждая особь довольно сложна, а среда требует значительных ресурсов компьютера. Графическая визуализация необходима, поскольку агенты действительно перемещаются по двумерной плоскости и должны "видеть" окружающее пространство. Благодаря базовым возможностям (например, питаться останками и случайно появляющейся пищей, видеть других агентов, вступать с ними во взаимодействие: спаривание, борьба и др.) в процессе продолжительной эволюции возникают сложные модели поведения — например, каннибализм, отношения хищник–жертва, мимикрия.

Каждый агент принимает решения на основе нейронной сети с использованием гебианского обучения. Архитектура нейросети определяется индивидуальной генетической структурой агента, которая задаёт не только конфигурацию соединений, но и размер сети, скорость перемещения, цвет, частоту мутаций и другие параметры. Геном мутирует случайным образом с заданной вероятностью; эти параметры наследуются и изменяются у потомков[2].

Примечания

Ссылки