Исследование алгоритмов реализации игрового искусственного интеллекта

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.12.2019
Размер файла 5,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

3.3 Разбор алгоритмов

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

Прежде всего, стоит рассмотреть алгоритмы, реализующие управление, а также различные интерактивные функции кнопок и движение камеры. Для реализации функционала перехода между сценами (существующие отдельно друг от друга игровые пространства с объектами) использовалась библиотека UnityEngine.SceneManagement, благодаря которой функция LoadScene может подгружать сцены по названию или по позиции в иерархии сцен. С помощью функции Quit происходит полное закрытие приложения. Работа со сценами описана в LevelManager.cs. Говоря о сценах, следует упомянуть загрузочный экран (см. выше), который позволяет параллельно своему отображению подгружать следующую сцену (LoadingScreen.cs). Подобная возможность реализуется благодаря запуску корутины, которая в свою очередь запускает асинхронную операцию, подгружающую следующую сцену. Как только операция выполнена (переменная isDone), тут же происходит смена сцены.

Кроме того, был разработан функционал для сохранения состояния игры в специальных местах, и дальнейшая загрузка полученного сохранения. Для этого был создан сериализуемый класс Save, который содержит важные данные об игре, такие как позиция игрока, количество здоровья персонажа и т.д. (Save.cs). При нажатии игроком определенной клавиши (по умолчанию кнопка “R”) недалеко от определенных объектов (алтари) вызывается функция Saving (SaveController.cs). В этой функции происходит сериализация данных на момент сохранения, иными словами, перевод структуры класса Save в последовательность битов файла gamesave.save в директории приложения. Из главного меню, при наличии сохранения, доступна загрузка данных. В этом случае, при нажатии на кнопку вызывается функция Loading, которая производит десериализацию данных и передачу параметров объектам будущей сцены, которая подгружается с помощью LoadingScreen (см. выше). В случае начала новой игры, в объекты сцены передаются условия по умолчанию.

Алгоритмами определяется и функционал пользовательского интерфейса (UIController.cs). С помощью отслеживания нажатия клавиши, отвечающей за “Pause” (функция Input.GetButtonDown), при нажатии кнопки выполняется реализованная функция, ставящая игровой процесс на паузу и отображающая меню паузы (см. выше). Если пауза на момент нажатия клавиши уже была поставлена, то происходят обратные действия - меню пропадает, а игровой процесс возвращается к нормальной скорости. Кроме того, в том же классе реализуется отображение показателя здоровья персонажа игрока и изменение его цвета в случае критических значений (функция HealthBar), а так же реализация открытия меню смерти персонажа (см. выше).

В системе также было разработано меню настроек (см. выше), с помощью которого игрок может отредактировать некоторые параметры работы приложения (OptionsMenu.cs). При открытии меню текущая конфигурация пользователя анализируется, для отображения актуальной информации на управляющих элементах (текущее качество картинки, доступные разрешения и т.д.). При взаимодействии пользователя с этими элементами происходит изменение различных настроек: изменение громкости приложения с помощью запоминания значения в PlayerPrefs и применения его к синглтон объекту со свойством AudioSource (AudioManager.cs), редактирование качества изображения благодаря функции QualitySettings.SetQualityLevel, переход в полноэкранный режим изменением значения Screen.fullScreen, изменение разрешения экрана с помощью Screen.SetResolution. Кроме того, игроку доступен выбор кнопок управления, при этом реализованный функционал главного персонажа поддерживает отличное от стандартного управление благодаря использованию функции Input.GetButtonDown.

Передвижение камеры было реализовано с учетом разрешения окна (а, следовательно, и границ камеры), рамок игрового мира и положения игрока (CameraController.cs). Всего в игре камера имеет 3 состояния: движение только по горизонтали (долины), движение только по вертикали (ущелья) и отсутствие движения (достижение границы с одной стороны). В двух первых состояниях активируется эффект параллакса (см. ниже).

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

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

Для работы с главным персонажем было решено использовать конечные автоматы (FSM) в качестве реализации его состояний (рис. 21). Подобный способ позволяет легко делать переходы между анимациями и проверять текущее состояние для определения возможности выполнения какого-либо действия.

