Skip to content

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

License

Notifications You must be signed in to change notification settings

underwit/agentsmith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 выходных.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages