Я разработал генетическую модель, которая позволяет автоматически создавать систему управления для объектов на основе моделирования эволюционного процесса.
Как это работает? Создаётся поколение объектов со случайным набором генов. Объекты действуют в среде под управлением генома. Лучшие (по каким-то критериям, которые мы задаём) разможаются двуполым способом. Так формируется новое поколение, которое снова выпускаются в среду. Поколение за поколением, объекты становятся всё сообразительней.
Как происходит управление? У объектов есть сенсоры, которые позволяют им получать от среды информацию. Управляющая система преобразует входную информацию в управляющие сигналы, которые позволяют объекту двигаться, стрелять, уворачиваться от опасностей и т.д.
Ближе всего это к эволюции нейросетей с наращиваемой топологией. Хотя, по сути имитируется работа генов, синтез белков, работа белков в клетке.
Я планирую провести несколько экспериментов, в которых различные типы объектов в различных средах будут эволюционировать и отращивать управляющую систему.
Первый эксперимент завершился успешно и показал хорошую работоспособность модели. Задача состояла в том, чтобы шарики, имеющие 12 лучей-датчиков научились уворачиваться от движущихся препятствий. Вот видео первого и пятисотого поколений.
Вот скриншот, на котором визуализирован геном одного из организмов из 201-го поколения: http://i.imgur.com/vclU3JY.png
Сейчас я работаю над новым, более сложным экспериментом. В котором будет шесть типов взаимодействующих объектов, и два из них будут эволюционировать.
Если во всех экспериментах удастся добиться желаемого уровня управления, можно будет подумать об использовании этой системы на практике, то есть для создания систем управления врагами в играх.