Искусственный интеллект в компьютерных играх. Таргетинг или тестирование? Неверно поставленный вопрос

Алгоритм, как, к примеру, у поисковой системы Google (экспериментальный поиск по видео). «Интеллектуальность» в этом контексте понимается как возможность обратной связи в соответствии, например, с результатами анализа поисковых запросов и их выдачей.

Согласно ему, существует только 4 типа таких ИА:

Роботы по закупкам

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

Пользовательские или персональные агенты

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

  • проверяют вашу почту, сортируют их по важности (используя заданные вами критерии), и оповещают вас, когда поступает важное письмо, например, письмо о поступлении в университет;
  • играют в компьютерной игре как ваш оппонент или патрулируют области в игре для помощи вам;
  • собирают новости (существует несколько версий таких роботов, к примеру CNN);
  • ищут информацию по выбранному предмету;
  • самостоятельно заполняют web-формы, сохраняя информацию для последующего использования;
  • просматривают веб-страницы, ища и подсвечивая ключевую информацию;
  • «дискутирует» с вами на различные темы, от ваших страхов до спорта.

Управляющие и наблюдающие агенты

Управляющие агенты, также известные как «предсказывающие агенты» ведут наблюдение и отправляют отчеты. К примеру, в NASA’s Jet Propulsion Laboratory есть агент, следящий за состоянием инвентаря, планированием, составлением расписания. Такие агенты обычно ведут наблюдение за компьютерными сетями и следят за конфигурацией каждого компьютера, подключенного к сети.

Добывающие информацию агенты

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

См. также

  • Многоагентная система и Агентное моделирование - множество интерактивных агентов
  • Semantic Web - приспособление информации в сети для автоматической обработки

Напишите отзыв о статье "Интеллектуальный агент"

Примечания

Литература

  • Y. Shoham, K. Leyton-Brown . Algorithmic, Game-Theoretic, and Logical Foundations. - London: Cambridge University Press, 2009
  • Емельянов В. В., Курейчик В. В., Курейчик В. М. Теория и практика эволюционного моделирования. - М: ФИЗМАТЛИТ, 2003, - 432 с.
  • М. Ейген, П. Шустер. Гиперцикл. Принципы организации макро-молекул.// Пер. д.б.н. В. М. Андреева. Ред. член-корр АН СССР М. В. Волькенштейна, проф. Д. С. Чернавский.

Ссылки

  • (англ.)
  • (англ.)
  • (англ.)

Отрывок, характеризующий Интеллектуальный агент