Всего было реализовано 8 состояний (спокойное, атака, бег, начало прыжка, прыжок, конец прыжка, получение повреждений, смерть) и 7 параметров (6 из которых триггеры). Параметры в данном случае используются для определения переходов между состояниями.

Рис. 21. Диаграмма состояний персонажа игрока и параметры

Переход между Run и Idle - смена значения параметра running между true и false, между Idle или Run и Attack - срабатывание триггера attack и дальнейшее состояние параметра running. При срабатывании триггера jump происходит переход из состояний Idle или Run в Jump start. Jump start автоматически переходит в состояние Jump, которое затем переходит в состояние Jump end при срабатывании триггера groundReached. После этого, в зависимости от значения параметра running, происходит переход в состояние Run или Idle. При активации триггера fall, происходит переход из состояний Run или Idle сразу в состояние Jump. При срабатывании триггера damaged происходит переход из любого состояния в состояние Damage, а после этого, в зависимости от параметра running состояние становится Run или Idle. Наконец, при активации триггера death, происходит переход из любого состояния в состояние Death, которое является финальным для персонажа игрока(дальнейшие переходы отсутствуют).

Перечисленные выше параметры меняются в реализованном алгоритме управления персонажем (CharacterController.cs). С помощью функции Input.GetButtonDown отслеживается нажатие определенных клавиш игроком и дальнейшее выполнение определенных функций. Так при нажатии клавиши, отвечающей за атаку, в случае, если персонаж находится в состоянии Idle или Run, активируется триггер attack. В состоянии атаки персонаж делает рывок в сторону направления взгляда (transform.Translate). Если персонаж имеет направленное вниз ускорение (он падает) больше определенного значения fallingStartpoint, и при этом он не находится в состоянии Jump, активируется триггер fall и значение onGround становится false. Если игрок нажал кнопку прыжка и переменная onGround имеет значение true (он стоит на земле), активируется триггер jump, объекту передается толчок вверх fall и значение onGround становится false. Если персонаж пребывает в состоянии Jump, а ускорение равно нулю (приземление), срабатывает триггер groundReached fall и значение onGround становится true. Наконец, при получении от пользователя отличного от нуля ввода по горизонтальной виртуальной оси, происходит перемещение персонажа (функция CharMoving) в нужную сторону (transform.Translate), реализуется поворот при надобности, а параметр running берет значение true. Если ввод по горизонтальной оси равен нулю, параметр running принимает значение false. Объект главного персонажа имеет коллайдер, благодаря которому проверяется его соприкосновение с другими коллайдерами (Collision detection), например, при атаке противника, нахождении рядом с алтарем сохранения или активации ловушки. В этом же классе хранится информация о текущих параметрах персонажа, таких как показатель здоровья, количество наносимого урона, сила прыжка, скорость применения различных действий и т.д., а так же реализация получения урона и в зависимости от оставшегося количества здоровья активация состояния получения повреждения или смерти. Кнопки, применяемые для управления персонажем, рассмотрены ниже в разделе “Работа приложения” главы “Тестирование приложения”.

Всего в главной сцене игры есть конечное количество объектов, которые будут рассмотрены далее. Первым объектом является UI приложения, которое адаптируется под размеры экрана и содержит слайдер здоровья персонажа и скрываемое меню паузы. Второй тип объектов - неигровые персонажи, которые имеют свойство анимации, соответствующую систему ИИ, а так же коллайдеры для восприятия. Третий тип - персонаж игрока Character, имеющий схожие свойства объекта, но вместо системы ИИ здесь представлен контроллер, и добавлено свойство для симуляции 2Д физики. Кроме того, в сцене имеется 2 объекта, представляющие статичные картинки (Foreground и Background), а так же объект Sky, с реализованным алгоритмом Parallax. Для сохранения доступен объект-родитель SaveZone с алгоритмом SaveController, и дочерние для него объекты алтари с коллайдерами и рендером изображения. Наконец, под объектом родителем Colliders расположены различные коллайдеры, образующие “скелет” местности. Так дочерний объект Borders представляет собой границы, по которым могут ходить персонажи; CamBorders - границы камеры, за которые нельзя выезжать; Platforms - платформы, на которые можно запрыгивать снизу (свойство Platform Effector); Bouncing - отталкивающие платформы (Bouncing.cs); DangerZone - зоны с нанесением небольшого урона; DeathZone - зоны мгновенной смерти персонажа.

