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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритм, как, к примеру, у поисковой системы 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казала Наташа. Они долго молчали.
Ночь была темная и сырая. Лошади не видны были; только слышно было, как они шлепали по невидной грязи.
Что делалось в этой детской, восприимчивой душе, так жадно ловившей и усвоивавшей все разнообразнейшие впечатления жизни? Как это всё укладывалось в ней? Но она была очень счастлива. Уже подъезжая к дому, она вдруг запела мотив песни: «Как со вечера пороша», мотив, который она ловила всю дорогу и наконец поймала.
– Поймала? – сказал Николай.
– Ты об чем думал теперь, Николенька? – спросила Наташа. – Они любили это спрашивать друг у друга.
– Я? – сказал Николай вспоминая; – вот видишь ли, сначала я думал, что Ругай, красный кобель, похож на дядюшку и что ежели бы он был человек, то он дядюшку всё бы еще держал у себя, ежели не за скачку, так за лады, всё бы держал. Как он ладен, дядюшка! Не правда ли? – Ну а ты?
– Я? Постой, постой. Да, я думала сначала, что вот мы едем и думаем, что мы едем домой, а мы Бог знает куда едем в этой темноте и вдруг приедем и увидим, что мы не в Отрадном, а в волшебном царстве. А потом еще я думала… Нет, ничего больше.
– Знаю, верно про него думала, – сказал Николай улыбаясь, как узнала Наташа по звуку его голоса.
– Нет, – отвечала Наташа, хотя действительно она вместе с тем думала и про князя Андрея, и про то, как бы ему понравился дядюшка. – А еще я всё повторяю, всю дорогу повторяю: как Анисьюшка хорошо выступала, хорошо… – сказала Наташа. И Николай услыхал ее звонкий, беспричинный, счастливый смех.
– А знаешь, – вдруг сказала она, – я знаю, что никогда уже я не буду так счастлива, спокойна, как теперь.
– Вот вздор, глупости, вранье – сказал Николай и подумал: «Что за прелесть эта моя Наташа! Такого другого друга у меня нет и не будет. Зачем ей выходить замуж, всё бы с ней ездили!»
«Экая прелесть этот Николай!» думала Наташа. – А! еще огонь в гостиной, – сказала она, указывая на окна дома, красиво блестевшие в мокрой, бархатной темноте ночи.

Термины «агент» и «интеллектуальный агент» (ИА) имеют два значения, и из-за этого иногда возникает путаница.

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

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

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

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

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

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

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

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

Любой специалист, подвизавшийся в области цифровой аналитики или интернет-маркетинга, знает о важности принятия обоснованных решений. Станьте участником любой отраслевой конференции или встречи, загляните в тематический блог, просто почитайте массовую прессу — и вы повсюду услышите и увидите такие предметы обсуждения, как машинное обучение (Machine Learning), искусственный интеллект (Artificial Intelligence, AI) и предиктивный анализ (Predictive Analytics).

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

Не переживайте. В данной статье мы расскажем о простом, но очень сильном понятии — интеллектуальный агент (the Intelligent Agent). Он поможет связать указанные темы со знакомыми инструментами и концептами, такими как сплит-тестирование и оптимизация.

Что значит «интеллектуальный агент»?

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

Пример: робот-пылесос Roomba


Основная задача этой машины — чистить ваши полы, делая это за как можно меньшее количество времени.

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

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

Рассмотрим основные компоненты данного концепта и его среды, после чего перейдем к более объемным элементам.


Агент, достигая цели, получает статус/награду (State/Reward). Исходы тех или иных возможных действий (Possible Actions) прогнозируются с помощью моделей (Models). Среда (Environment) представляет собой поле деятельности для агента: она подвергается наблюдениям (Observations), над ней производятся действия (Actions)

Во-первых, у нас есть агент (Agent, слева на рисунке) и его среда (Environment, справа). Под средой понимается пространство, в котором агент «живет» и занимается своим делом в попытке достичь поставленных целей.

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

Что такое «цели» и «награды»?

Цели (Goals)— это то, что агент хочет достичь, к достижению чего он прилагает усилия. Достигая цели, агент получает награду (Reward) в зависимости от того, какова ценность этой цели. Это та же идея, что лежит в основе позитивного подкрепления в обучающем процессе. Если, к примеру, цель агента лежит в увеличении онлайн-продаж, наградой может стать объем продаж или процент конверсионных сессий, приведших к покупке.

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

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

1. Сначала действует:

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

2. Затем учится на эффекте, произведенном от этого действия:

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

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

Машинное обучение как программный агент, способный обучаться

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

Если выражаться более формально, то можно привести цитату из книги первопроходца в данной области Тома Митчелла (Tom Mitchell, Machine Learning, 1997): «Считается, что компьютерная программа может обучаться на основе опыта в отношении определенного класса задач и критериев качества, если ее производительность при выполнении этих задач, измеренная данными критериями качества, улучшается с ростом опыта».