– Покушайте, барышня графинюшка, – приговаривала она, подавая Наташе то то, то другое. Наташа ела все, и ей показалось, что подобных лепешек на юраге, с таким букетом варений, на меду орехов и такой курицы никогда она нигде не видала и не едала. Анисья Федоровна вышла. Ростов с дядюшкой, запивая ужин вишневой наливкой, разговаривали о прошедшей и о будущей охоте, о Ругае и Илагинских собаках. Наташа с блестящими глазами прямо сидела на диване, слушая их. Несколько раз она пыталась разбудить Петю, чтобы дать ему поесть чего нибудь, но он говорил что то непонятное, очевидно не просыпаясь. Наташе так весело было на душе, так хорошо в этой новой для нее обстановке, что она только боялась, что слишком скоро за ней приедут дрожки. После наступившего случайно молчания, как это почти всегда бывает у людей в первый раз принимающих в своем доме своих знакомых, дядюшка сказал, отвечая на мысль, которая была у его гостей:
– Так то вот и доживаю свой век… Умрешь, – чистое дело марш – ничего не останется. Что ж и грешить то!
Лицо дядюшки было очень значительно и даже красиво, когда он говорил это. Ростов невольно вспомнил при этом всё, что он хорошего слыхал от отца и соседей о дядюшке. Дядюшка во всем околотке губернии имел репутацию благороднейшего и бескорыстнейшего чудака. Его призывали судить семейные дела, его делали душеприказчиком, ему поверяли тайны, его выбирали в судьи и другие должности, но от общественной службы он упорно отказывался, осень и весну проводя в полях на своем кауром мерине, зиму сидя дома, летом лежа в своем заросшем саду.
– Что же вы не служите, дядюшка?
– Служил, да бросил. Не гожусь, чистое дело марш, я ничего не разберу. Это ваше дело, а у меня ума не хватит. Вот насчет охоты другое дело, это чистое дело марш! Отворите ка дверь то, – крикнул он. – Что ж затворили! – Дверь в конце коридора (который дядюшка называл колидор) вела в холостую охотническую: так называлась людская для охотников. Босые ноги быстро зашлепали и невидимая рука отворила дверь в охотническую. Из коридора ясно стали слышны звуки балалайки, на которой играл очевидно какой нибудь мастер этого дела. Наташа уже давно прислушивалась к этим звукам и теперь вышла в коридор, чтобы слышать их яснее.
– Это у меня мой Митька кучер… Я ему купил хорошую балалайку, люблю, – сказал дядюшка. – У дядюшки было заведено, чтобы, когда он приезжает с охоты, в холостой охотнической Митька играл на балалайке. Дядюшка любил слушать эту музыку.
– Как хорошо, право отлично, – сказал Николай с некоторым невольным пренебрежением, как будто ему совестно было признаться в том, что ему очень были приятны эти звуки.
– Как отлично? – с упреком сказала Наташа, чувствуя тон, которым сказал это брат. – Не отлично, а это прелесть, что такое! – Ей так же как и грибки, мед и наливки дядюшки казались лучшими в мире, так и эта песня казалась ей в эту минуту верхом музыкальной прелести.
– Еще, пожалуйста, еще, – сказала Наташа в дверь, как только замолкла балалайка. Митька настроил и опять молодецки задребезжал Барыню с переборами и перехватами. Дядюшка сидел и слушал, склонив голову на бок с чуть заметной улыбкой. Мотив Барыни повторился раз сто. Несколько раз балалайку настраивали и опять дребезжали те же звуки, и слушателям не наскучивало, а только хотелось еще и еще слышать эту игру. Анисья Федоровна вошла и прислонилась своим тучным телом к притолке.
– Изволите слушать, – сказала она Наташе, с улыбкой чрезвычайно похожей на улыбку дядюшки. – Он у нас славно играет, – сказала она.
– Вот в этом колене не то делает, – вдруг с энергическим жестом сказал дядюшка. – Тут рассыпать надо – чистое дело марш – рассыпать…
– А вы разве умеете? – спросила Наташа. – Дядюшка не отвечая улыбнулся.
– Посмотри ка, Анисьюшка, что струны то целы что ль, на гитаре то? Давно уж в руки не брал, – чистое дело марш! забросил.
Анисья Федоровна охотно пошла своей легкой поступью исполнить поручение своего господина и принесла гитару.
Дядюшка ни на кого не глядя сдунул пыль, костлявыми пальцами стукнул по крышке гитары, настроил и поправился на кресле. Он взял (несколько театральным жестом, отставив локоть левой руки) гитару повыше шейки и подмигнув Анисье Федоровне, начал не Барыню, а взял один звучный, чистый аккорд, и мерно, спокойно, но твердо начал весьма тихим темпом отделывать известную песню: По у ли и ице мостовой. В раз, в такт с тем степенным весельем (тем самым, которым дышало всё существо Анисьи Федоровны), запел в душе у Николая и Наташи мотив песни. Анисья Федоровна закраснелась и закрывшись платочком, смеясь вышла из комнаты. Дядюшка продолжал чисто, старательно и энергически твердо отделывать песню, изменившимся вдохновенным взглядом глядя на то место, с которого ушла Анисья Федоровна. Чуть чуть что то смеялось в его лице с одной стороны под седым усом, особенно смеялось тогда, когда дальше расходилась песня, ускорялся такт и в местах переборов отрывалось что то.
– Прелесть, прелесть, дядюшка; еще, еще, – закричала Наташа, как только он кончил. Она, вскочивши с места, обняла дядюшку и поцеловала его. – Николенька, Николенька! – говорила она, оглядываясь на брата и как бы спрашивая его: что же это такое?
Николаю тоже очень нравилась игра дядюшки. Дядюшка второй раз заиграл песню. Улыбающееся лицо Анисьи Федоровны явилось опять в дверях и из за ней еще другие лица… «За холодной ключевой, кричит: девица постой!» играл дядюшка, сделал опять ловкий перебор, оторвал и шевельнул плечами.
– Ну, ну, голубчик, дядюшка, – таким умоляющим голосом застонала Наташа, как будто жизнь ее зависела от этого. Дядюшка встал и как будто в нем было два человека, – один из них серьезно улыбнулся над весельчаком, а весельчак сделал наивную и аккуратную выходку перед пляской.
– Ну, племянница! – крикнул дядюшка взмахнув к Наташе рукой, оторвавшей аккорд.
Наташа сбросила с себя платок, который был накинут на ней, забежала вперед дядюшки и, подперши руки в боки, сделала движение плечами и стала.
Где, как, когда всосала в себя из того русского воздуха, которым она дышала – эта графинечка, воспитанная эмигранткой француженкой, этот дух, откуда взяла она эти приемы, которые pas de chale давно бы должны были вытеснить? Но дух и приемы эти были те самые, неподражаемые, не изучаемые, русские, которых и ждал от нее дядюшка. Как только она стала, улыбнулась торжественно, гордо и хитро весело, первый страх, который охватил было Николая и всех присутствующих, страх, что она не то сделает, прошел и они уже любовались ею.
Она сделала то самое и так точно, так вполне точно это сделала, что Анисья Федоровна, которая тотчас подала ей необходимый для ее дела платок, сквозь смех прослезилась, глядя на эту тоненькую, грациозную, такую чужую ей, в шелку и в бархате воспитанную графиню, которая умела понять всё то, что было и в Анисье, и в отце Анисьи, и в тетке, и в матери, и во всяком русском человеке.
– Ну, графинечка – чистое дело марш, – радостно смеясь, сказал дядюшка, окончив пляску. – Ай да племянница! Вот только бы муженька тебе молодца выбрать, – чистое дело марш!
– Уж выбран, – сказал улыбаясь Николай.
– О? – сказал удивленно дядюшка, глядя вопросительно на Наташу. Наташа с счастливой улыбкой утвердительно кивнула головой.
– Еще какой! – сказала она. Но как только она сказала это, другой, новый строй мыслей и чувств поднялся в ней. Что значила улыбка Николая, когда он сказал: «уж выбран»? Рад он этому или не рад? Он как будто думает, что мой Болконский не одобрил бы, не понял бы этой нашей радости. Нет, он бы всё понял. Где он теперь? подумала Наташа и лицо ее вдруг стало серьезно. Но это продолжалось только одну секунду. – Не думать, не сметь думать об этом, сказала она себе и улыбаясь, подсела опять к дядюшке, прося его сыграть еще что нибудь.
Дядюшка сыграл еще песню и вальс; потом, помолчав, прокашлялся и запел свою любимую охотническую песню.
Как со вечера пороша
Выпадала хороша…
Дядюшка пел так, как поет народ, с тем полным и наивным убеждением, что в песне все значение заключается только в словах, что напев сам собой приходит и что отдельного напева не бывает, а что напев – так только, для складу. От этого то этот бессознательный напев, как бывает напев птицы, и у дядюшки был необыкновенно хорош. Наташа была в восторге от пения дядюшки. Она решила, что не будет больше учиться на арфе, а будет играть только на гитаре. Она попросила у дядюшки гитару и тотчас же подобрала аккорды к песне.
В десятом часу за Наташей и Петей приехали линейка, дрожки и трое верховых, посланных отыскивать их. Граф и графиня не знали где они и крепко беспокоились, как сказал посланный.
Петю снесли и положили как мертвое тело в линейку; Наташа с Николаем сели в дрожки. Дядюшка укутывал Наташу и прощался с ней с совершенно новой нежностью. Он пешком проводил их до моста, который надо было объехать в брод, и велел с фонарями ехать вперед охотникам.
– Прощай, племянница дорогая, – крикнул из темноты его голос, не тот, который знала прежде Наташа, а тот, который пел: «Как со вечера пороша».
В деревне, которую проезжали, были красные огоньки и весело пахло дымом.
– Что за прелесть этот дядюшка! – сказала Наташа, когда они выехали на большую дорогу.
– Да, – сказал Николай. – Тебе не холодно?
– Нет, мне отлично, отлично. Мне так хорошо, – с недоумением даже cказала Наташа. Они долго молчали.
Ночь была темная и сырая. Лошади не видны были; только слышно было, как они шлепали по невидной грязи.
Что делалось в этой детской, восприимчивой душе, так жадно ловившей и усвоивавшей все разнообразнейшие впечатления жизни? Как это всё укладывалось в ней? Но она была очень счастлива. Уже подъезжая к дому, она вдруг запела мотив песни: «Как со вечера пороша», мотив, который она ловила всю дорогу и наконец поймала.
– Поймала? – сказал Николай.
– Ты об чем думал теперь, Николенька? – спросила Наташа. – Они любили это спрашивать друг у друга.
– Я? – сказал Николай вспоминая; – вот видишь ли, сначала я думал, что Ругай, красный кобель, похож на дядюшку и что ежели бы он был человек, то он дядюшку всё бы еще держал у себя, ежели не за скачку, так за лады, всё бы держал. Как он ладен, дядюшка! Не правда ли? – Ну а ты?
– Я? Постой, постой. Да, я думала сначала, что вот мы едем и думаем, что мы едем домой, а мы Бог знает куда едем в этой темноте и вдруг приедем и увидим, что мы не в Отрадном, а в волшебном царстве. А потом еще я думала… Нет, ничего больше.
– Знаю, верно про него думала, – сказал Николай улыбаясь, как узнала Наташа по звуку его голоса.
– Нет, – отвечала Наташа, хотя действительно она вместе с тем думала и про князя Андрея, и про то, как бы ему понравился дядюшка. – А еще я всё повторяю, всю дорогу повторяю: как Анисьюшка хорошо выступала, хорошо… – сказала Наташа. И Николай услыхал ее звонкий, беспричинный, счастливый смех.
– А знаешь, – вдруг сказала она, – я знаю, что никогда уже я не буду так счастлива, спокойна, как теперь.
– Вот вздор, глупости, вранье – сказал Николай и подумал: «Что за прелесть эта моя Наташа! Такого другого друга у меня нет и не будет. Зачем ей выходить замуж, всё бы с ней ездили!»
«Экая прелесть этот Николай!» думала Наташа. – А! еще огонь в гостиной, – сказала она, указывая на окна дома, красиво блестевшие в мокрой, бархатной темноте ночи.

