Актуальность выпускной квалификационной работы заключается в том, что до сих пор не существует универсальной интеллектуальной системы, способной принимать решения в любых пошаговых играх с полной информацией. Наиболее способной интеллектуальной системой на данный момент является MuZero, разработанная компанией Google DeepMind [1]. Универсальность этой системы заключается в том, что в ее основе лежат нейронные сети, которые принимают на вход изображение с экрана. Однако, в силу того, что в экземпляре системы MuZero существует только один агент, она тестировалась и демонстрировала хорошие результаты только на однопользовательских (Atari) и симметричных (шашки, шахматы, го) играх. Внимание в данной работе сфокусировано на универсальном подходе к взаимодействию с любыми пошаговыми играми с полной информацией, независимо от характера игровых методик.
Практическая значимость работы заключается в том, что пошаговые игры в контексте работы - конкретная область применения интеллектуальной системы, которую, в случае успеха разработки, можно расширить. К примеру, вышеупомянутая MuZero после успешного окончания разработки была внедрена в работу команды DeepMind, разрабатывающей алгоритмы сжатия видео. Поскольку разработанная интеллектуальная система имеет структуру, отличную от структуры MuZero, и использует в работе другие алгоритмы, есть возможность использовать ее для решения других задач, которые можно описать как математическую модель с механикой пошагового принятия решений.
Целью выпускной квалификационной работы является разработка и реализация интеллектуальной системы, способной принимать решения в любых пошаговых играх (однопользовательских и многопользовательских, симметричных и асимметричных) с полной информацией. Система должна уметь обучаться на предоставленных играх, за счет этого увеличивая свою эффективность.
Поставленная цель определяет следующие задачи:
1) разработать универсальный подход к представлению пошаговой игры как математической модели;
2) реализовать несколько разных игр на основе разработанного
подхода;
3) разработать прототип интеллектуальной системы, способный
корректно взаимодействовать с любой игрой, соответствующей разработанной математической модели;
4) разработать несколько вариантов структуры алгоритма принятия решений для прототипа интеллектуальной системы;
5) протестировать интеллектуальные системы с разными структурами на разных играх;
6) проанализировать и сравнить результаты тестирования;
7) при необходимости произвести улучшения наиболее эффективных вариантов структуры для большего улучшения эффективности.
Для разработки игр и интеллектуальной системы, а также для их тестирования использовался язык программирования Python и его модули:
— numpy,
— random,
— copy,
— pygame,
— torch,
— matplotlib [2].
ВВЕДЕНИЕ 3
1. Реализация игр 5
2. Реализация прототипа интеллектуальной системы 7
3. Алгоритмы вспомогательных функций агента 10
3.1. Выбор действия 10
3.2. Заполнение памяти 11
3.3. Обучение 13
3.4. Тестирование 14
3.5. Тестирование в процессе обучения 14
4. Выбор архитектуры 16
5. Actor-Critic 17
6. Advantage Actor-Critic 20
7. Proximal Policy Optimization 23
8. Взаимодействие агентов друг с другом 25
ЗАКЛЮЧЕНИЕ 28
СПИСОК ЛИТЕРАТУРЫ 33
ПРИЛОЖЕНИЕ 34
1) Schrittwieser, J. Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model [Текст] / J. Schrittwieser, I. Antonoglou, T. Hubert, K. Simonyan, L. Sifre, S. Schmitt, A. Guez, E. Lockhart, D. Hassabis, T. Graepel, T. Lillicrap, D. Silver - Лондон: DeepMind, 2020. - 21 с.
2) Python 3.12.2 Documentation : сайт. - Харлем, 2001. - URL: https://docs.python.org (дата обращения: 28.02.2024).
3) Данилов В.И. Лекции по теории игр : учебное пособие / В.И. Данилов. - Москва : Российская экономическая школа, 2002. - 140 с.
4) Miller J. Complex Adaptive Systems: учебное пособие / J. Miller, S. Page. - Princeton : Princeton University Press, 2007. - 288 с.
5) Минский М.Л. Персептроны : учебное пособие / М.Л. Минский, С. Пейперт. - Москва : Мир, 1971. - 261 с.
6) Nielsen M. Neural Networks and Deep Learning : учебное пособие / M. Nielsen. - Berkeley : Astera Institute, 2017. - 224 с.
7) Francois-Lavet V. An Introduction to Deep Reinforcement Learning / V. Francois-Lavet, P. Henderson, R. Islam, M.G. Bellemare, J. Pineau. - Boston : Delft, 2018. 140 c.
8) Konda V.R. Actor-Critic Algorithms / V.R. Konda, J.N. Tsitsiklis.
Cambridge : Massachusetts Institute of Technology, 2001. - 9 c.
9) Introduction to Advantage Actor-Critic method (A2C) : сайт. -
Вильнюс, 2020. - URL: https://pylessons.com/A2C-reinforcement-learning (дата обращения: 2.05.2024).
10) Schulman J. Proximal Policy Optimization Algorithms / J. Schulman, F. Wolski, P. Dhariwal, A. Radford, O. Klimov. - San Francisco: OpenAI, 2017. - 12 c.
11) Lowe R. Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments / R. Lowe, Y. Wu, A. Tamar, J. Harb, P. Abbeel, I. Mordatch. - Monreal : McGill University, 2020. - 16 c.