Искусственный интеллект в играх: алгоритмы, автоматическое обучение и создание интеллектуальных противников

Формализация знаний экспертов и их перенос в компьютер в виде базы данных. Использование математического анализа и теории графов при создании алгоритмов интеллектуальных противников. Применение машинного обучения и искусственного интеллекта в играх.

Рубрика Программирование, компьютеры и кибернетика
Вид творческая работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.