Можно предложить немало различных оснований для построения классификаций агентов. Наиболее очевидными являются критерии классификации, связанные с полярными шкалами «естественное – искусственное» и «материальное – виртуальное». По первому критерию, выделяются:

  • натуральные агенты – животное, человек, стада животных, коллективы людей;
  • искусственные агенты – роботы, коллективы автоматов, сложные компьютерные программы.

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

  • материальных , физически существующих и работающих в реальном пространстве, например, интегральные роботы, наделенные различными средствами «очувствления», манипуляторами или педипуляторами;
  • виртуальных , существующих лишь в некоторой программной среде (виртуальном пространстве), которых нередко можно представить как роботов, занятых не физической, а информационной работой; такие «программные роботы» (software robots) называют сокращенно софтботами (softbots).

Еще одна пара взаимосвязанных критериев классификации опирается на дихотомии «сосредоточенное – распределенное» и «неподвижное – подвижное». Примером неподвижного агента служит промышленный манипуляционный робот, а примером мобильного – программный поисковый агент, мигрирующий по компьютерной сети в целях отыскания нужной информации. Подчас мобильные программные роботы трактуются как распределенные, чисто коммуникативные агенты, которые не имеют собственных средств восприятия и осуществления действий (поэтому они не манипулируют никакими объектами), а лишь используют располагаемые ресурсы для коммуникации с другими агентами и миграции по сети в поисках релевантных данных и процедур. Наоборот, точно локализованные агенты в некотором смысле противоположны коммуникативным: они не могут двигаться по сети и обычно не обладают способностью к представлению среды, а их общение с другими агентами происходит не напрямую, а косвенно, через механизмы восприятия и действия.

