1   2   3   4   5
Ім'я файлу: 2021_M_EOM_Suprunenko_M_Iu.pdf
Розширення: pdf
Розмір: 2211кб.
Дата: 30.05.2022
скачати
Пов'язані файли:
9._POKAZHCHIKI.doc
КОВИД КОРОНА.docx
104.doc
Лабораторная работа №1.docx
курсова робота Облік запасів (1).docx
Перескладання.docx
Лабораторна робота 2.docx
банковское страхование.docx
Стан ОП з розвитку музичних здібностей дітей.docx
Види конфіскації майна.docx
[UAReferats.com]_C39N1549.doc
Лекція 3.docx

Міністерство освіти і науки України
Харківський національний університет радіоелектроніки
Факультет комп’ютерної інженерії та управління
(повна назва)
Кафедра електронних обчислювальних машин
(повна назва)
КВАЛІФІКАЦІЙНА РОБОТА
Пояснювальна записка
Рівень вищої освіти другий (магістерський)
Методи забезпечення адаптивності ігрового штучного
інтелекту
інтелекту
(тема)
Виконав:
студент
II
курсу, групи
СПм-20-1
Супруненко М.Ю.
(прізвище, ініціали)
Спеціальність
123 «Комп’ютерна інженерія»
(код і повна назва спеціальності)
Тип програми освітньо-професійна
(освітньо-професійна або освітньо-наукова)
Освітня програма
Системне програмування
(повна назва освітньої програми)
Керівник:
доц. Іващенко Г.С.
(посада, прізвище, ініціали)
Допускається до захисту
Зав. кафедри ЕОМ
Коваленко А.А.
(підпис)
(прізвище, ініціали)
2021 р.

Харківський національний університет радіоелектроніки
ЗАТВЕРДЖУЮ:
Зав. кафедри
(підпис)


20
р.
ЗАВДАННЯ
НА КВАЛІФІКАЦІЙНУ РОБОТУ
студенту
Супруненку Максиму Юрійовичу
(прізвище, ім’я, по батькові)
1. Тема роботи Методи забезпечення адаптивності ігрового штучного інтелекту затверджена наказом по університету від
“ 5 ”
листопада
2021 р. № 1657 Ст
2. Термін подання студентом роботи до екзаменаційної комісії
13 грудня 2021 р.
3. Вхідні дані до роботи
1) документація для створення ігрового агенту на основі навчання з підкріпленням
2) мова програмування Python
3) бібліотека PyTorch
4) програмний засіб HandyRL
4. Перелік питань, що потрібно опрацювати у роботі
1) Дослідження методів забезпечення адаптивності ігрового штучного інтелекту та створення агенту
2) Створення ігрового середовища для ігри «Змійка»
3) Порівняння розробленого адаптивного агенту з існуючими реалізаціями ігрового штучного інтелекту у рамках змагання на платформі Kaggle
Факультет комп’ютерної інженерії та управління
Кафедра електронних обчислювальних машин
Рівень вищої освіти другий (магістерський)
Спеціальність
123 «Комп’ютерна інженерія»
(код і повна назва)
Тип програми освітньо-професійна
(освітньо-професійна або освітньо-наукова)
Освітня програма
Системне програмування
(повна назва)

5. Перелік графічного матеріалу із зазначенням креслеників, схем, плакатів, комп’ютерних
ілюстрацій (слайдів)
Слайд-презентація – 13 слайдів
6. Консультанти розділів роботи (заповнюється за наявності консультантів згідно з наказом, зазначеним у п.1 )
Найменування розділу
Консультант
(посада, прізвище, ім’я, по батькові)
Позначка консультанта про виконання розділу підпис дата
КАЛЕНДАРНИЙ ПЛАН

Назва етапів роботи
Термін виконання етапів роботи
Примітка
1
Вибір та обгрунтування методики дослідження
09.11.21-18.11.21 2
Вибір інструментальних засобів
19.11.21-22.11.21 3
Проведення експериментів
23.11.21-29.11.21 4
Оформлення матеріалів кваліфікаційної роботи
29.11.21-30.11.21 5
Подання кваліфікаційної роботи керівникові та
01.12.21-02.12.21
її попередній захист
6
Подання кваліфікаційної роботи на рецензу-
03.12.21-04.12.21
вання
Дата видачі завдання
8 листопада 2021 р.
Студент
(підпис)
Керівник роботи доц. Іващенко Г.С.
(підпис)
(посада, прізвище, ініціали)

