АННОТАЦИЯ 2
ВВЕДЕНИЕ 6
1 АНАЛИЗ ТРЕБОВАНИЙ К СИСТЕМЕ. ОБЗОР ТЕХНОЛОГИЙ
СОЗДАНИЯ НЕЙРОННЫХ СЕТЕЙ 8
1.1 ПОСТАНОВКА ЗАДАЧИ 8
1.2 СУЩЕСТВУЮЩИЕ ПРИЛОЖЕНИЯ 8
1.3 ВИДЫ ПОСТРОЕНИЯ АРХИТЕКТУР НЕЙРОННЫХ СЕТЕЙ 10
1.4 ИНСТРУМЕНТАРИЙ РАЗРАБОТКИ 15
1.4.1 Язык Python 17
1.4.2 Язык Lua 19
1.4.3 Язык C++ 20
1.5 ВЫВОДЫ ПО РАЗДЕЛУ 23
2 РАЗРАБОТКА АРХИТЕКТУРЫ СИСТЕМЫ 25
2.1 ДИАГРАММА ПРЕЦЕДЕНТОВ 25
2.2 ДИАГРАММЫ КЛАССОВ 26
2.3 ДИАГРАММА КОМПОНЕНТОВ 27
2.4 ВЫВОДЫ ПО РАЗДЕЛУ 28
3 РЕАЛИЗАЦИЯ СИСТЕМЫ 30
3.1 РАЗРАБОТКА АЛГОРИТМОВ 30
3.1.1 Общий алгоритм системы 30
3.1.2 Алгоритм формирования архитектуры нейронной сети 31
4 ОТЛАДКА И ТЕСТИРОВАНИЕ СИСТЕМЫ 32
4.1.1 Отладочное приложение 32
4.1.2 Тестирование системы 38
4.2 ВЫВОДЫ ПО РАЗДЕЛУ 42
ЗАКЛЮЧЕНИЕ 44
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 45
ПРИЛОЖЕНИЕ 1 48
ПРИЛОЖЕНИЕ 2 52
В настоящее время игровая индустрия столкнулась с проблемой где оставить игрока в игре надолго является настоящим испытанием для разработчика. Не смотря на все прорывы в области искусственного интеллекта, искусственный интеллект в компьютерный играх остается достаточно примитивным и это одна из причин почему не удается удержать игрока надолго. Данный модуль представит одно из возможных решений этой проблемы
Для обеспечения не примитивного искусственного интеллекта мы будем искусственные нейронные сети.
Поскольку спектр возможных услуг не ограничен, целевой аудиторией данного модуля будут являться все разработчики искусственного интеллекта.
Работа посвящена разработке модуля искусственного интеллекта для компьютерной игры под управлением нейронной сети.
Первая глава посвящена разработке требований к системе. На основе анализа существующих подобных приложений принято решение о построении архитектуры нейронной сети, в которой клиентское приложение выполняет функции инициализация нейронной сети, обучение нейронной сети и игровой процесс соответственно.
Во второй главе приведена разработка архитектуры системы в целом приведены диаграммы использования и диаграммы классов.
Третья глава посвящена разработке алгормитмов системы и их описанию.
И наконец, в четвертой главе включающая в себя отладку и тестирование системы с помощью специального приложения, которое должно более точно снимать метрики с работы нейронной сети в играх с закрытой информацией
В данной работе были исследованы существующие технологии разработки и наиболее востребованные языки программирования для разработки нейронных сетей и других средств глубокого обучения, а также существующие приложения подобного типа. Выполнен анализ требований к приложению.
Спроектированы архитектура системы и архитектура нейронной сети. В результате была разработана архитектура нейронной сети.
Для тестирования системы было разработано отладочное приложение, позволяющее игроку играть против нейронной сети в игру с закрытой информацией (Камень-Ножницы-Бумага) и снимать метрики (количество пора- жений/количество побед). Также было проведено тестирование в изначально заданном приложении (БаШе СИу) и выбраны эвристические метрики для анализа работы нейронной сети в ней (количество смертей и время игры)
Таким образом, все поставленные задачи были успешно выполнены.
В дальнейшем планируется добавить возможность распознование образов на карте/игровом поле, а также анализ эмоций пользователя:
- сверточная нейронная сеть для анализа изображений игрового поля (например, которая была использована для анализа движений в Р1Еа);
- получение изображения с вебкамеры или фронтальной камеры телефона (в зависимости от платформы) и анализ эмоций пользователя для переобучения нейронной сети под управлением агента .