Важным основанием для классификации служит наличие (отсутствие) у агентов характеристик обучаемости или адаптивности. У обучаемых агентов поведение основано на предыдущем опыте.

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

В целом данная типология агентов тесно связана с классической проблемой взаимодействия «субъект – объект». Уровень субъектности агента непосредственно зависит от того, наделен ли он символьными представлениями, требующимися для организации рассуждений, или в противоположность этому он работает только на уровне образов (субсимвольном), связанных с сенсомоторной регуляцией. Тогда классификацию агентов можно построить по следующей схеме:

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

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

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

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

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

Характеристики Когнитивные агенты Реактивные агенты
Внутренняя модель внешнего мира Развитая Примитивная
Рассуждения Сложные и рефлексивные рассуждения Простые одношаговые рассуждения
Мотивация Развитая система мотивации, включающая убеждения, желания, намерения Простейшие побуждения, связанные с выживанием
Память Есть Нет
Реакция Медленная Быстрая
Адаптивность Малая Высокая
Модульная архитектура Есть Нет
Состав многоагентной системы Небольшое число автономных агентов Большое число зависимых друг от друга агентов

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

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

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

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

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

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

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

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

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

С уровнем «свободы воли», характером намерений и отношением к партнерам связаны, в частности, представления о благонамеренных (benevolent) и злонамеренных, эгоистических (self-interested) и альтруистических агентах. В частности, полагается, что благонамеренные (доброжелательные) агенты всегда пытаются делать только то, что от них требуется, и избегают конфликтных ситуаций.

Наконец, еще один вариант классификации, где дополнительно к биологическому и психологическому уровням агентообразования вводится социальный и используются аналогии с триадой «растение – животное – человек». По мнению П. Браспеннинга, реактивных, интенциональных и социальных агентов можно уподобить компонентам этой триады. Агенты, подобные растениям, характеризуются реактивностью, выполнением стереотипных программ и посылкой сообщений другим агентам и в среду. Агенты, подобные животным, способны выбирать цели, строить планы действий и обеспечивать их выполнение. Они координируют свои действия, обмениваясь информацией об индивидуальных предпочтениях или задачах. Наконец, гуманоидные агенты, обладая внутренними моделями других агентов (и способностью к рефлексии), характеризуются социальным (ролевым) поведением. Сложность внутренних моделей зависит от уровня знаний и опыта гуманоидного агента.

Интеллектуальные агенты

Проблематика интеллектуальных агентов и мультиагентных систем (МАС) имеет почти 40-летнюю историю и сформировалась на основе результатов, полученных в рамках работ по распределенному ИИ (DAI), распределенному решению задач (DPS) и параллельному ИИ (PAI). Данная тематика интегрирует достижения в области компьютерных сетей и открытых систем, ИИ и информационных технологий .

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

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

Интеллектуальные агенты должны обладать следующими свойствами:

* автономность – способность функционировать без вмешательства со стороны своего владельца и осуществлять контроль внутреннего состояния и своих действий;