Далее будут приведены описания ключевых интеллектуальных агентов, которые были реализованы в приложении. Системы искусственных интеллектов агентов описаны в соответствующих им классах (напр. EyeMobController.cs). Анализ их соответствия выделенным критериям приведен в главе “Тестирование приложения” в разделе “Соответствие параметрам”. Восприятие интеллектуальных агентов реализовано в системе благодаря коллайдерам и методу рейкастинга, состояния агентов описаны, как и в случае с персонажем игрока, с помощью FSM. На рис. 22 наглядно продемонстрировано применение данных методов (в самом приложении коллайдеры больше). Так, зрение агентов представлено зеленым цветом, слух обозначен синим цветом, а область нанесения урона - красным цветом.

Рис. 22. Упрощенная демонстрация реализации противников

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

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

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

4. Тестирование приложения

4.1 Работа приложения

Для управления персонажем игроку требуется производить ввод с клавиатуры (стандартно) или любого другого настроенного устройства ввода, например, геймпада (дополнительно). Далее будет рассмотрен стандартный ввод.

Для передвижения персонажа влево используется клавиша “A” или стрелка влево на клавиатуре. Для передвижения персонажа вправо - клавиша “D” или стрелка вправо. Для совершения прыжка требуется нажать клавишу “Пробел” на клавиатуре, а для проведения стремительной атаки рожками - клавишу “E”. Для паузы игры нужно нажать клавишу “Esc” на клавиатуре. Для взаимодействия (подбирание предмета, активация алтаря сохранения) используется клавиша “R”.

Примеры работы разработанного приложения приведены на рис. 23. Все скриншоты имеют общий пользовательский интерфейс в виде показателя количества здоровья главного персонажа в левом верхнем углу. На первом скриншоте можно увидеть, как игрок убегает по мосту в локации пустыни от преследующего его противника-призрака (рис. 23, а). Персонажа игрока ранили, поэтому его показатель здоровья уменьшился (цветок сдвинулся к своему началу), а бутон предупредительно покраснел. На следующем скриншоте видно, как игрок в лесной локации наступил на приманку слепого противника жука, и тот уже начал выбираться из-под земли (рис. 23, б). Игрок дошел до края локации, поэтому камера не последовала за ним, чтобы не выйти за границы изображения. На третьем скриншоте игрок решил похулиганить в деревне недалеко от дружелюбного старейшины, производя атаки (рис. 23, в). Тот не оставил это без внимания, и отреагировал замечанием, которое отобразилось в прямоугольном диалоговом окне. На четвертом скриншоте запечатлено сражение в пещере с боссом Ледяной Королевой (рис. 23, г). Босс производит атаку снежком, который он создал из последней сосульки на потолке, а игрок делает прыжок, чтобы уйти из зоны поражения. На последнем изображении игрок решил атаковать неагрессивного противника кролика в локации сада (рис. 23, д). Противник отреагировал сменой своего состояния на агрессивное и напал на игрока, нанося ему небольшой урон, что можно видеть по чуть уменьшившемуся и слегка покрасневшему показателю в левом верхнем углу. Кроме того, главный персонаж отшатнулся, а его изображение на мгновение сменило цвет на предупредительный красный.

Рис. 23. Скриншоты работы разработанного приложения

Кроме того, в приложении была реализована адаптивность под различное разрешение окна, которое пользователь выбрал в настройках (рис. 24).

При изменении размеров окна интерфейс адаптируется, используя в качестве эталона расположение элементов в изначальном разрешении 1920x1080 и оставляя элементы неизменными по высоте (свойство match).

Положение элементов, их размеры и опорные точки (pivot) были подробно описаны и продемонстрированы в разделе “Интерфейс приложения” главы “Разработка приложения”.

Рис. 24. Адаптивность приложения на примере 640х480 и 1280х720

4.2 Соответствие параметрам