В данном понимании машинное обучении — это не «просто математика», но фактически процесс обучения с опорой на опыт и среду для улучшения, адаптации и оптимизации действий.

Две задачи интеллектуального агента

Интеллектуальный агент имеет две взаимосвязанные задачи — обучаться и контролировать.

По сути, все инструменты онлайн-тестирования и отслеживания поведения содержат эти два первостепенных компонента:

  • компонент ученика/прогнозиста;
  • компонент контролера.

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

Задача ученика — создание прогнозов реакций среды на действия контролера.

Ученик является своего рода советником контролера: он дает ему рекомендации относительно каждого возможного действия.

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


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

Это рождает внутреннее противоречие между желанием выбирать действия с предсказуемо высокой ценностью и необходимостью пробовать кажущиеся оптимальными, но недостаточно исследованные действия. Данное противоречие, присущее также и работе маркетолога в незнакомой среде, часто имеет отношение к альтернативе «Исследование vs. Эксплуатация» (Explore vs. Exploit). Другими словами, данное противоречие сводится к стоимости отдельной возможности по отношению к ценности обучения (Opportunity Costs to Learn, OCL).

Давая контекст для такой альтернативы, приведем пример со знакомым всем А/Б-подходом к оптимизации.


Сначала обучение. На этапе сбора данных и создания образцов происходит исследование/обучение (Explore/Learn). Далее следует применение изученного: эксплуатация/прибыль (Explore/Earn)

Приложение проводит А/Б-тест, первым делом показывая разным пользователям различные варианты. Этот первоначальный период, во время которого оно собирает информацию о каждом варианте, может считаться периодом исследования (Exploration Period). Затем, после достижения некоторой предопределенной статистической черты, один вариант провозглашается «победителем» и становится встроенной частью пользовательского опыта. Это уже период эксплуатации, так как приложение эксплуатирует полученные знания, чтобы добиться оптимального UX.


Аналитик оценивает результаты отчета по сплит-тестированию и сам выбирает действия, приводящие к конверсии

В случае с А/Б-тестированием оба компонента — и обучения, и контроля — одинаково просты. Способ селекции действий контролером заключается в выборе случайных опций (обычно из равномерного распределения, то есть все действия имеют равные шансы попасть в выборку). Компонент обучения — это отчет по результатам А/Б-тестирования ( или апостериорные вероятности для байесовского критерия).

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

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

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

Вновь обратимся к А/Б-тестирующему агенту, добавив к нему пользовательские сегменты.


В случае с таргетинговыми агентами среда будет усложняться сегментацией пользователей

Сегментированный агент будет отличаться, поскольку его среда несколько более сложная. Вопреки предыдущему примеру, где агент А/Б-тестирования просто должен был знать о конверсиях (наградах) после принятия решения, теперь ему также необходимо «видеть» и отслеживать пользовательские сегменты.

Таргетинг или тестирование? Неверно поставленный вопрос!

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

Вы можете сказать: «Да это же просто А/Б-тестирование с сегментами, а не предиктивный таргетинг. Настоящий таргетинг использует высшую математику, это совершенно иное».

Это не совсем так.

Взглянем на еще одного таргетингового агента, но в этот раз вместо нескольких пользовательских сегментов имеется группа .


Таргетинг основан на сегментации согласно множеству пользовательских характеристик (User Features), таких как геолокация, логин, ключевые слова, время, день, месяц, продолжительность сессии. Чтобы установить ценность возможных действий при таком количестве микросегментов необходимо использование математических моделей (Models)

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

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

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

Предиктивный анализ: отбор исследованных пользовательских характеристик для совершения действия


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

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

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

Заключение

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

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

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

Введение.

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

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

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

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

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

Почему агенты считаются важным новым направлением в концептуализации и реализации некоторых типов программных приложений;

Какие интеллектуальные агенты и как связаны (или не связаны) с другими программными парадигмами – в частности с экспертными системами и объектно-ориентированным программированием;

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

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

Эта глава построена следующим образом. Вначале раздел 1.2 описывает, что понимается под термином агент. Раздел 1.3 представляет некоторые абстрактные архитектуры агентов. То есть, несколько основных моделей и свойств агентов обсуждаются без ссылок на то, как они могли бы быть реализованы. В разделе 1.4 обсуждаются конкретные архитектуры агентов. В этом разделе подчеркиваются различные основные пути конструирования агентных систем, которым можно следовать при создании. В том числе архитектуры, основанные на логике, реактивные архитектуры, belief-desire-intention архитектуры и наконец послойной архитектуры для интеллектуальных агентов описаны в деталях. Завершающий раздел 1.5 знакомит с некоторыми прототипами языков программирования агентных систем.



Просмотров