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

Работа

по дисциплине «МУЛЬТИАГЕНТНОЕ МОДЕЛИРОВАНИЕ»

на тему:

«Гибридные агенты и архитектуры»

Содержание

 

  1. Введение……………………………………………………………..……...3
  2. Развитие и внедрение программных агентов………………………...…..4
  3. Гибридные агенты и архитектуры…………………..………………….....9
  4. Недостатки гибридных архитектур……………………………………...12
  5. Заключение………………………………………………………………..24
  6. Список литературы……………………………………………………….25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

 

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

  • Реактивный агент
  • Думающий агент
  • Гибридный агент

Гибридный агент состоит из:

  • Комбинация реактивного и думающего агентов
  • Агент состоит из нескольких подсистем
  • Думающие подсистемы, которые создают планы и принимают решения посредством символьных рассуждений
  • Реактивные подсистемы, которые способны критически реагировать на события без сложных рассуждений
  • Многослойные архитектуры

 

 

 

 

 

 

1. Развитие и  внедрение программных агентов.

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

Вместе с тем развитие и внедрение программных агентов было бы, по-видимому, невозможно без предыдущего опыта разработки и практического освоения концепции открытых систем [Орлик, 1997], которые характеризуются свойствами:

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

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

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

•    дружелюбности к пользователю/легкой управляемости.

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

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

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

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

При динамическом подходе МАС-приложения используют парадигму мобильных агентов. Часть исследователей считают, что мобильные агенты обеспечивают более прогрессивный метод работы в сетевых приложениях. Другие авторы отмечают, что мобильные агенты привносят опасность с точки зрения обеспечения секретности информации и загруженности сети [Chess et. al. 1995].

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

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

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

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

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

Мобильные агенты являются перспективными для MAC, но в настоящее время нет единых стандартов их разработки и все еще остается нерешенным ряд проблем, таких как легальные способы перемещения агентов по сети, верификация агентов (в частности, защита от передаваемых по сети вирусов), соблюдение агентами прав частной собственности и сохранение конфиденциальности информации, которой они обладают, перенаселение сети агентами, а также совместимость кода агента и программно-аппаратных средств сетевой машины, где он исполняется [Wayner, 1995].

В настоящее время наиболее известными технологиями реализации статических и динамических распределенных приложений являются программирование сокетов, вызов удаленных процедур — RPC (Remote Procedure Call), DCOM (Microsoft Distributed Component Object Model), Java RMI (Java Remote Method Invocation) и CORBA (Common Object Request Broker Architecture) [Maurer et al., 1998]. Вместе с тем с точки'Ърения разработки и реализации MAC наиболее важными, по-видимому, являются последние три — DCOM, Java RMI и CORBA [Gopalan, 1999].

Модель Microsoft DCOM является объектной моделью, которая поддерживается Windows 95, Windows NT, Sun Solaris, Digital UNIX, IBM MVS и др. Основная ее ценность — в предоставлении возможностей интеграции приложений, реализованных в разных системах программирования.

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

CORBА является частью  ОМА (Object Management Architecture), разработанной  для стандартизации архитектуры  и интерфейсов взаимодействия  объектно-ориентированных приложений. Интерфейсы между CORBA-объектами определяются  через специальный язык IDL (Interface Definition Language), который является языком  описания интерфейсов. Сами интерфейсы  могут при этом быть реализованы  на любых других языках программирования  и присоединены к

CORBA-приложениям. В рамках  стандартов предполагается, что CORBA-объекты  могут коммуницировать с DCOM-объектами  через специальные CORBA- DCOM мосты (Bridges).

Технологии Java RMI и CORBA являются, по-видимому, на сегодняшний день самыми гибкими и эффективными средствами реализации распределенных приложений [Gopalan, 1999]. Эти технологии очень близки по своим характеристикам. Основным преимуществом CORBA является интерфейс IDL, унифицирующий средства коммуникации между приложениями и интероперабельность с другими приложениями. С другой стороны, Java RMI является более гибким и мощным средством создания распределенных приложений на платформе Java, включая возможность реализации мобильных приложений.