РЕФЕРАТ
Пояснювальна записка кваліфікаційної роботи: 76 с., 25 рис., 5 табл., 28
джерел.
REINFORCEMENT LEARNING, SNAKE GAME, DEEP Q-LEARNING,
MONTE-CARLO SEARCH TREE, ARTIFICIAL NEURAL NETWORKS,
PYTHON.
Метою роботи є дослідження агентів в ході якого потрібно створити
ігровий штучний інтелект для гри «Змійка», побудований на основі
адаптивного ігрового штучного інтелекту використовуючи навчання з підкріпленням та глибині нейронні мережі. Агент повинен вчитися на основі
попереднього досвіду і демонструвати результат під час гри с користувачем.
У ході виконання кваліфікаційної роботи створено адаптивний ігровий агент на основі штучної нейронної мережі для ігри «Змійка», створено середовище виконання агенту для ігри в «Змійку», оцінено результати тренування та валідації агенту при виконанні дослідження та проведено
ігрову партію створеного агенту з конкурентами, і проведено широкий аналіз роботи створеного агенту порівняно з конкурентами і надано кроки для покрашення агенту, створеного в рамках кваліфікаційної роботи.

ABSTRACT
Master’s thesis: 76 pages, 20 figures, 5 tables, 28 sources.
REINFORCEMENT
LEARNING,
SNAKE,
DEEP Q-LEARNING,
MONTE-CARLO SEARCH TREE, NEURAL NETWORKS, PYTHON.
The aim of the work is to study the work of agents in the course of which it is necessary to create a game artificial intelligence for the game "Snake", built on adaptive game artificial intelligence, using training with reinforcement and depth of the neural network. The agent must learn from previous experience and demonstrate the result while playing with the user. As the number of players played with the agent grows, the difficulty of advancing to the next game should increase.
In the course of the qualification work, an adaptive game agent based on
SNM for the game "Snake" was created, an environment for the agent to play the game "Snake" was created, the results of training and confirmation of the agent during the research were evaluated. extensive analysis of the work of the agent created interaction with competitors and the steps taken to improve the agent created in the qualification work.

ЗМІСТ
ПЕРЕЛІК
УМОВНИХ ПОЗНАЧЕНЬ,
СИМВОЛІВ,
ОДИНИЦЬ,
СКОРОЧЕНЬ І ТЕРМІНІВ ..................................................................................... 8
ВСТУП ..................................................................................................................... 9 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ .................................................................. 11 1.1 Обґрунтування актуальності роботи......................................................... 11 1.2 Різновиди ігрового штучного інтелекту ................................................... 12 1.3 Існуючі реалізації адаптивного ігрового штучного інтелекту ............... 15 1.4 Постановка задачі........................................................................................ 18 2 ТЕХНОЛОГІЇ ТА МЕТОДИ ВИРІШЕННЯ ПОСТАВЛЕНОЇ ЗАДАЧІ....... 20 2.1 Опис методології CRISP-DM..................................................................... 20 2.2 Reinforcement learning ................................................................................. 22 2.3 Q-learning...................................................................................................... 24 2.4 Deep Q-learning ............................................................................................ 27 2.5 PyTorch ......................................................................................................... 28 2.6 Monte-Carlo tree search ................................................................................ 30 2.7 Stacking ......................................................................................................... 32 2.8 HandyRL ....................................................................................................... 32 2.9 Кросс-валідація............................................................................................ 32 3 ПРОГРАМНА РЕАЛІЗАЦІЯ............................................................................. 34 3.1 Загальна структура проекту ....................................................................... 34 3.2 Модуль нейронної мережі.......................................................................... 39 3.3 Реалізація тестового ігрового середовища ............................................... 43 4 АНАЛІЗ РЕЗУЛЬТАТІВ ЕКСПЕРИМЕНТАЛЬНИХ ДОСЛІДЖЕНЬ ......... 50 4.1 Порівняння статичних та адаптивних ігрових агентів............................ 50 4.2 Аналіз взаємодії адаптивних ігрових агентів........................................... 57 4.2.1 Опис обладнання та програмного забезпечення для тестування...... 57 4.2.2 Тестування агенту в режимі реального часу ....................................... 57

ВИСНОВКИ........................................................................................................... 61
ПЕРЕЛІК ДЖЕРЕЛ ПОСИЛАННЯ .................................................................... 62
ДОДАТОК А Графічний матеріал кваліфікаційної роботи.............................. 65
ДОДАТОК Б Вихідний код розроблених програмних засобів ........................ 73

8
ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ
І ТЕРМІНІВ
ШІ – штучний інтелект
ШНМ – штучна нейронна мережа
MC – алгоритм Монте Карло (англ., Monte-Carlo)
MCST – дерево пошуку Монте-Карло (англ., Monte-Carlo Search Tree)
RL – навчання з підкріпленням (англ., Reinforcement learning)

