Научная статья на тему 'СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В КОМПЬЮТЕРНЫХ ИГРАХ С ПОМОЩЬЮ МЕТОДА КОНЕЧНЫХ АВТОМАТОВ'

СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В КОМПЬЮТЕРНЫХ ИГРАХ С ПОМОЩЬЮ МЕТОДА КОНЕЧНЫХ АВТОМАТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
Конечные автоматы / искусственный интеллект / автоматный преобразователь / состояние автомата / Pac-Man

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Костин К. Е., Бурлакова Е. А.

В данной работе рассмотрены простейшие примеры реализации метода конечных автоматов в компьютерных играх. За основу взят теоретический аппарат конечных автоматов для описания алгоритмов, состояний автомата, использующихся для создания искусственного интеллекта в одной из самых популярных и первых видеоигр – Pac-Man

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Костин К. Е., Бурлакова Е. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В КОМПЬЮТЕРНЫХ ИГРАХ С ПОМОЩЬЮ МЕТОДА КОНЕЧНЫХ АВТОМАТОВ»

УДК 388.5.

Костин К.Е.

сотрудник Академии ФСО России,

г. Орёл, РФ Бурлакова Е.А.,

кандидат физико-математических наук сотрудник Академии ФСО России,

г. Орёл, РФ

СОЗДАНИЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В КОМПЬЮТЕРНЫХ ИГРАХ С ПОМОЩЬЮ МЕТОДА КОНЕЧНЫХ АВТОМАТОВ

Аннотация

В данной работе рассмотрены простейшие примеры реализации метода конечных автоматов в компьютерных играх.

За основу взят теоретический аппарат конечных автоматов для описания алгоритмов, состояний автомата, использующихся для создания искусственного интеллекта в одной из самых популярных и первых видеоигр - Рас-Мап.

Ключевые слова

Конечные автоматы, искусственный интеллект, автоматный преобразователь,

состояние автомата, Рас-Мап.

При общении в повседневной жизни или при чтении текста легко обнаружить двусмысленности естественного человеческого языка. Однако в программном обеспечении, где диалоги строго заданы в коде определенного языка программирования, автоматы могут быть эффективно использованы для различных целей.

Метод конечных автоматов применяется для моделирования поведения различных объектов в видеоиграх, таких как неигровые персонажи, враги и союзники. Это позволяет разработчикам создавать сложные сценарии, где каждый персонаж ведет себя реалистично и реагирует на действия игрока. Кроме того, метод помогает оптимизировать производительность игры и улучшить ее работоспособность. Вместо того чтобы создавать сложные программы для каждого персонажа, разработчики могут использовать конечный автомат, который позволяет им определить основные состояния и переходы между ними.

Не все устройства, которые обрабатывают информацию в нашем окружении, работают по принципу простого отображения входных данных на выход. Часто результат обработки зависит не только от текущей информации на входе, но и от предыдущих этапов обработки, от истории преобразования. Множество различных примеров биологических систем природы подтверждают данное выражение. Например, одно и то же действие друга после того, как он наступил вам на ногу в переполненном автобусе, вызовет у вас одну реакцию в первый раз и совсем другую в пятый раз. Ваша реакция будет зависеть от предыдущих событий, произошедших в автобусе.

Таким образом, существуют более сложные, не функциональные преобразователи информации, которые способны анализировать не только текущий входной сигнал, но и учитывать историю предыдущих входов. Эти преобразователи, которые могут изменять свое состояние и поведение в зависимости от входной истории, называются автоматами. Автоматы имеют возможность запоминать предыдущие состояния и принимать решения на основе этой информации, что делает их более гибкими и адаптивными к изменяющимся условиям.

Число возможных входных историй остается бесконечным, хотя количество различных элементов входной информации у конечного функционального преобразователя ограничено. Если автомат должен реагировать по-разному на каждую из этих историй, то для такого "бесконечного" автомата требуется бесконечный ресурс - память, способная запоминать все предыстории.

По итогу получаем, что конечный автомат может иметь ограниченное количество различных элементов входной информации, но число возможных входных историй остается бесконечным. Если автомат должен отличаться в своем поведении для каждой из этих историй, то для такого "бесконечного" автомата требуется бесконечный объем памяти, который способен сохранить все предыдущие истории.