В настоящее время еще не вполне ясно, какая из этих концепций «победит» в борьбе за мультиагентные системы. Вмешаться в этот процесс может и модель DCOM, активно «продвигаемая» компанией Microsoft. Но анализ существующих реализаций MAC показывает, что пока более распространенным здесь является подход Java RMI.

Выше кратко обсуждались вопросы стратегии программного обеспечения распределенных приложений. Если же вернуться к проблематике MAC, то все программные средства для их разработки и реализации на современном этапе можно разделить на два больших класса: МАС-библиотеки и МАС-среды. Впечатляющий список сайтов, где представлена информация о том и другом программном обеспечении, как из коммерческих, так и из исследовательских организаций, представлен в Интернет по адресу http://www.reticular.com/.

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

Одним из удачных примеров систем данного класса является, на наш взгляд, инструментарий AgentBuilder компании Reticular Systems, Inc. [AgentBuilder, 1999] — одного из лидеров в этой области, к обсуждению которого мы и переходим.

 

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

Гибридные архитектуры объединяют в себе все достоинства реактивных архитектур агентов и архитектур, основанных на знаниях. Основным же недостатком является отсутствие подсистемы моделирования. Наиболее близкими к требуемой для решения поставленной в работе задачи архитектуре агента субъекта инноваций являются InteRRap- архитектура и архитектура Touring Machine.

Но они требуют существенной модификации, касающейся разработки механизма включения в их функциональную структуру имитационного аппарата и механизма связывания его с другими архитектурными компонентами для обеспечения совместимости и надежной работы агента. Гибридные архитектуры позволяют гибко комбинировать возможности всех подходов. Вот почему в последнее время явно прослеживается тенденция  разработки и использования именно гибридных агентных архитектур и систем агентов. К архитектурам данного типа относятся : WILL- архитектура, InteRRap-архитектура, архитектура Touring Machine, IDS-архитектура, композиционная архитектура и др.

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

Ниже будет рассмотрена разработанная гибридная InteRRap-архитектура интеллектуального агента, включающая в себя имитационный аппарат – Simulation-based Agent Architecture (SAA).

Таблица1.

Сравнительный анализ архитектур агентов.

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

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

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

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

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

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

В этом плане налицо тенденция построения интегрированных архитектур агентов, аналогичная современным вариантам интеграции логических и нейросетевых моделей в ИИ.

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

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

 

 

 

 

 

 

 

3. Недостатки гибридных  архитектур.

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

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

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

Агент с подобной архитектурой обладает способностью к рассуждениям и к реактивному поведению. Его БЗ содержит три уровня: 1) знания предметной области; 2) знания о взаимодействии, которые позволяют принимать решения в условиях неопределенности; 3) управляющие знания. Интеллектуальное поведение агента обеспечивается способностью принимать решения, а реактивное - системой контроля за содержимым рабочей памяти, которая функционирует по принципу глобальной доски объявлений. Агент взаимодействует с пользователем, используя человеко-машинный интерфейс. В общем случае гибридные архитектуры являются многоуровневыми и отличаются друг от друга структурой и содержанием уровней, которые могут соответствовать различным уровням управления, абстракции либо отдельным функциональным свойствам агента.

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

В последнее время ряд исследователей признают, что ИА должен обладать высокоуровневым выводом и низкоуровневыми реактивными способностями. На этом пути можно использовать реактивную способность для текущих задач и добавить возможность логического вывода для более сложных долговременных задач. Достаточно давно были выделены [2] две категории гибридных агентных архитектур.

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

для выполнения этих функций.

 

Рис. 1. Базовая архитектура многослойного гибридного агента

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

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

1). Достаточно только одного  реактивного и одного делиберативного  уровня, или должны быть введены  дополнительные уровни? Как когнитивная  рабочая нагрузка должна быть  разделена между уровнями?

2). Как должны взаимодействовать  компоненты различных уровней?

3). Когда должен агент  действовать и когда должен  размышлять, т. е. как определить алгоритм расписания?

Проведем сравнение некоторых известных гибридных архитектур в терминах обозначенных выше пунктов (1) –(3). Фергюссоном была предложена архитектура циклической машины, основанной на модели машины А.М. Тьюринга [2] включающая три уровня: реактивный уровень,

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

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

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