Ранее в работе были выделены критерии, определяющие реалистичное поведение интеллектуальных агентов, которое нравится игрокам. Все критерии кратко перечислены ниже:

Критерий 1 (К1) - поведение компьютерных противников и союзников должно быть соответствующим их намерениям. Так агрессивно настроенное существо должно нападать на игрока, трусливое - убегать от него, и т.д.

Критерий 2 (К2) - интеллектуальные агенты должны иметь реалистичное восприятие окружающего виртуального мира.

Критерий 3 (К3) - для интеллектуальных агентов должны быть подобраны правильные параметры, такие как их количество здоровья, наносимый их атаками урон, скорость перемещения, и т.д.

Критерий 4 (К4) - для игрока должна быть доступна возможность обмануть интеллектуального агента на основе его восприятия среды.

Критерий 5 (К5) - интеллектуальные агенты не должны выполнять неожиданные действия, не подходящие под их поведение, а также по возможности реагировать на происходящее вокруг.

Критерий 6 (К6) - взаимодействие с другими объектами должно быть реализовано в поведении интеллектуальных агентов. Подобная функция сделает игровое приложение в глазах игрока более реалистичным.

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

Первым интеллектуальным агентом для рассмотрения будет взят агрессивный противник из второй локации (рис. 25, а). Он представляет собой слепое существо, которое имеет на голове приманку, внешне похожую на игровой предмет для лечения, и существо показывает ее из-под земли, чтобы, если кто-то на нее наступит, произвести нападение. Таким образом, требовалось реализовать поведение существа, который ориентируется лишь на ощущения, получаемые от колебания земли. Далее будут последовательно рассмотрены выполненные в интеллекте агентов критерии. Противник настроен по отношению к игроку агрессивно, соответственно, едва он замечает игрока, то начинает преследование, через определенное время взрываясь (К1, К5). Для реализации восприятия среды слепого существа была использована имитация ощущений, отслеживающая местоположение игрока только в том случае, если тот находится недалеко на той же поверхности (К2), подобная имитация позволяет игроку обманывать противника, прыгая на другие поверхности, делая невозможным отслеживание, ведь противник не чувствует шагов игрока (К4). Противник имеет крепкий тяжелый непробиваемый панцирь, поэтому игрок не может его убить, по той же причине его скорость чуть меньше скорости игрока, взрыв противника наносит большой урон в зоне поражения (К3).

Далее будет рассмотрен неагрессивный противник из предпоследней локации (рис. 25, б). Это небольшое, настроенное изначально дружелюбно по отношению к игроку существо, которое нападает на игрока только в том случае, если тот начнет атаковать первым (К1). Соответствующей поведению реакцией существа в данном случае является атака в ответ на враждебное поведение игрока (К5). Интеллектуальный агент использует для восприятия среды реалистичную имитацию зрения живого существа, и кроме того слух (К2). Однако к существу все еще можно подобраться со спины ближе, чем если бы оно смотрело прямо на игрока (К4). Так как интеллектуальный агент является маленьким противником, то и соответственно он имеет малое количество здоровья и наносит небольшой урон, при этом имея большую скорость передвижения (К3).

Третьим интеллектуальным агентом для исследования является дружелюбный персонаж (рис. 25, в), которого можно найти на первой локации и который никогда не нападает на игрока (К1), в связи с чем не нуждается в назначении параметров. Персонаж, кроме того, реагирует на определенные действия игрока различными фразами (К5), если тот, конечно, находится в области поля зрения (К2).

Наконец, последним интеллектуальным агентом, который соответствует всем выделенным ранее критериям, является сильный противник или т.н. босс (рис. 25, г).

Сильный противник атакует игрока, после того как тот заходит на локацию и происходит короткий разговор (К1), при этом бой поделен на поделен на понятные игроку фазы (К5). Для восприятия среды персонаж использует имитацию зрения, однако, благодаря своим громадным размерам, противник не имеет слепых зон, где игрок может скрыться (К2), наносит значительный урон при попадании в цель и имеет высокие показатели здоровья, но является очень неповоротливым (К3).