Внутренним состоянием автомата называется класс эквивалентности его входных историй.

Конечный автомат сохраняет информацию о своем предыдущем состоянии, которое определяет его будущее поведение и реакции на внешние события. В зависимости от текущего состояния, конечный автомат может различным образом реагировать на один и тот же входной сигнал, принимая во внимание контекст и предыдущие действия.

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

Давайте рассмотрим пример использования конечного автомата для наглядного представления процесса. Опишем действие курсового офицера, после получения информации об оценках курсантов. Его интересуют только два вида оценок: удовлетворительные (3,4,5), обозначим их буквой а, и неудовлетворительные (2). Офицер не хочет наказывать каждый раз, как только курсант получит очередную неудовлетворительную оценку, и выбирает более тонкую тактику воспитания. Зададим автомат графом, в котором вершины соответствуют состояниям ($0,б2,53], а ребро из одного состояния в состояние другое, помеченное х/у, где х = 0,1,2....п, проводится тогда, когда под воздействием входного сигнала х автомат из одного состояния переходит в другое с выходной реакцией [у0, у1, у2, у3, у4, у5}. Граф автомата, моделирующий поведение курсового офицера, представлен на рис. 1.

Рисунок 1 - Автомат, описывающий поведение курсового офицера

Данный автомат обладает четырьмя состояниями ($0,б2, 53} и двумя входными сигналами оценок, полученных курсантом во время пар: {2, а}. Стартуя с начального состояния 50 (оно обозначено входной стрелкой), автомат под воздействием входных сигналов осуществляет переход из одного состояния в другое и вырабатывает выходные сигналы, которые называются реакциями на входы. Выходы автомата [у0, у1,у2,у3,у4, у5} будем трактовать как действия офицера так: у0 - применить дисциплинарную практику; у1 - ругать курсанта; у2 - подбодрить курсанта; у3 - надеяться; у4 -радоваться; у5 - восторгаться.

При оценке курсанта, который получил одинаковую оценку, офицер учитывает его предыдущий учебный путь и реагирует по-разному в зависимости от его предыстории. Знание об учебном пути курсанта в прошлом предоставляет офицеру ценную информацию для индивидуализации подхода к его воспитанию и обучению. Анализ прежних успехов и неудач помогает офицеру лучше понять уникальные особенности каждого курсанта и определить его потенциал для дальнейшего развития. Этот персонализированный подход способствует формированию более эффективного взаимодействия между офицером и курсантом, что в свою очередь оказывает значительное влияние на процесс обучения и воспитания. Таким образом, предыдущий опыт учебы курсанта играет ключевую роль в формировании его отношения с офицером и определяет успешность дальнейшего обучения.

Например, после третьей двойки в истории 2, 2, 2 курсанта встретят взысканием, а в истории 2, 2, а, 2 - будут успокаивать. Каждая ситуация определяет текущее состояние автомата, при этом некоторые входные предыстории эквивалентны (именно те, которые приводят автомат в одно и то же состояние): история 2, 2, 5 эквивалентна пустой истории, которой соответствует начальное состояние.

Текущее состояние автомата является результатом его прошлого опыта и включает в себя информацию о предыдущих взаимодействиях с окружающей средой. Состояние автомата формируется на основе накопленных знаний и опыта, и оно служит основой для принятия решений и выполнения задач в будущем. Независимо от того, как автомат достиг данного состояния, его текущее состояние определяет будущие действия и реакции на изменяющиеся условия окружающей среды.

Таким образом, конечный автомат работает сигналами в дискретные моменты времени, называемые тактами. На каждом такте автомат получает входной сигнал и генерирует соответствующий выходной сигнал в зависимости от текущего состояния и входных данных. Такты могут быть синхронизированы внешними сигналами или срабатывать асинхронно при поступлении внешних событий.

Рассмотрим одну из самых популярных видеоигр всех времен - Рас-Мап. Цель игры очень проста: игрок находится в лабиринте, где нужно съесть все точки (еду), чтобы перейти на следующий уровень. Однако четыре призрака усложняют задачу, пытаясь его поймать. Игрок может использовать энергетические шарики, чтобы призраки временно отступили, а также съесть их для дополнительных очков. Также на уровне можно найти фрукты, которые тоже приносят бонусные очки. Когда пэкмен съест 70 точек в лабиринте, появляется первый фрукт. Как только он съест 170 точек, появляется второй фрукт.

