https://github.com/underwit/agentsmith
Нейронная сеть оптимизируемая с помощью генетического алгоритма. Задача агента контролируемого при помощи нейронной сети состоит в том, чтобы избегать контакта с противниками, как можно более длительное время.
https://github.com/underwit/agentsmith
agent evolutionary-algorithms evolutionary-strategy game genetic-algorithm machine-learning machine-learning-algorithms neural-network nn python python3 tkinter unsupervised-learning
Last synced: 3 months ago
JSON representation
Нейронная сеть оптимизируемая с помощью генетического алгоритма. Задача агента контролируемого при помощи нейронной сети состоит в том, чтобы избегать контакта с противниками, как можно более длительное время.
- Host: GitHub
- URL: https://github.com/underwit/agentsmith
- Owner: underwit
- License: mit
- Created: 2018-03-03T13:07:19.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-04T20:03:06.000Z (about 8 years ago)
- Last Synced: 2024-03-30T06:46:39.601Z (about 2 years ago)
- Topics: agent, evolutionary-algorithms, evolutionary-strategy, game, genetic-algorithm, machine-learning, machine-learning-algorithms, neural-network, nn, python, python3, tkinter, unsupervised-learning
- Language: Python
- Homepage:
- Size: 1.61 MB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Agent Smith
### Описание
Нейронная сеть оптимизируемая с помощью генетического алгоритма. Задача агента контролируемого при помощи нейронной сети состоит в том, чтобы избегать контакта с противниками, как можно более длительное время.

Проект создан на чистом **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 выходных.