* социальное поведение – возможность взаимодействия и коммуникации с другими агентами;

* реактивность – адекватное восприятие среды и соответствующие реакции на ее изменения;

* активность – способность генерировать цели и действовать рациональным образом для их достижения;

* базовые знания – знания агента о себе, окружающей среде, включая других агентов, которые не меняются в рамках ЖЦ агента;

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

* цели – совокупность состояний, на достижение которых направлено текущее поведение агента;

* желания – состояния или ситуации, достижение которых для агента важно;

* обязательства – задачи, которые берет на себя агент по просьбе других агентов;

* намерения – то, что агент должен делать в силу своих обязательств.

В зависимости от концепций, выбранных для организации МАС, обычно выделяются три базовых класса архитектур:

* архитектуры, которые базируются на принципах и методах работы со знаниями;

* архитектуры, основанные на поведенческих моделях типа «стимул–реакция»;

* гибридные архитектуры.

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

Реактивными называются агенты и архитектуры, в которых функционирование отдельных агентов и всей системы осуществляется по правилам типа «ситуация–действие». При этом под ситуацией понимается потенциально сложная комбинация внутренних и внешних состояний (2-й подход).

Для решения реальных задач используются гибридные архитектуры.

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

* расширяемость/масштабируемость (возможность изменения набора составляющих систем);

* мобильность/переносимость (простота переноса ПС на разные аппаратно-программные платформы);

* интероперабельность (способность к взаимодействию с другими системами);

* дружелюбность, легкая управляемость.

Одним из результатов внедрения концепции открытых систем в практику стало распространение архитектуры «клиент - сервер». В настоящее время выделяются следующие модели клиент-серверного взаимодействия:

· «толстый клиент – тонкий сервер». Серверная часть реализует только доступ к ресурсам, а основная часть приложения находится на клиенте;

· «тонкий клиент – толстый сервер». Модель активно используется в связи с распространением интернет-технологий. Клиентское приложение обеспечивает реализацию интерфейса, а сервер объединяет остальные части приложений.

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

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

С точки зрения разработки и реализации МАС наиболее эффективными системами поддержки распределенных технологий являются DCOM, Java RMI, COBRA.

Основная ценность DCOM – предоставление возможности интеграции приложений, реализованных в разных системах программирования.

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

Основным преимуществом COBRA является интерфейс IDL, унифицирующий средства коммуникации между приложениями.

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

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

В любой конкретный момент времени оценка рациональности действий агента зависит:

От показателей производительности;

Знаний агента о среде, приобретенных ранее;

Действий, которые могут быть выполнены агентом;

Последовательности актов восприятия агента, которые произошли

до настоящего времени.

Рациональный агент должен иметь способность к обучению и быть автономным.

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

Пример 9.1. Проблемная среда водителя такси

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

Классификация вариантов проблемной среды:

Полностью/частично наблюдаемая: полностью наблюдаемая, если

датчики фиксируют все необходимые данные;

Детерминированная/стохастическая: если следующее состояние

среды определяется текущим и действием агента, то среда

детерминированная;

Эпизодическая/последовательная: в эпизодической среде опыт агента

состоит из неразрывных эпизодов. Каждый эпизод включает в себя

восприятие среды агентом, а затем выполнение одного действия

(распознавание дефектных деталей), в последовательных средах

Агенту следует думать наперед (вождение машины, игра в шахматы);

Статическая/динамическая: если среда может измениться в ходе

принятия агентом решения, то она является динамической;

Дискретная/непрерывная: игра в шахматы - дискретная,

вождение автомобиля – непрерывная;

Одноагентная/многоагентная (мультиагентная): решение кроссворда,

диагностика – одноагентная, игра в шахматы, вождение

автомобиля – многоагентная.

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

агент = архитектура + программа

Архитектура может представлять собой персональный компьютер или роботизированный автомобиль.

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

Простые рефлексивные агенты;

Рефлексивные агенты, основанные на модели;

Агенты, действующие на основе цели;

Агенты, действующие на основе полезности.

Простейшим видом агента является простой рефлексивный агент , который выбирает действия на основе текущего акта восприятия, игнорируя всю остальную историю актов восприятия. Агент – пылесос: решения основаны только на информации о текущем местоположении и о том, содержит ли оно мусор.

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

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

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

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

Структура обучающего агента включает четыре концептуальных компонента.

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

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

Приведенный пример (рис. 1) — всего лишь один вариант использования тех возможностей, которые будут доступны в новой семантической сети, должной прийти на смену современной сети World Wide Web, концепция и принципы работы которой практически не менялись с момента ее появления и уже в некоторой степени сдерживают развитие Интернета. Благодаря семантическому Web’у с информацией, опубликованной в Интернете, можно будет работать на совершенно ином уровне. И если сейчас в большинстве случаев для анализа информации, представленной на страницах различных сайтов, необходим человек (поскольку достижения в области искусственного интеллекта пока еще не позволяют программам полностью понимать даже текстовую информацию), то в семантической сети информация перестанет быть просто данными, а превратится в знания, которые смогут использовать как люди, так и различные программы. Таким образом, программные агенты не только будут работать с уже существующими знаниями при решении поставленных перед ними задач, но и смогут получать из семантических сетей новые знания.

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

