Реферат: Искусственный интеллект, его сферы применения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

неигровые персонажи - обычно эти персонажи дружественны или нейтральны к игроку.

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

Внутри компьютерной игры существует множество областей, в которых используется широкое многообразие эвристических алгоритмов искусственного игрового интеллекта. Наиболее широко игровой ИИ применяется как один из способов контроля неигровых персонажей. Другим, не менее распространённым способом контроля, является скриптинг. Ещё одно очевидное применение игрового ИИ, особенно в стратегиях реального времени, - поиск пути, или метод, позволяющий определить, как неигровой персонаж может попасть из одной точки на карте в другую. При этом нужно учитывать препятствия, ландшафт и возможный «туман войны». Динамическая балансировка мобов также не обходится без применения искусственного интеллекта. Во многих играх была опробована концепция непредсказуемого интеллекта. Это такие игры как Nintendogs, Black&White, Creatures и всем известная игрушка «тамагочи». В этих играх персонажами являются домашние животные, поведение которых изменяется с учётом действий, произведённых игроком. Создаётся впечатление, что персонажи способны обучаться, хотя на самом деле их действия являются результатом выбора из ограниченного множества решений.

Многие игровые программисты считают частью игрового искусственного интеллекта любую методику, с помощью которой создаётся иллюзия интеллекта. Однако этот подход не совсем верен, так как те же самые методики могут использоваться не только в движках игрового ИИ. Например, при создании ботов используются алгоритмы с введенной в них информацией о возможных будущих столкновениях, вследствие чего боты приобретают «умение» избегать этих столкновений. Но эти же методики представляют собой важный и необходимый компонент физического движка. Ещё один пример: важным компонентом системы прицеливания бота являются водные данные, и те же самые данные широко применяются в графическом движке при рендеринге. Финальный пример - скриптинг. Этот инструмент с успехом может применяться во всех аспектах игровой разработки, но чаще всего его рассматривают как один из способов контролирования действий неигровых персонажей.

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

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

Ещё одной интересной задачей искусственного интеллекта является обучение компьютера игре в шахматы. Её решением занимались учёные всего мира. Особенность данной задачи в том, что демонстрация логических способностей компьютера возможна только при наличии реального противника. Впервые такая демонстрация состоялась в 1974 году, в Стокгольме, где прошёл чемпионат мира по шахматам среди шахматных программ. В данном соревновании победила программа «Каисса, созданная советскими учёными из Института проблем управления академии наук СССР, расположенного в Москве.

Искусственный интеллект в машинном творчестве.

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

Экспертные системы.

Разработка современных экспертных систем ведётся исследователями с начала 1970-х годов, а в начале 1980-х экспертные системы начали разрабатываться и на коммерческой основе. Прообразами экспертных систем, предложенными в 1832 году русским учёным С.Н. Корсаковым, стали механические устройства, названные «интеллектуальными машинами», которые позволяли находить решение, руководствуясь заданными условиями. Например, анализировались симптомы заболевания, наблюдаемые у пациента, и по результатам этого анализа предлагались самые подходящие лекарства.

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

В конце прошлого века сложилась определённая концепция экспертных систем, глубоко ориентированная на текстовый человеко-машинный интерфейс, который в то время был общепринятым. В настоящее время эта концепция подверглась серьёзному кризису, связанному, по всей видимости, с тем, что в пользовательских приложениях на смену текстовому интерфейсу пришёл графический. Кроме того, реляционная модель данных и «классический» взгляд на построение экспертных систем плохо согласуются между собой. Следовательно, организация баз знаний экспертных систем не может проводиться эффективно, по крайней мере, с использованием современных промышленных систем управления базами данных. В литературных и сетевых источниках приводится множество примеров экспертных систем, называемых «распространёнными» или «широко известными». На деле все эти экспертные системы были созданы ещё в 80-х годах прошлого столетия и к настоящему моменту либо прекратили своё существование, либо являются безнадёжно устаревшими и существуют благодаря немногочисленным энтузиастам. С другой стороны, разработчики современных программных продуктов часто именуют свои творения экспертными системами. Подобные заявления - не более чем маркетинговый ход, ведь в действительности эти продукты не являются экспертными системами (примером может служить любая из компьютерных справочно-правовых систем). Энтузиасты пытаются объединить подходы к созданию пользовательского интерфейса с «классическими» подходами к созданию экспертных систем. Эти попытки нашли отражение в таких проектах как CLIPS.NET, CLIPS JavaNativeInterface и других, однако крупные компании, выпускающие программное обеспечение, не торопятся финансировать подобные проекты, и по этой причине разработки не продвигаются дальше экспериментальной стадии.

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

а) Медицинские диагностические системы.

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

б) Прогнозирующие системы.

Системы предназначены для предсказания событий или результатов событий на основе имеющихся данных, характеризующих текущую ситуацию или состояние объекта. Так, программа «Завоевание Уолл-Стрита», использующая в свой работе статистические методы алгоритмов, способна анализировать конъюнктуру рынка и разрабатывать план капиталовложений. В программе используются алгоритмы и процедуры традиционного программирования, поэтому её нельзя отнести к системам, основанным на знаниях. Уже сегодня существуют программы, способные предсказывать поток пассажиров, урожайность и погоду, анализируя имеющиеся данные. Такие программы достаточно просты, и некоторые из них могут использоваться на обычных персональных компьютерах. Однако до сих пор не существует экспертных систем, которые могли бы, основываясь на данных о конъюнктуре рынка, подсказать, как можно увеличить капитал.

в) Планирование.

Системы планирования предназначены для решения задач с большим количество переменных с целью достижения конкретных результатов. Впервые в коммерческой сфере такие системы были использованы дамасской фирмой Informat. Руководство компании распорядилось становить в холле офиса 13 станций, которые проводили бесплатные консультации для покупателей, желающих приобрести компьютер. Машины помогали сделать выбор, максимально соответствующий бюджету и пожеланиям покупателя. Также экспертные системы были применены компанией Boeing для таких целей как ремонт вертолётов, установление причин выхода из строя самолётных двигателей и проектирование комических станций. Фирма DEC создала экспертную систему XCON, способную определять и изменять конфигурацию компьютерных систем VAX с учётом требований покупателей. В настоящее время фирма DEC занимается разработкой более мощной системы XSEL, в которую входит база знаний XCON. Цель создания системы - помощь потребителям в подборе вычислительной системы с требуемой конфигурацией. Отличие системы XSEL от XCON в том, что она является интерактивной.

г) Интерпретация.

Интерпретирующие системы способны делать заключения, основываясь на результатах наблюдения. Одной из самых известных интерпретирующих систем является система PROSPECTOR. Она работает, используя данные, основанные на знаниях девяти экспертов. Эффективность системы можно оценить по одному примеру: используя девять различных методов экспертизы, система обнаружила месторождение руды, наличие которого не мог предполагать ни один эксперт. Другая известная система интерпретирующего типа - HASP/SIAP. Она использует данные акустических систем слежения и на их основе определяет местонахождение судов в Тихом океане и их типы.

д) Интеллектуальные системы контроля и управления.

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

е) Диагностика и устранение неисправностей в электрическом и механическом оборудовании.

Системы, основанные на знаниях, применяются в таких случаях, как:

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

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

ж) Компьютерные системы обучения.

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

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