10.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Интересные проекты, инструменты, библиотеки

agentsmith - Агент Смит на чистом python

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

Читать>>




Экспериментальная функция:

Ниже вы видите текст статьи по ссылке. По нему можно быстро понять ссылка достойна прочтения или нет

Просим обратить внимание, что текст по ссылке и здесь может не совпадать.

README.md

Agent Smith

Описание

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

demo

Проект создан на чистом python 3.x без использования сторонних библиотек.

Внимание!!! прошу прощения за код, делал на скорую руку. Некоторые архитектурные решения могут покалечить психику.

Обучение

Для начала обучения необходимо запустить скрипт run.py

пример:

python run.py -s 16 32 -F 0.3  -D 0.5 -L 5000 -b 40 -r 42

Возможные опции:

-h, --help              show this help message and exit
-s                      Форма нейронной сети 
--no-mutate             Отменить мутации новых особей
-M {gauss,normal}       Функция мутации генов
-F                      Доля мутируемых генов
-D                      Отклонение при мутации
-L                      Лимит необходимых очков
-b                      Количество противников
-p                      Количество особей в популяции
-c                      Количество новых детей
-g                      Количество поколений
-W                      Ширина комнаты симуляции
-H                      Высота комнаты симуляции
-r                      Начальное состояние генератора случайных чисел

Воспроизведение

В папке sample есть пара уже обученных сетей.

Для просмотра работы обученной сети, необходимо воспользоваться player.py передав в качестве аргумента json файл с обученной сетью.

Пример:

python player.py sample/17-34-2_5120_30122017_1450.json

Из названия файла видно, что сеть имеет 17 входных нейронов 34 в скрытом слое и 2 выходных.



Лучшая Python рассылка




Разместим вашу рекламу

Пиши: mail@pythondigest.ru

Нашли опечатку?

Выделите фрагмент и отправьте нажатием Ctrl+Enter.

Система Orphus