Проблемы World Wide Web

оявление World Wide Web сделало Интернет одним из важнейших и крупнейших источников информации, но проблема заключалась в распределенном характере Сети, что сильно затрудняло поиск нужной информации среди массы разнообразных материалов, охватывающих самые разные сферы человеческой деятельности. Поэтому практически с самого зарождения Интернета были разработаны и запущены так называемые поисковые машины. До появления WWW они индексировали и позволяли искать в основном содержимое сети FTP-серверов, через которую пользователи могли обмениваться файлами, но с появлением HTML они быстро переключились на Web-сайты.

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

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

Поисковые системы используют ряд технических приемов, которые позволяют поддерживать качество поиска на соответствующем уровне, когда пользователь, как правило, все-таки может найти то, что он искал, если очень постарается. В основном эти приемы связаны с сортировкой результатов поиска и с ускорением индексирования новых или меняющихся страниц. Среди них — различные алгоритмы, определяющие авторитетность ресурсов (например, PageRank), использование данных о посещаемости и получение информации о новых страницах с помощью специальных счетчиков (как, например, в Rambler’s Top100), получение информации о сайтах из тематических каталогов для точного определения тематики ресурса (так, в частности, делает Яндекс). Но, несмотря на все эти меры, многие пользователи не удовлетворены работой современных поисковых систем.

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

Семантическая сеть

онцепцию семантической сети (Semantic Web) как новой формы представления Web-контента председатель W3C Тим Бернерс-Ли представил в 2001 году, выступив на Восьмой конференции консорциума W3C и опубликовав соответствующий трактат в журнале Scientific American (рис. 2). Он подробно описал преимущества новой формы представления информации в WWW, которая предусматривает максимальную степень классификации любой информации, делая совместную работу людей и машин на порядок более эффективной. Главное отличие Semantic Web от Web состоит в том, что каждая страница семантической сети содержит информацию на двух языках: на обычном, понятном человеку и показываемом браузером, и на специальном, информация на котором скрыта от человеческих глаз, но понятна интеллектуальным программам-агентам, роботам. Этот специальный язык описывает представленный на странице материал с помощью тэгов и атрибутов, понятных машинам.