Все уровни пэкмен использует один и тот же лабиринт, в котором 240 точек и 4 энерджайзера. Из левого и правого краёв экрана ведут коридоры, которые используют пэкмен и призраки для перехода на противоположную сторону экрана, при этом скорость прохождения коридора у призрака ощутимо уменьшается. Уровни становятся все сложнее из-за изменения скорости пэкмена и привидений, но после 21 уровня игра остается неизменной и остальные уровни одинаковы по уровню сложности.

Рас-Мап использует конечные автоматы для управления движением призраков, которые стремятся следовать за игроком, но меняют свое поведение, когда призраки становятся синими от активизатора.

Вернёмся к ранее рассмотренному примеру. Прочитав растолкование игры, мы осознаем, что это и есть описание работы конечного автомата, где роль курсового офицера играет призрак, а роль пэкмена -курсант. Но при этом добавляются дополнительные условия (фруктики и гранулы-энерджайзера), которые помогают персонажу "выживать", некоторое количество уровней и так далее.

Несмотря на то, что конечные автоматы могут добавить в игру много взаимодействий с персонажем, они плохо масштабируются при увеличении числа переходов взаимодействия. С увеличением сложности вашей игры требуется сохранять и поддерживать все больше уникальных состояний. Это может привести к усложнению управления и поддержке автомата, а также к увеличению сложности разработки и отладки игрового процесса. В результате возможно потребуется более тщательное планирование и оптимизация

структуры автомата, чтобы обеспечить эффективное функционирование игры при росте её сложности и объема взаимодействий с персонажем.

Использование метода конечных автоматов представляет собой эффективный и гибкий способ управления поведением и состояниями объектов в игре. Ранее накопленный опыт показывает, что этот метод является перспективным инструментом для разработки будущих компьютерных игр. Конечные автоматы позволяют легко определять различные состояния объектов и переходы между ними, что упрощает процесс создания сложного игрового поведения. Благодаря структурированному подходу конечные автоматы обеспечивают четкую организацию игрового процесса и управление им, что способствует повышению качества и производительности разрабатываемых игр. В целом, использование конечных автоматов в разработке игр является важным шагом к созданию качественных и интересных проектов, которые могут привлечь внимание широкой аудитории игроков.

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

Таким образом, использование конечного автомата в разработке искусственного интеллекта для компьютерных игр является продуктивным и рациональным подходом, который позволяет создавать качественные и увлекательные игровые проекты. Внедрение этого метода в разработку ИИ способствует улучшению игрового опыта игроков и повышению качества компьютерных игр в целом. Список использованной литературы:

1. Карпов, Ю. Г. Теория автоматов: учебник для вузов / Ю. Г. Карпов - СПб.: Питер, 2003.

2. Лихтарников, Л. М. Математическая логика. Курс лекций. Задачник-практикум и решения: учебное пособие / Л. М. Лихтарников, Т. Г. Сукачева. - 4-е изд., стер. - Санкт-Петербург: Лань, 2022.

3. Ковалёв И.В., Кузнецов А.С. Операционные системы и системное программное обеспечение // Федеральное агентство по образованию, Красноярский государственный технический университет. Красноярск, 2005.

©Костин К.Е., 2024

УДК 57

Рустамов М.Р., Бегенджова Г.М., Оразгелдиев С., Хайиткулиев С.

преподаватели

Туркменский государственный университет имени Махтумкули

г. Ашгабад, Туркменистан

ИНТЕРФЕРЕНЦИЯ МИКАНИТОВОЙ ПЛАСТИНЫ СОГЛАСНО ПОЛЮ

Аннотация

Монохроматический световой луч падает на плоскопараллельную миканитовую пластину. Световые лучи, отраженные передней поверхностью, а также и задней поверхностью будут интерферировать и образовывать диаграмму концентрических колец. Радиусы колец зависят от конфигурации экспериментальной установки, толщины миканитовой пластины и длины волны света.

Ключевые слова:

интерференция при одинаковых углах падения, интерференция тонких слоев, плоскопараллельная пластина, преломление, отражение, разность оптического пути.

i Надоели баннеры? Вы всегда можете отключить рекламу.