ВВЕДЕНИЕ 5
1. Постановка задачи 6
2. Введение в теорию игр 7
2.1. Основные положения 7
2.2. Принятие решений в условиях неопределенности 12
3. Обзор существующих моделей ИИ 16
3.1. AlphaZero 16
3.2. Libratus 17
4. Обзор некоторых моделей нейронных сетей 19
4.1. MultiLayer Perceptron 19
4.2. Long-Short Term Memory 21
5. Описание правил игры для исследования 25
6. Разработка ПО для создания инфраструктуры для исследования 28
6.1. Структура и назначение программного обеспечения 28
6.2. Функции частей программного обеспечения 30
6.2.1. Первый модуль 30
6.2.2. Второй модуль 37
6.3. Средства разработки программного обеспечения 39
6.4. Операционная система 40
6.5. Развёртывание сервера в облаке 41
7. Разработка и исследование моделей ИИ 42
7.1. Модель на основе MLP 42
7.1.1. Архитектура 42
7.1.2. Обучение сети 43
7.1.3. Вычисление привлекательностей 44
7.1.4. Выбор топологии сети 46
7.1.5. Реализация модуля 49
7.1.6. Анализ модели на основе MLP 49
7.1.7. Выводы 57
7.2. Модель на основе LSTM 58
7.2.1. Архитектура 58
7.2.2. Обучение сети 58
7.2.3. Реализация 63
7.2.4. Анализ 63
7.2.5. Выводы 70
7.3. Предлагаемый алгоритм обучения нейронных сетей 71
7.4. Модель на основе критериев оптимальности 72
7.4.1. Реализация 72
7.4.2. Анализ 73
7.5. Средства разработки моделей ИИ 75
ЗАКЛЮЧЕНИЕ 77
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 79
ПРИЛОЖЕНИЕ А 81
ПРИЛОЖЕНИЕ Б 83
ПРИЛОЖЕНИЕ В 85
ПРИЛОЖЕНИЕ Г 87
ПРИЛОЖЕНИЕ Д 90
ПРИЛОЖЕНИЕ Е 94
Проблемы принятия решений занимают значительное место в современной науке. В том или ином виде системы поддержки принятия решений (СПИР) присутствуют в любой информационно-управляющей системе.
Как правило, большинство задач содержит в себе неопределенность. Решением таких задач занимается теория игр [1]. В настоящее время эта дисциплина привлекает огромный интерес. С одной стороны, она сыграла ключевую роль в создании современной экономической теории, с другой - является одним из важнейших инструментов анализа большого многообразия задач, возникающих не только в экономике, но и в политике, социальных науках, биологии. Эта дисциплина используется в задачах ведения дел о банкротстве, принятия решений по разработке промышленной продукции и назначению на нее цен, а также задачах национальной обороны.
Учёные-биологи применяют теорию игр при создании лекарства от рака, а крупные компании с помощью нее прорабатывают стратегии ведения переговоров. Для автоматизации процесса решения таких задач необходим искусственный интеллект.
Тема игр с неполной информацией сейчас одна из наиболее популярных в экономической науке. Неслучайно Ллойд Шепли и Элвин Рот получили в 2012 году Нобелевскую премию по экономике за теорию стабильного распределения, которая связана как раз с теорией игр.
Одним из последних достижений в этой области является создание специалистами из Университета Карнеги-Меллон в 2017 году искусственного интеллекта Libratus, который смог обыграть профессионального игрока в покер
В итоге, были реализованы две модели искусственного интеллекта на основе нейронных сетей. Модель на основе многослойного персептрона использует понятие «привлекательности» объекта. Модель на основе LSTM прогнозирует распределение вложений. Обе модели обучались на данных, полученных без использования человеческих знаний о каких-либо стратегиях. Оба типа нейронных сетей применимы для решения задач с неполной информацией. Несмотря на то, что самообучение в течении одной партии ухудшает результаты модели на основе сети LSTM, результаты показали, что данный тип нейронных сетей выглядит более перспективным, чем MLP. В сравнении с моделью на основе критериев оптимальности, модель на основе LSTM выигрывает за счёт использования данных о предыдущих партиях в игре.
В будущем стоит провести исследования с другими типами нейронных сетей. Также стоит исследовать комбинированные модели ИИ с использованием преимуществ различных типов нейронных сетей.
В результате проделанной работы было разработано следующее программное обеспечение: клиент-серверное приложение с графическим интерфейсом и возможностью подключения внешних модулей искусственного интеллекта, консольное серверное приложение для развертывания в сети Интернет с помощью облачных технологий, клиентское приложение для работы с нейронными сетями на языке Python. Консольное приложение было развернуто в сети Интернет с помощью «облачного» сервиса. Одним из возможных применений разработанной программной системы является проведение с помощью неё лабораторных работ или соревнований по программированию и искусственному интеллекту.
Были исследованы библиотеки машинного обучения для С++ и Python. Можно сделать вывод о том, что для языка С++ нет библиотек, которые бы обеспечили полный функционал, связанный с нейронными сетями.
1. Рассел С., Норвиг П. - Искусственный интеллект: современный подход, 2¬е изд..: Пер. с англ. — М. :Издательский дом "Вильямс", 2006. — 1408 с.: ил. — Парал. тит. англ.
2. Печерский С.Л., Беляева А.А. Теория игр для экономистов. Вводный курс: Учебное пособие. - СПб.: Изд-во Европейского университета в Санкт- Петербурге, 2001. - 342 с.
3. David Silver, Julian Schrittwieser, Karen Simonyan. Mastering the Game of Go
without Human Knowledge. [Электронный ресурс] // URL: https://deepmind.com/documents/119/agz_unformatted_nature.pdf - 18 Oct
2017.
4. David Silver, Thomas Hubert, Julian Schrittwieser. Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm. [Электронный ресурс] // URL: https://arxiv.org/pdf/1712.01815 - 5 Dec 2017.
5. Meet the New AI Challenging Human Poker Pros - IEEE Spectrum: Technology, Engineering, and Science News. Retrieved 2017-01-15.
6. Noam Brown, Tuomas Sandholm. Safe and Nested Endgame Solving forImperfect-Information Games. Proceedings of the AAAI workshop on Computer Poker and Imperfect Information Games - 2017.
7. Noam Brown, Tuomas Sandholm. Libratus: The Superhuman AI for No-Limit Poker - 2017.
8. Knight Will. Why it's a big deal that AI knows how to bluff in poker - 2017.
9. Anthony Cuthbertson. Artificial Intelligence Wins $800,000 Against 4 Poker Masters - Interesting Engineering. 27 January 2017.
10. Федорук В.Г. Искусственные нейронные сети. [Электронный ресурс] // URL: http: //bigor. bmstu. ru/? cnt/?doc=NN/base. cou
11. Хайкин С. - Нейронные сети: полный курс, 2-е издание. : Пер. с англ. — М. :Издательский дом "Вильямс", 2006. — 1104 с.: ил. — Парал. тит. англ.
12. Bengio Y. - Learning Long-Term Dependencies with Gradient Descent is Difficult. - IEEE Transactions on neural networks, vol. 5, no. 2, March 1994.
13. Gulli A., Pal S. - Deep Learning with Keras. — Packt Publishing, 2017.
14. Глейзер Дж., Мадхав С.. Многопользовательские игры. Разработка сетевых приложений. - СПб.: Питер, 2017. - 368 с.: ил. — (Серия «Библиотека программиста»).
15. Стивенс У.Р., Феннер Б., Рудофф Э.М.. UNIX: разработка сетевых приложений. 3-е изд. - СПб.: Питер, 2007. - 1039 с.: ил.
16. Шлее М.. Qt 5.3. Профессиональное программирование на С++, - СПб.: БХВ-Петербург, 2015. - 928 с.: ил. - (В подлиннике).