Еще одним слабым местом босса является возможность игрока обмануть производимые атаки противника, вовремя убегая в сторону (К4). Наконец, персонаж взаимодействует во время атаки с висящими на потолке объектами (К6).

Рис. 25. Внешнее представление интеллектуальных агентов: а) агрессивный противник; б) неагрессивный противник; в) дружелюбный персонаж; г) сильный противник.

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

Таблица 1. Соответствие разработанных интеллектуальных агентов критериям

Заключение

Искусственный интеллект является неотъемлемым элементом компьютерных игр со времен первой разработки в 1950-х годах, и сейчас по всему миру насчитывается около 2.5 миллиардов геймеров [5]. В связи с такой популярностью сферы у разработчиков видеоигр все чаще появляется вопрос, как сделать хороший игровой искусственный интеллект, там самым подняв планку существующих стандартов компьютерных противников. Поэтому целью данной работы является разработка реалистичного компьютерного противника. Для этого был выполнен ряд поставленных задач:

- предметная область была проанализирована, также была исследована история развития игрового искусственного интеллекта;

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

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

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

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

Список использованных источников

компьютерный противник игрок

1.Minsky M. Steps toward artificial intelligence //Proceedings of the IRE. - 1961. - Т. 49. - №. 1. - С. 8-30.

2.McCarthy J. What is artificial intelligence? - 2004.

3.Nareyek A. AI in computer games //Queue. - 2004. - Т. 1. - №. 10. - С. 58.

4.Van Lent M. et al. Intelligent agents in computer games //AAAI/IAAI. - 1999. - С. 929-930.

5.Statista “Number of active video gamers worldwide from 2014 to 2021”. URL: https://www.statista.com/statistics/748044/number-video-gamers-world/ (дата обращения 03.02.2019).

6.Хокинг Д. Unity в действии. Мультиплатформенная разработка на C# //Санкт Петербург: Питер. - 2016.

7.Schaeffer J., Lake R. Solving the game of checkers //Games of no chance. - 1996. - Т. 29. - С. 119-133.

8.Craighead J., Burke J., Murphy R. Using the unity game engine to develop sarge: a case study //Proceedings of the 2008 Simulation Workshop at the International Conference on Intelligent Robots and Systems (IROS 2008). - 2008.

9.Ponsen M., Spronck P. Improving adaptive game AI with evolutionary learning : дис. - Masters Thesis, Delft University of Technology, 2004.

10.Bakkes S., Spronck P., Van den Herik J. Rapid and reliable adaptation of video game AI //IEEE Transactions on Computational Intelligence and AI in Games. - 2009. - Т. 1. - №. 2. - С. 93-104.

11.Spronck P. et al. Adaptive game AI with dynamic scripting //Machine Learning. - 2006. - Т. 63. - №. 3. - С. 217-248.

12.Thurau C., Bauckhage C., Sagerer G. Imitation learning at all levels of game-AI //Proceedings of the international conference on computer games, artificial intelligence, design and education. - 2004. - Т. 5.

13.Kehoe D. “Designing artificial intelligence for games”. URL: https://software.intel.com/en-us/articles/designing-artificial-intelligence-for-games-part-1 (дата обращения 16.03.2019).

14.Giant Bomb “Scripted events”. URL: https://www.giantbomb.com/scripted-events/3015-2039/ (дата обращения 17.03.2019).

15.Johnson D., Wiles J. Computer games with intelligence //10th IEEE International Conference on Fuzzy Systems.(Cat. No. 01CH37297). - IEEE, 2001. - Т. 3. - С. 1355-1358.

16.Lynwood Wilson “Rule-Based Programming”. URL: http://www.drdobbs.com/rule-based-programming-in-c/199702471 (дата обращения 22.11.2018).

17.Chad Birch “Understanding Pac-Man Ghost Behavior”. URL: http://gameinternals.com/post/2072558330/understanding-pac-man-ghost-behavior (дата обращения 17.03.2019).

18.Jamey Pittman “The Pac-Man Dossier”. URL: https://www.gamasutra.com/view/feature/132330/the_pacman_dossier.php (дата обращения 17.03.2019).

19.Bourse Y. Artificial intelligence in the Sims series. - 2012.