данные, так что каждый уровень получает соответствующую часть сенсорных данных.

Рис. 2. Базовая архитектура агента циклической машины

Сообщения подразделяются на два вида: пассивные пересылки информации (реактивный уровень сообщает моделирующему уровню на ка

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

Главная идея агента «планировщик-реактор», предложенного в [3] состоит в том, что планировщик является системой, которая взаимодействует с реактором таким же способом, каким реактор взаимодействует с миром (рис.3.). Планировщик содержит: модель мира, описание реактора и установку от пользователя на цели реактора и ограничения, которым должно удовлетворять поведение реактора.

Рис. 3. Базовая архитектура системы «планировщик-реактор»

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

Реактор и Планировщик рассматриваются как полностью независимые параллельные системы.

Архитектура Glair (Grounded Layered Architecture with Integrated Reasoning) (многоуровневая архитектура с обобщенным выводом) предложена Hexmoor, Lammens и Shapiro [4]. Glair определяет 3 уровня: уровень знаний, который содержит традиционную планирующую систему и относительное представление объектов, событий и состояний; перцепторно-моторный уровень; и сенсорно-активаторный уровень, который не имеет явных представлений – только процедурные представления. Более того, имеются различия между делиберативным, реактивным и рефлексивным поведением.

Рефлексивное поведение не требует никаких рассуждений или детальной обработки сенсорных данных и проводится сенсорно-активаторным уровнем, в то время как реактивное поведение требует некоторой обработки данных, но без широких рассуждений, и проводится перцепторно-моторным уровнем. Можно сказать, что перцепторно-моторный уровень вместе с сенсорно-активаторным уровнем составляют реактивный компонент. Все ментальные задачи располагаются на уровне знаний. Архитектура DYNA, предложенная Sutton[5],[6]может рассматриваться как гибридная, но не вполне многоуровневая, интегрирующая реактивность и планирование.

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

Рис. 4. Базовая архитектура DYNA-агента

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

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

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

Существенным недостатком гибридных архитектур является то, что они делаются adhoc, т.е. их структура достаточно хорошо обоснована с конструкторской точки зрения, но не ясно, как ее обосновать со стороны любой глубокой теории. Особенности построения таких архитектур рассмотрим на примере системы In-teRRaP[1], соединяющей в себе свойства BDI-архитектур (Belief, Desire, Intentions) и многослойных (layered) архитектур.

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

В данной архитектуре реализованы три базовые функции:

–BR(P, B) = B` –функция ревизии убеждений и абстрактных знаний, переводящая текущее состояние P агента и его старое убеждение B

в новое убеждение B`;

–SG(B, G) = G` – функция распознавания ситуации и активации цели, выводящая новую цель G` из убеждений агента B и его текущей цели G;–PS(B, G, I) = I` –функция планирования и составления расписания, выводящая I` новых намерений, основанных на убеждениях B, целях G, выбранных функцией

SG, и текущей внутренней  структуры намерений 

I данного агента (табл. 1.).

Каждый уровень иерархии содержит два процесса, реализующих функции SG и PS. Процесс iSG распознает ситуации, интересующие соответствующий уровень, и выполняет активацию цели. Процесс iPS реализует переход от целей к намерениям и действиям, принимая по входу пары «цель – ситуация», созданные процессом iSG, определяет планы достижения целей и отслеживает выполнение шагов плана.

Если процесс iPS не компетентен для ситуации S, он посылает требование активации, содержащее соответствующую пару «ситуация – цель» к SG1+i, где описание ситуации обрабатывается за счет дополнительных знаний, доступных этому процессу, для того чтобы произвести соответствующее описание цели. В результате обработки ситуация S возвращается обратно к iPS. Так работает механизм управления, основанный на компетентности.

Рис. 5. Архитектура агента в системе InteRRaP

 

Таблица№ 2

Ситуация же определяется как множество формул

 

Где

Индексы обозначают: B–слой определения поведения, L–слой локального планирования, С–слой кооперативного планирования, WM–модель среды, ММ –ментальная модель, SM–социальная модель. Таким образом, ситуация описывается в контексте состояний внешней среды, целей и намерений агента и его убеждений о других агентах.

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

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

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

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

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