Рис. 2. Архитектура семантической сети, представленная в докладе Тимоти Бернерс-Ли
«Semantic Web — XML2000» (http://www.w3.org/2000/Talks/1206-xml2k-tbl/)

В основе семантической сети лежат три принципа: агрегация, безопасность и логика. Агрегация означает совместное использование данных. Подобно тому, как гипертекст является неотъемлемой частью WWW и благодаря ему «всё можно связать со всем», в Semantic Web при решении поставленной задачи могут быть использованы любые данные. Для этих данных будет создана соответствующая семантическая информация (онтологии), позволяющая использовать их надлежащим образом. В основу безопасности, обеспечивающей доверие к семантической сети, положены цифровые подписи, которые могут использоваться агентами и компьютерами для проверки того, что информация получена из достоверного источника, например от какого-то публичного сервиса или персонального агента другого доверенного пользователя. Логика — это набор правил описания информационной структуры данных, протоколы и язык описания страниц. Именно логика дает семантической сети правила вывода для проведения рассуждений и методики выбора тактик выполнения операций с данными, чтобы получить ответы на вопросы.

Онтологии

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

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

В центре большинства онтологий находятся классы, каждый из которых может иметь подклассы, представляющие собой более точные понятия, чем исходный класс. Все классы онтологии выстраиваются в одну или несколько иерархий и описывают понятия предметной области. При этом классы могут содержать атрибуты, которые описывают свойства и внутреннюю структуру понятий, лежащих в основе классов. Все подклассы наследуют атрибуты родительских классов. Каждый атрибут класса помимо названия имеет тип значения, разрешенные значения, число значений (мощность). Тип значения атрибута описывает, какие типы значений может содержать атрибут, например строку или целое число. Существует также ограничение значения атрибута, состоящее в том, что он может принимать только определенные классы или экземпляры определенных классов. Разрешенные значения атрибута устанавливают ограничения на атрибут, но уже в рамках его типа, например заданный диапазон целых чисел. Мощность атрибута определяет, сколько значений он может иметь: только одно значение — это единичная мощность или любое число значений — множественная мощность. Онтология может включать и экземпляры классов, то есть такие классы, в которых установлены значения всех их атрибутов. Считается, что онтология вместе с набором индивидуальных экземпляров классов образует базу знаний, хотя на самом деле трудно определить, где кончается онтология и где уже начинается база знаний.

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

Класс «издательство» имеет следующие атрибуты:

Название (строка);

Город (строка).

Класс «книга» имеет следующие атрибуты:

ISBN (строка специального формата);

Тип обложки (строка; возможные значения: мягкая, твердая, суперобложка);

Год издания (натуральное число — четыре цифры);

Описание (текст);

Класс «журнал» имеет следующие атрибуты:

Название (строка);

ISSN (строка специального формата);

Число страниц (натуральное число);

Издательство (экземпляр класса «издатель»);

Год выпуска (натуральное число — четыре цифры);

Номер (натуральное число);

Описание (текст);

Цена (число с плавающей точкой — два знака после запятой).

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

Рис. 3. Фрагмент онтологии издательства с классами и экземплярами классов

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

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

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

Для описания онтологий используются различные формальные языки, которые можно разделить на две группы. В первую входят традиционные языки описания онтологий: Interlinguas, CycL; языки, основанные на дескриптивных логиках (такие, как LOOM), и языки, основанные на фреймах (OKBC, OCML, Flogic). Вторая группа — языки, основанные на Web-стандартах: XOL, UPML, SHOE, RDF с RDFS, DAML, OIL, OWL, созданные специально для использования онтологий в WWW. Различия между языками заключаются в их возможностях по описанию предметной области и в некоторых возможностях механизма логического вывода для этих языков.

Язык RDF (Resource Description Framework) разработан консорциумом W3C для описания метаданных в семантической сети. Он предназначен для описания отношений между ресурсами и должен стать одним из составляющих фундамента семантической сети. RDF является подмножеством языка XML и имеет специальный язык RDF Schema для описания структуры документов. Спецификация RDF очень проста: здесь все отношения между ресурсами определяются как триады «объект — атрибут — значение». Например, «книга издается издательством»: в роли объекта выступает «книга», в роли атрибута — «издается», а «издательство» является значением атрибута. Объект и атрибут обязательно представляются как URI (Uniform Resource Identifier), а значение может быть записано либо в виде URI, либо в виде текста. Частным случаем URI является URL (Uniform Resource Locator) вместе с «якорем», указывающим объект на Web-странице, но, в отличие от него, URI не обязательно должен указывать адрес объекта в Сети. Таким образом, RDF является самым низкоуровневым из существующих языков описания метаданных, поскольку оперирует лишь понятиями связей примитивных сущностей.

Первыми предложениями по описанию онтологий на базе RDFS были European Commission OIL (Ontology Inference Layer) и DARPA DAML-ONT (DARPA Agent Markup Language). Язык OIL был основан на описательной логике (Description Logics), позволяющей описывать классы через наборы свойств, которым должны удовлетворять объекты, относящиеся к понятию, и наборы логических операторов (конъюнкция, дизъюнкция, отрицание и различные виды ролевых кванторов). DAML обеспечивал примитивы для объявления пересечений, объединений, дополнений классов и т.д. Еще одним расширением RDFS стал DRDFS, который, как и OIL, давал возможность для выражения классов и определения свойств, однако выразительная мощность языков DRDFS и OIL такова, что ни один из них не мог рассматриваться как фрагмент другого.

На базе языков DAML и OIL возникло совместное решение — DAML+OIL, вобравшее в себя всё лучше, что было в обоих языках, и по этой причине выбранное специалистами консорциума W3C в качестве базы для построения нового языка онтологий, когда средств XML и RDF оказалось недостаточно для представления информации и метаданных для построения полноценной семантически связанной сети. Новый язык получил название OWL (Web Ontology Language), и именно ему, по мнению консорциума, была уготована главенствующая роль в семантической сети. 10 февраля этого года консорциум W3C присвоил OWL статус рекомендованной к реализации технологии. Эта дата и была названа некоторыми специалистами официальным днем рождения семантической сети.

Интеллектуальные агенты

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

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

В роли агентов в семантической сети будут выступать не только персональные агенты, но и различные Web-сервисы, с которыми те будут взаимодействовать. Если при обращении к такому сервису с запросом не найдется нужной информации или какой-то ее части, но будут известны дополнительные источники, то сервис сможет обратиться к последним за помощью с необходимым подзапросом. Передаваясь таким образом от сервиса к сервису, первоначальный запрос будет обрастать необходимой информацией — до тех пор, пока сервис, к которому обратился агент, не вернет полный ответ с найденным решением или не сообщит о неудаче. По такой схеме будет возможна и работа поисковых систем, переправляющих запрос одному или нескольким специализированным сайтам в зависимости от тематики запроса. На практике будут использоваться оба подхода: и когда агент самостоятельно собирает в семантической сети информацию, необходимую для решения задачи, и когда он обращается к специальным сервисам, способным получать эту информацию из других источников (рис. 4).

Рис. 4. Поиск нужной информации через поисковый сервис, работающий с семантической сетью

Агенты будут способны обмениваться между собой не только информацией и правилами логических выводов, используемых в онтологиях, но и цепочками построенных ими рассуждений, чтобы пользователь мог при необходимости проверить результат либо чтобы на основании уже собранной информации другой агент попробовал найти более оптимальное решение или уточнить какие-то условия первоначального запроса. В определенных ситуациях для решения поставленной задачи может потребоваться и передача одним персональным агентом другому агенту некоторой личной информации пользователя (рис. 5). Например, если вы пытаетесь договориться о встрече со своим знакомым, то легче вашему агенту передать другому агенту информацию, когда вы на следующей неделе будете точно заняты, чем если вы сами попытаетесь угадать, кто и когда будет свободен. Конечно, обмен любой важной или конфиденциальной информацией между агентами будет осуществляться только с согласия пользователя и при проверке «личностей» агентов посредством цифровых подписей с последующим шифрованием конфиденциальной информации. Это позволит людям без боязни осуществлять с помощью семантической сети такие важные дела, как денежные переводы, бронирование билетов или передача личной информации.

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

На пути к новому Web’у

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

Изменения должны коснуться и работы поисковых систем. Посредством онтологий, используемых в семантической сети, они смогут в некоторой степени решить проблему качества поиска информации в Интернете. Внедрение семантического Web’а будет происходить постепенно — по мере того, как все больше разработчиков сайтов и сервисов, а также пользователей будут осознавать преимущества и перспективы Semantic Web. Однако нельзя утверждать, что со временем вся информация, представленная в WWW, будет иметь семантическую составляющую, поэтому поисковые системы не смогут совсем отказаться от механизмов индексации информации, используемых ими в настоящее время. В дополнение к поисковым движкам (search engine) поисковые системы обзаведутся специальными логическими движками (logical engine), предназначенными для поиска и обработки информации в семантической сети. Комбинация этих двух поисковых механизмов позволит поднять качество и точность поиска в Сети на совершено иной уровень (рис. 6).

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

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

По всем расчетам, переход к семантической сети не будет ни простым, ни быстрым. Работы начались еще в 1998 году, а официальная рекомендация OWL консорциумом W3C в качестве основного языка для описания онтологий была представлена только в феврале этого года. Немало специалистов считают, что семантический Web — это утопия, и с ними можно частично согласиться, поскольку его внедрение требует немалых усилий от различных категорий разработчиков и пользователей, включая разработчиков крупных информационных порталов, поисковых систем, каталогов и небольших сайтов, а также от разработчиков интеллектуальных программ-агентов.

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

Пройдет несколько лет, и мы получим совершенно другой Интернет, в который так трудно поверить сегодня. Открываемые им возможности позволят перейти на новый уровень использования и обработки информации, опубликованной в Сети. Альтернатива внедрению семантического Web’а сегодня только одна — дальнейшее ухудшение качества поиска, невозможность совершенствования механизмов обработки информации, продолжение участия человека в интерпретации данных в WWW, а также другие проблемы, описанные в этой статье. Вряд ли кому-то эта альтернатива покажется более привлекательной.

Андрей Иванов / 16.08.2016

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

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

Специфика игрового искусственного интеллекта

В настоящий момент, рынок компьютерных игр демонстрирует стабильный и уверенный рост. По данным исследовательского центра Newzoo, уже в этом году объем рынка достигнет $99.6 млрд., что на 8.5% превышает показатели прошлого года. К 2019 году ожидается, что эта цифра приблизится к $120 млрд.


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

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

Основные принципы разработки игрового искусственного интеллекта

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

Система на основе правил

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

Конечные автоматы

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


Возможные состояния игрового агента. Источник: software.intel.com

Стоит отметить, что под эмоциональным состоянием игрового агента понимается его алгоритм поведения в той или иной ситуации. Эмоциональное состояние не имеет никого отношения к эмоциям искусственного интеллекта.

Адаптивный искусственный интеллект

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

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

Восприятие окружающего мира игровым искусственным интеллектом

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

Зрение

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

Слух

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

Взаимодействие с временными объектами

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

Укрытие

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

Навигация искусственного интеллекта

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

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

Практическое применение. Военные тренажеры

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

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

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

«На сегодняшний день компьютерные игры в жанре action, 3D-shooter, авто-, авиасимуляторы наиболее популярны у молодежи, они позволяют развивать умения и навыки по управлению вооружениями, формируют командный дух, обучают основам тактики, знакомят с тактико-техническими характеристиками вооружения и военной техники» - комментируют свое стремление в военном ведомстве.

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

В настоящий момент на обучение в 333-й Центр боевой подготовки приезжают солдаты и офицеры со все России. Пройдя курс обучения продолжительностью 7 месяцев, все они возвращаются в свои части уже готовыми специалистами. За год на полигоне могут пройти обучение около 30 тысяч военных.

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

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