9
ВСТУП
Ігровий штучний інтелект – набір алгоритмів з теорії управління,
робототехніки, комп’ютерної графіки та інформатики, які виконують автоматичні обчислення на основі наборів вхідних даних та генерують обмежений набір відповідей [1, 5].
У відеоіграх штучний інтелект використовується для генерування адаптивної або інтелектуальної поведінки неігрових персонажів (NPC),
подібних до людського інтелекту. Штучний інтелект був невід’ємною частиною відеоігор з моменту їх появи в 1950-х роках. Він служить для покращення досвіду гравця при ігровій сесії.
Реалізація ігрового штучного інтелекту являється нетривіальною проблемою, так як потребує досвіду в розробці ігрових алгоритмів та значних обчислювальних ресурсів. З 1950-х років розробники досліджували агенти ігрового штучного інтелекту, яким була дана можливість вчитися на основі отриманого ігрового досвіду, замість того, щоб додержуватися тактики чи стратегії, яка була статично задана геймдизайнером чи розробником відеоігор. Існують традиційні підходи, такі як динамічне програмування, які могли б вирішити проблему, але вони є ефективними тільки на невеликій виборці даних, що зібрані під час дій агенту на ігровому полі.
В останнє десятиріччя почався розвиток підходів розробки агентів
ігрового штучного інтелекту, що засновані на використанні навчання з підкріпленням [21-24].
За останні кілька років Reinforcement learning (RL) став все більш популярним завдяки ефективності при вирішенні складних проблем. Деякі з досягнень обумовлені поєднанням RL з методами глибокого навчання [5]. Ця комбінація, яка називається глибоким RL, є найбільш корисною в задачах з багатокомпонентною матрицею станів великої розмірності.

10
Традиційні RL підходи були малоефективними з точки зори дизайну на швидкості роботи, але RL, який побудований на основі нейронних мереж,
успішний при вирішенні складних завдань, в яких необхідно враховувати попередній досвід, що дозволяло системі вивчати різні рівні абстракції
даних. Наприклад, глибокий RL-агент може успішно навчатися з візуальних перцептивних вхідних даних, що складаються з тисяч пікселів [5]. Це відкриває можливість імітувати деякі людські можливості вирішення проблем з великою кількістю даних. Кілька помітних робіт з використанням глибокого RL в іграх виділилися досягненням надлюдського рівня в іграх
Atari [4], оволодіння Go [19].
Deep RL також має потенціал для таких сфер, як робототехніка,
самокеровані автомобілі, інтелектуальні мережі та ігри. В застосуванні
глибоких алгоритмів RL виникає кілька проблем, серед яких слід визначити нездатність ефективно досліджувати навколишнє середовище або здатність до узагальнення. Таким чином, було запропоновано великий набір алгоритмів для Deep RL, залежно від різноманітних налаштувань та послідовних прийняття рішень [25].
Типовою грою для дослідження підходів забезпечення адаптивності
ігрового штучного інтелекту є традиційна гра «Змійка» [26]. Використання для неї штучних нейронних мереж (ШНМ) та Reinforcement learning дозволяє
враховувати геймплейний досвід гравця.

11 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ
1.1 Обґрунтування актуальності роботи
Основною стратегією розробників із створенню ігрового штучного
інтелекту (ШІ) являлося створення статичних правил, що є самим простим рішенням для поліпшення проблеми створення ігрового ШІ. Недоліком статичного штучного інтелекту є відсутність гнучкості стратегії, що унеможливлює адаптування ШІ, особливо помітне при наявності великої
кількості гравців на одному полі [5].
Ігрові ШІ на основі навчання з підкріпленням є досить популярними,
через що до сих пір досліджується і виявляють різні способи покращення
існуючих підходів. Одним із самих популярних напрямків являється навчання традиційних ігор, таких як «Змійка» [5].
«Змійка» – це класична гра, в якій гравець керує змією, щоб максимізувати кількість зібраної їжі (фруктів), яка появляється в випадкових місцях [7]. Їжа з'являється на полі гри в будь-який час. Змія росте в довжину на одну клітинку якщо з’їсть фрукт. Гра закінчується коли змія зіштовхується з перешкодою, чи з іншою змією, чи сама з собою. В «Змійку» можуть грати декілька гравців, що може ускладнити гру, особливо, при використанні ботів
– змійок під керуванням ігрових ШІ.
Ігровий штучний інтелект може бути корисний для покращення геймплею для фінального користувача при добавлені нових ШІ в ігрову систему. Це може забезпечити кращий загальний досвід користувача, так як агент не є передбачуваним і може навчатися в реальному часі [7].
Створення агентів ігрового штучного інтелекту є популярним завданням серед розробників на платформі Kaggle [8]. Kaggle – це платформа для проведення змагань із машинного навчання, де кожен із учасників може приєднатися до змагання і виконати завдання, встановлене власником