20.Regina Joseph “An imitation of life”. URL: https://www.forbes.com/1999/05/25/feat.html#3107ac657e9a (дата обращения 18.03.2019).

Размещено на Allbest.ru

...

Подобные документы

  • Искусственный интеллект – научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Черты искусственного интеллекта Развитие искусственного интеллекта, перспективные направления в его исследовании и моделировании.

    реферат [70,7 K], добавлен 18.11.2010

  • Применение методов искусственного интеллекта и современных компьютерных технологий для обработки табличных данных. Алгоритм муравья, его начальное размещение и перемещение. Правила соединения UFO-компонентов при моделировании шахтной транспортной системы.

    дипломная работа [860,8 K], добавлен 23.04.2011

  • Области человеческой деятельности, в которых может применяться искусственный интеллект. Решение проблем искусственного интеллекта в компьютерных науках с применением проектирования баз знаний и экспертных систем. Автоматическое доказательство теорем.

    курсовая работа [41,3 K], добавлен 29.08.2013

  • Может ли искусственный интеллект на данном уровне развития техники и технологий превзойти интеллект человека. Может ли человек при контакте распознать искусственный интеллект. Основные возможности практического применения искусственного интеллекта.

    презентация [511,2 K], добавлен 04.03.2013

  • История развития искусственного интеллекта в странах дальнего зарубежья, в России и в Республике Казахстан. Разработка проекта эффективного внедрения и адаптации искусственного интеллекта в человеческом социуме. Интеграция искусственного в естественное.

    научная работа [255,5 K], добавлен 23.12.2014

  • Понятие и суть нечеткой логики и генетических алгоритмов. Характеристика программных пакетов для работы с системами искусственного интеллекта в среде Matlab R2009b. Реализация аппроксимации функции с применением аппарата нечеткого логического вывода.

    курсовая работа [2,3 M], добавлен 23.06.2012

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

    реферат [27,2 K], добавлен 20.05.2003

  • Современные разработки в области искусственного интеллекта: составление расписаний, принципы автономного планирования и управления, диагностика, понимание естественного языка, ведение игр, автономное управление, робототехника. Направления исследований.

    реферат [24,0 K], добавлен 11.03.2014

  • Компоненты и архитектура интеллектуального агента, его дополнение средствами обучения. Различные подходы к созданию искусственного интеллекта, перспективы его развития. Этические и моральные последствия разработки интеллектуальных машин и программ.

    реферат [708,9 K], добавлен 02.03.2014

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

    презентация [622,3 K], добавлен 01.12.2014

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

    контрольная работа [27,9 K], добавлен 07.12.2009

  • Агентно-ориентированный подход к исследованию искусственного интеллекта. Моделирование рассуждений, обработка естественного языка, машинное обучение, робототехника, распознание речи. Современный искусственный интеллект. Проведение теста Тьюринга.

    контрольная работа [123,6 K], добавлен 10.03.2015

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

    реферат [40,8 K], добавлен 17.08.2015

  • История развития искусственного интеллекта. Экспертные системы: их типы, назначение и особенности, знания и их представление. Структура идеальной и инструменты построения экспертных систем. Управление системой продукции. Семантические сети и фреймы.

    реферат [85,7 K], добавлен 20.12.2011

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

    реферат [31,1 K], добавлен 04.12.2011

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

    дипломная работа [1,6 M], добавлен 20.08.2017

  • Эволюция систем искусственного интеллекта. Направления развития систем искусственного интеллекта. Представление знаний - основная проблема систем искусственного интеллекта. Что такое функция принадлежности и где она используется?

    реферат [49,0 K], добавлен 19.05.2006

  • Сущность термина "искусственный интеллект"; история его развития. Наука и технология создания интеллектуальных машин и компьютерных программ. Задача использования компьютеров для понимания человеческого интеллекта. Анализ, синтез и понимание текстов.

    дипломная работа [29,4 K], добавлен 17.06.2013

  • Классификация экспертных систем и программного обеспечения для их разработки. Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике. Составление дерева решения. Язык функционального программирования LISP.

    курсовая работа [542,6 K], добавлен 12.12.2013

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

    курс лекций [1,1 M], добавлен 14.01.2011

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