Искусственный интеллект в играх: алгоритмы, автоматическое обучение и создание интеллектуальных противников
Формализация знаний экспертов и их перенос в компьютер в виде базы данных. Использование математического анализа и теории графов при создании алгоритмов интеллектуальных противников. Применение машинного обучения и искусственного интеллекта в играх.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | творческая работа |
Язык | русский |
Дата добавления | 02.05.2024 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Министерство высшего образования, науки и инноваций
Республики Узбекистан
Ташкентский университет информационных технологий
имени Мухаммад Аль-Хоразмий
Самостоятельная работа
На тему: Искусственный интеллект в играх: алгоритмы, автоматическое обучение и создание интеллектуальных противников
по дисциплине «Введение в искусственный интеллект»
Выполнил: Студент Абдуллаев А.А.
Приняла: Абдуллаева М. И.
Ташкент - 2024
Оглавление
Введение
Как игровой ИИ получает информацию
Как ИИ принимает решение
Как ИИ передвигается в простаранстве
Ограничения разработки игрового ИИ
Заключение
Список литературы
Введение
Машинное обучение (англ. machine learning, ML) -- класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение за счёт применения решений множества сходных задач. Для построения таких методов используются средства математической статистики, численных методов, математического анализа, методов оптимизации, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме.
Различают два типа обучения:
1. Обучение по прецедентам, или индуктивное обучение, основано на выявлении эмпирических закономерностей в данных.
2. Дедуктивное обучение предполагает формализацию знаний экспертов и их перенос в компьютер в виде базы знаний.
Дедуктивное обучение принято относить к области экспертных систем, поэтому термины машинное обучение и обучение по прецедентам можно считать синонимами.
Многие методы индуктивного обучения разрабатывались как альтернатива классическим статистическим подходам. Многие методы тесно связаны с извлечением информации (англ. information extraction, information retrieval), интеллектуальным анализом данных (data mining).[ (1, 2023)]
Сферы применения машинного обучения:
1. Медицина: Машинное обучение помогает в диагностике заболеваний, анализе медицинских изображений (например, рентгеновских снимков, МРТ), прогнозировании заболеваний и эффективности лечения, а также в разработке персонализированных лечебных схем.
2. Игровая индустрия: Машинное обучение применяется для создания более реалистичных и интеллектуальных компьютерных противников, улучшения графики и физики игровых миров, оптимизации процессов разработки игр и улучшения пользовательского опыта.
3. Интернет вещей (IoT): В области IoT машинное обучение применяется для анализа данных, собранных с датчиков и устройств, для оптимизации работы систем умного дома, управления энергопотреблением, улучшения производственных процессов и т. д.
4. Автомобильная промышленность: Машинное обучение используется для разработки автономных транспортных средств (автомобилей, дронов), повышения безопасности на дорогах, оптимизации транспортных потоков и предотвращения аварий.
5. Торговля и розничная торговля: Магазины и онлайн-платформы используют машинное обучение для персонализации рекомендаций, прогнозирования спроса, управления запасами, анализа цен и маркетинговых стратегий.
6. Производство и обработка материалов: Машинное обучение применяется для оптимизации производственных процессов, предотвращения дефектов, контроля качества и улучшения эффективности обработки материалов.
7. Естественные науки: В области биологии, экологии, астрономии и других наук машинное обучение используется для анализа и интерпретации данных, обнаружения закономерностей и паттернов, классификации объектов и прогнозирования событий.
Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением “интеллектуальными агентами”. Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное -- целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):
· Восприятие: агент распознаёт -- или ему сообщают -- информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
· Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
· Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
· затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.[ (Гончарук, 2018)]
Цель данной работы состоит в исследовании и анализе применения искусственного интеллекта в играх, с фокусом на алгоритмах, методах автоматического обучения и создании интеллектуальных противников. Работа будет охватывать обзор существующих технологий и методов, их преимущества и недостатки, а также исследование различных подходов к созданию игровых противников с различным уровнем искусственного интеллекта. Основной акцент будет сделан на анализе применения машинного обучения, глубокого обучения и других современных методов для создания более реалистичных, адаптивных и интересных игровых противников.
Как игровой ИИ получает информацию
Получение информации происходит примерно так же, как и в реальном мире -- у ИИ есть специальные сенсоры, при помощи которых он исследует окружение и следит за происходящим. Сенсоры бывают совершенно разными. Это может быть традиционный конус зрения, «уши», которые улавливают громкие звуки, или даже обонятельные рецепторы. Конечно, такие сенсоры -- всего лишь имитация реальных органов чувств, которая позволяет сделать игровые ситуации более правдоподобными и интересными. компьютер алгоритм интеллект игра
Наличие и реализация сенсоров зависит от геймплея. Во многих активных шутерах не нужны комплексные рецепторы -- достаточно конуса зрения, чтобы реагировать на появление игрока. А в стелс-экшенах весь геймплей основан на том, чтобы прятаться от противников, поэтому виртуальные органы чувств устроены сложнее.
Виртуальные рецепторы устроены по-разному. В Metal Gear Solid у противников совсем простой конус зрения, отсутствует периферийное зрение, поэтому они видят только то, что происходит прямо перед ними.
Рис.1. Конус зрения в Metal Gear Solid
В Shadow Tactics: Blades of the Shogun тоже используется конус, но он сложнее. Конус поделён на зоны видимости, которые зависят от особенностей ландшафта. Если игрок попадёт в однородную зелёную зону, то его почти сразу увидят.
В полосатой зоне видимость затруднена, поэтому игрок будет незаметен, если будет двигаться, пригнувшись. А в зоне, покрытой точками, герой полностью скрыт.
Рис. 2. Когда противник замечает игрока, конус зрения постепенно меняет цвет на жёлтый. Когда он заполнится, враг поднимет тревогу.
В Tom Clancy's Splinter Cell: Blacklist визуальный сенсор противников комплексный. У врагов есть основная зона видимости в форме вытянутого шестиугольника. Здесь моб видит лучше всего, поэтому в это пространство вообще лучше не заходить.
Есть и более крупный шестиугольник, который имитирует периферийное зрение -- там противник видит хуже. В такую же зону входят удалённые участки, которые недостаточно хорошо просматриваются. Но интереснее всего, что сзади противника тоже есть зоны, в которых он может заметить игрока. Эти зоны имитируют ощущение, что кто-то стоит за спиной, так что у игрока не получится долго красться вплотную к врагу.
Рис. 3. Схема визуального сенсора противников в Splinter Cell: Blacklist
Особенность противников в Splinter Cell: Blacklist в том, что они могут видеть игрока в частичном укрытии. Если несколько частей тела героя выглядывают из-за препятствия, то враг замечает его. Чтобы реализовать эту механику, разработчики использовали технологию рейкастинга -- из глаз врага кастуются лучи, и если они пересекают несколько частей тела героя, то противник поднимает тревогу.[ (Нетология, 2021)]
Как ИИ принимает решение
Вместо того чтобы узнать, как лучше всего победить игроков, ИИ в видеоиграх предназначен совсем для другого. Он необходим для улучшения игрового опыта геймеров. Самая распространённая роль ИИ в видеоиграх -- управление неигровыми персонажами, и разработчики часто используют различные трюки, чтобы NPC выглядели более умными. Один из широко используемых алгоритмов называется конечным автоматом (FSM или finite-state machine). Его ввели в разработку видеоигр в 1990-х годах. В FSM-алгоритме разработчик обобщает все возможные ситуации, с которыми может столкнуться ИИ, а затем программирует конкретную реакцию для каждой из них. Например, в шутерах искусственный интеллект атакует, когда появляется игрок, а затем отступает, когда его собственный уровень здоровья становится слишком низким.[ (Лебедов, 2021)]
Рис.4. Упрощенный алгоритм FSM
В примере алгоритма FSM NPC может выполнять четыре основных действия в ответ на возможные ситуации: поиск помощи, уклонение, блуждание и нападение. Многие известные игры, например Battlefield, Call of Duty и Tomb Raider, включают в себя успешные примеры искусственного интеллекта на основе FSM-алгоритма.
Более продвинутый метод, который используют разработчики для повышения персонализированного игрового опыта, -- алгоритм дерева поиска Монте-Карло (MCTS или Monte Carlo Tree Search). Алгоритм MCTS был создан для предотвращения аспекта повторяемости, который присутствует в FSM-алгоритме. MCTS-алгоритм сначала обрабатывает все возможные ходы, доступные NPC в конкретный момент времени. Затем для каждого из этих возможных ходов он анализирует все действия, которыми игрок мог бы ответить. А далее -- снова возвращается к оценке NPC уже на основе информации о поступках игрока.
Этот алгоритм искусственного интеллекта использовала компания IBM при создании Deep Blue -- первого шахматного суперкомпьютера, который 11 мая 1997 года вошёл в историю и выиграл матч из шести партий у чемпиона мира по шахматам Гарри Каспарова. Подобный алгоритм применяют и во многих стратегических играх. Но поскольку возможных ходов гораздо больше, чем в шахматах, рассмотреть их все попросту не получится. В таких играх алгоритм MCTS будет случайным образом выбирать некоторые из возможных ходов. Благодаря этому действия NPC становятся гораздо более непредсказуемыми для игроков.
Вспомним такую игру, как Civilization, в которой существует огромное количество вариантов событий, доступных для компьютерного противника. Постройка дерева для каждого возможного выбора и сценария заняла бы очень много времени. Именно поэтому, чтобы избежать столь огромных вычислений, алгоритм MCTS случайным образом выбирает несколько возможных вариантов. В итоге игра отнимает меньше ресурсов системы, при этом ИИ в ней всё ещё способен удивлять игроков.[ (Лебедов, 2021)]
Рис.5. Упрощенная блок-схема использования алгоритмов MCTS
Как ИИ передвигается в простаранстве
Действия ИИ напрямую связаны с его задачей: это может быть удар в ближнем бою, занятие более выгодной позиции для стрельбы, помощь союзнику. Независимо от задачи агент должен добраться до места выполнения действия -- для этого ему нужна информация об окружающей среде. Обычно такие данные содержатся в навигационной сетке (NavMesh) -- это особая карта, на которой обозначено, где NPC могут передвигаться. Поверх навигационной сетки может располагаться система узлов, которая применяется для того, чтобы NPC корректно выполняли сценарии поведения. К примеру, в Assassin's Creed Origins у всех NPC есть свой распорядок дня, который они соблюдают даже без участия игрока.
Рис.6. В Horizon Zero Dawn есть сразу шесть навигационных сеток: четыре для существ разного размера, одна для плавающих существ, одна, чтобы игрок мог корректно оседлать моба.
Чтобы персонажи следовали сценарию и не застревали в окружении, разработчики сделали специальную сеть узлов -- точки на плоскости, где NPC выполняют свою персональную задачу. Описанный метод подходит для заранее предопределённых сценариев. NPC словно перемещаются по рельсам от одной точки к другой.
Рис.7. Зелёным обозначена навигационная сетка, а поверх неё находится система узлов. Жёлтая стрелка указывает на ошибку -- кто-то поставил на узел игровой объект, чем перекрыл NavMesh.
В ситуациях, в которых нужно реагировать на действия игрока, используется другой подход. В Just Cause 3 существует система, выбирающая приоритетные позиции, на которых NPC сможет эффективнее всего выполнить свою задачу. Выбор той или иной позиции зависит от конкретных критериев: дальности от цели, наличия препятствий между мобом и его целью, удалённостью от союзников и так далее.
Рис.8. NPC будут стараться находиться у зелёных точек, так как это наиболее выгодные для них позиции.
Всё это применимо только к ИИ, которые передвигаются по горизонтальным плоскостям. А в Horizon Zero Dawn, например, есть ещё и летающие противники, для которых не работают стандартные навигационные сетки. Чтобы исправить это, разработчики использовали технологию MIP Mapping, которая позволяет быстро менять детализацию карт высот. Для расчёта траектории в полёте применяется один из самых популярных алгоритмов поиска пути -- А*.
Этот алгоритм позволяет найти оптимальный маршрут до цели -- он считает «стоимость» каждого варианта пути, а потом сравнивает их между собой. В результате ИИ использует самую «дешёвую» траекторию.[ (Нетология, 2021)].
Рис.9. A* высчитывает траекторию, основываясь на самой высокой точке локальной местности. Именно из-за этого воздушные противники в Horizon Zero Dawn не могут залетать под мосты или скалы.
Ограничения разработки игрового ИИ
Игровой ИИ обычно принимает во внимание следующие ограничения:
· В отличие от алгоритма машинного обучения, он обычно не тренируется заранее; при разработке игры непрактично писать нейронную сеть для наблюдения за десятками тысяч игроков, чтобы найти наилучший способ играть против них, потому что игра ещё не выпущена и игроков у неё нет!
· Обычно предполагается, что игра должна развлекать и бросать игроку вызов, а не быть «оптимальной» -- поэтому даже если и можно обучить агентов противостоять игрокам наилучшим образом, то чаще всего дизайнерам нужно от них совершенного другое.
· Часто к агентам предъявляют требование «реалистичного» поведения, чтобы игроки ощущали, что соревнуются с человекоподобными противниками. Программа AlphaGo оказалась намного лучше, чем люди, но выбираемые ею ходы настолько далеки от традиционного понимания игры, что опытные противники говорили о ней как об игре против инопланетянина. Если игра симулирует противника-человека, то обычно это нежелательно, поэтому алгоритм нужно настроить таким образом, чтобы он принимал правдоподобные решения, а не идеальные.
· ИИ должен выполняться «в реальном времени». В этом контексте это означает, что алгоритм не может для принятия решения монополизировать ресурсы процессора на длительное время. Даже 10 миллисекунд на принятие решения -- это слишком много, потому что большинство игр имеют всего 16-33 миллисекунды на выполнение всех операций для следующего кадра графики.
· В идеале хотя бы часть системы должна зависеть от данных, а не быть жёстко заданной, чтобы не владеющие программированием разработчики могли быстрее вносить изменения.
Узнав всё это, мы можем начать рассматривать чрезвычайно простые подходы к созданию ИИ, которые реализуют весь цикл «восприятие-мышление-действие» способами, обеспечивающими эффективность и позволяющими дизайнерам игры выбирать сложные поведения, похожие на действия человека.[ (Гончарук, 2018)]
Заключение
В данном докладе были рассмотрены основные особенности ИИ в сфере игр. Были описаны два основных алгритма используемые при создании игр такие как FSM и MCTS. Данные алгоритмы являются самыми популярными на сегодняшний день алгоритмами при разработке NPC.
Использование искусственного интеллекта в игровой индустрии имеет огромный потенциал и может привести к созданию более увлекательных, интерактивных и динамичных игр. Кроме того, ИИ может помочь улучшить процессы разработки игр и повысить их безопасность.
Однако, следует помнить, что развитие ИИ в игровой индустрии может столкнуться с рядом проблем, таких как этические и моральные вопросы, а также опасения относительно замещения живых актеров в игровой индустрии. Поэтому, необходимо проводить дальнейшие исследования и обсуждения, чтобы убедиться в безопасности и этичности использования искусственного интеллекта в игровой индустрии.
В целом, ИИ - это инновационная технология, которая имеет огромный потенциал в игровой индустрии. Он может привести к созданию более увлекательных и интерактивных игр, а также улучшить процессы разработки игр и повысить их безопасность. В будущем, мы можем ожидать еще более интересных и захватывающих игр благодаря использованию искусственного интеллекта.
Список литературы
1. (13 Октябрь 2023 г.). Машинное обучение. Получено из wWikipedia: https://ru.wikipedia.org/wiki/Машинное_обучение
2. Гончарук, Н. (30 декабрь 2018 г.). Реализация игрового AI. Получено из medium.com: https://medium.com/game-dev-channel/обзор-техник-реализации-игрового-ai-96889c74b1ea
3. Лебедов, В. (23 август 2021 г.). Не совсем человек: искусственный интеллект в играх. Получено из skillbox.ru: https://skillbox.ru/media/gamedev/iskusstvennyy-intellekt-v-igrakh/
4. Нетология. (29 декабрь 2021 г.). Имитация разума: как устроен искусственный интеллект в играх. Получено из habr.com: https://habr.com/ru/companies/netologyru/articles/598489/
Размещено на Allbest.ru
Подобные документы
Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.
реферат [70,7 K], добавлен 18.11.2010Общая характеристика дисциплины "Основы искусственного интеллекта". Ее предмет, цели и задачи. Особенности и расшифровка ряда понятийных терминов, характеризующих сущность кибернетики. Методы и алгоритмы анализа данных для получения знаний и обучения.
презентация [10,9 K], добавлен 03.01.2014Обзор методов реализации алгоритмов искусственного интеллекта. Примеры интеллектуальных систем, основанных на алгоритмах самообучения и кластеризации данных. Создание общей структурной схемы. Выбор языков программирования и инструментальных средств.
дипломная работа [1,6 M], добавлен 20.08.2017Области человеческой деятельности, в которых может применяться искусственный интеллект. Решение проблем искусственного интеллекта в компьютерных науках с применением проектирования баз знаний и экспертных систем. Автоматическое доказательство теорем.
курсовая работа [41,3 K], добавлен 29.08.2013Компоненты и архитектура интеллектуального агента, его дополнение средствами обучения. Различные подходы к созданию искусственного интеллекта, перспективы его развития. Этические и моральные последствия разработки интеллектуальных машин и программ.
реферат [708,9 K], добавлен 02.03.2014Разработка на основе игры "Точки" подхода к программированию "искусственного интеллекта" в позиционных играх и возможность применения данного подхода для решения задач в области экономики, управления и других областях науки. Модель игровой ситуации.
дипломная работа [1,5 M], добавлен 21.07.2013Может ли искусственный интеллект на данном уровне развития техники и технологий превзойти интеллект человека. Может ли человек при контакте распознать искусственный интеллект. Основные возможности практического применения искусственного интеллекта.
презентация [511,2 K], добавлен 04.03.2013Применение методов искусственного интеллекта и современных компьютерных технологий для обработки табличных данных. Алгоритм муравья, его начальное размещение и перемещение. Правила соединения UFO-компонентов при моделировании шахтной транспортной системы.
дипломная работа [860,8 K], добавлен 23.04.2011Феномен мышления. Создание искусственного интеллекта. Механический, электронный, кибернетический, нейронный подход. Появление перцептрона. Искусственный интеллект представляет пример интеграции многих научных областей.
реферат [27,2 K], добавлен 20.05.2003Понятие искусственного интеллекта и интеллектуальной системы. Этапы развития интеллектуальных систем. Модели представления знаний, процедурный (алгоритмический) и декларативный способы их формализации. Построение концептуальной модели предметной области.
презентация [80,5 K], добавлен 29.10.2013