12
змагання. Традиційним завдання є створення моделі машинного навчання яка показає результат згідно метрики, заданої власником змагання. Виграє той учасник, в якого метрика показує найкращий результат серед всіх гравців, які
виконали роботу. Платформою володіє компанія Google, що представила змагання під назвою «Hungry Geese» [9, 11].
Метою змагання є створення ігрового штучного інтелекту на основі
алгоритмів машинного навчання для ігри «Змійка» та створення ігрового агенту, який здатний вижити протягом найбільшого часу. Також важливим критерієм перемоги є кількість зібраних фруктів.
Актуальність дослідження ігрового ШІ обумовлена можливістю використання цих підходів не тільки у ігрових застосунках, але й при програмуванні автономних апаратно-програмних комплексів, таких як побутові роботи. Також актуальності сприяє поширення у користувачів спеціалізованих обчислювальних ресурсів (таких, як тензорні ядра), що дозволяє використовувати ШНМ
для недетермінованої поведінки та враховувати досвід [13].
1.2 Різновиди ігрового штучного інтелекту
Комп’ютерні ігри можна розглядати як стенд для вивчення штучного
інтелекту. У минулому велика частина академічної роботи над штучним
інтелектом та іграми була зосереджена на традиційних настільних іграх,
таких як шашки та шахи. На цих іграх аналізувалася ефективність методів
ШІ. Серед засобів ШІ слід зазначити множину методів, побудованих по аналогії з процесами та явищами реального світу – такі методи, як еволюційні алгоритми, штучні нейронні мережі та нечітка логіка . Ці методи можна застосовувати також при розвитку ігор, у різних аспектах. Наприклад,
інтелектуальна чи адаптивна поведінка NPC, нелінійна розповідь або більш насичений зміст гри (у формі, наприклад, рівнів, карти, місцевості, музики чи навіть самих правил гри) [5]. Крім того, з точки зору галузі, штучний

13
інтелект починають розглядати як механізм покращення процесу розробки
ігор, а також інструмент для розширення комерційного життя ігор.
Методи штучного інтелекту, застосовані для досягнення мети в одній конкретній грі, можуть бути застосовані до подібної гри, що належить до того ж жанру, що надає можливість зменшити витрати на розробку нових
ігор.
Існують два типу ігрового штучного інтелекту: статично заданий штучний інтелект та адаптивний (динамічний) штучний інтелект [1].
Статичний інтелект задається набором правил, які є константними на протязі всього ігрового процесу. Його головною особливістю являється прогнозованість дій в заданій системі. Наприклад, у грі «Змійка» це проявляється у вигляді того, що змійка прагне уникнути колізії зі своїм хвостом та виконує невелике прогнозування на наступні клітинки вперед.
Прогнозування є однією із самих слабких частин статично заданого алгоритму, побудованого на правилах. Комплексна система прогнозування ускладнює розширення компонентів в алгоритмі, що в результаті може показати неспроможність до покращення штучного інтелекту в цілому.
Складність розробки значно збільшується при прогнозуванні на 10 кроків вперед.
В адаптивному ігровому штучному інтелекті відсутні недоліки, які має
статичний ігровий інтелект. Динамічний штучний інтелект враховує ігровий досвід, отриманий під час ігрової сесії. Однією із важливих переваг являється врахування всіх симуляцій даної ігри. Новітні процесори та графічні
відеокарти надають можливість використати достатні ресурси для симуляції
великої кількості ігор і збирати отриманий досвід для навчання ігрового штучного інтелекту перед грою з реальним гравцем.
Наприклад, ігрові агенти, які використовують новітні архітектури нейронних мереж, здатні зберігати та акумулювати досвід у вигляді вагових коефіцієнтів в нейронних шарах. Даний досвід можливо поновлювати шляхом врахування нових симуляцій в довільний момент часу.

14
Перевагою динамічного ігрового штучного інтелекту є дослідження неявних способів досягання результату (перемоги у ігровій партії). RL
дозволяє вказати коефіцієнт дослідження, який показує
можливість виконання кроку, відмінного від отриманого досвіду. При виконанні великої
кількості симуляцій, система може дослідити нові шляхи, незважаючи на попередній досвід, і здатна удосконалити поточний ігровий штучний
інтелект автоматично.

  1   2   3   4   5

скачати

© Усі права захищені
написати до нас