Russian
| English
"Куда идет мир? Каково будущее науки? Как "объять необъятное", получая образование - высшее, среднее, начальное? Как преодолеть "пропасть двух культур" - естественнонаучной и гуманитарной? Как создать и вырастить научную школу? Какова структура нашего познания? Как управлять риском? Можно ли с единой точки зрения взглянуть на проблемы математики и экономики, физики и психологии, компьютерных наук и географии, техники и философии?"

«Многоагентные системы (обзор)» 
В.И.Городецкий, М.С.Грушинский, А.В.Хабалов

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

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

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

Более подробное описание рассмотренной модели можно найти в работах [56, 57].

4.2. Конфликты в многоагентных системах

Возможность возникновения конфликтов в многоагентной среде является неизбежным следствием децентрализованности таких систем. Локальные убеждения одного агента могут, например, противоречить убеждениям других агентов. Агент может сформировать цель, которая будет конфликтовать с целями других агентов. При этом под конфликтом, обычно, понимают ситуацию, в которой возникает противоречие вида p ∧ q false, где p и q —  убеждения агентов.

Основными типами конфликтов в многоагентных системах являются:

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

Под разрешением конфликта понимается снятие логического противоречия вида p ∧ q false за счет отбрасывания одной из альтернатив в соответствии с некоторым критерием, или смены p и q вместе. Существует множество различных механизмов разрешения конфликтов, как например:

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

Рассмотрим более подробно несколько примеров. 

Механизм разрешения конфликтов, основанный на модели убеждений с приоритетами. При этом варианте агенты обмениваются информацией с целью достичь соглашения. Когда агент получает информацию, несовместимую с его локальными убеждениями, он либо отвергает ее, либо принимает, отбрасывая собственные убеждения. Имеется несколько типов метрик для определения силы убеждения, например, основанные на функции полезности [60], шкалированные величины. Механизм разрешения конфликтов, предложенный в [50], использует символьное шкалирование приоритетов убеждений. Убеждениям ставятся в соответствие  приоритеты трех уровней: ограничения (constraints), предпочтения (preferences) и гипотезы (options).

Для убеждения Q степень доверия BD есть одно из следующих значений: BD(Q)∈ {N, P, O, U}, где N (от necessarily) означает, что Q — необходимо истинно, P (oт preferably): Q — предпочтительное убеждение, O (oт optionally): Q — возможное убеждение, U: Q  есть ложь. Над множеством {N, P, O, U}, определены [...] операции Е и Д, cогласно следующим таблицам:

Д

N

P

O

U

Е

N

P

O

U

N

N

P

O

U

N

N

N

N

N

P

P

P

O

U

P

N

P

P

P

O

O

O

O

U

O

N

P

O

O

U

U

U

U

U

U

N

P

O

U

Тогда, например, BD(PQ) = BD(P) Е BD(Q).

Другим возможным вариантом является механизм разрешения конфликтов с помощью введения уровней компетентности  агентов [4],  в соответствии с которым упорядочиваются их убеждения. Приведем определение уровня доверия к убеждению b, заимствованное из работы [4]: 

Если:

(1)    b1 есть убеждение агента a1, имеющего цель в роли r1, такое, что b1 требуется для достижения этой цели, и

(2)    b2 есть убеждение агента a2, имеющего цель в роли r2, такое, что b2 необходимо для достижения этой цели, и

(3)    b1 конфликтует с b2,

Тогда:

b1 имеет больший уровень доверия, чем b2 тогда, и только тогда, когда, в соответствии с уровнем компетентности (a2 r2) < (a1 r1), или, иными словами, агент a1, играющий роль r1, более компетентен, чем a2 в роли r2.

4.3. Протоколы и языки координации 

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

Теория речевых актов (Speech Act Theory, см. [51]). Переговоры строятся с использованием небольшого числа примитивов, например, ASK, TELL, REJECT, REQUEST, COMMIT, NEGOTIATE. Процесс переговоров начинается тогда, когда агент посылает сообщение, содержащее его точку зрения (позицию, attitude) по некоторому вопросу. Посредством обмена cообщениями ASK, TELL, REJECT агенты могут обсуждать некоторую тему и приходить к общему решению. Во время переговоров агенты обновляют свои базы знаний и, тем самым, повышают свои способности отвечать на новые запросы.

Протокол контрактных сетей (Contract Net Protocol) [45, 46] предназначен для координации в системах распределенного решения проблем. Каждый узел контрактной сети способен выполнять определенные задачи. Если в процессе решения один узел (заказчик) не в состоянии решить некоторую задачу, он ищет другой подходящий узел, который способен ее решить. При этом он рассылает объявление потенциальным подрядчикам (contractors) о вакансии на выполнение некоторого договора. Если на это объявление отвечают несколько узлов, то заказчик, пользуясь некоторым критерием, выбирает наиболее подходящего подрядчика. Посредством торгов заказчик и подрядчик заключают договор (contract). Вариации этого протокола используются в так называемых “электронных предприятиях” (electronic enterprises).

СOOL (COOrdination Language) [4, 5] язык во многом схожий с языком KQML (см. Раздел 6), предназначенный для управления совместными действиями. Важнейшими конструкциями языка являются планы переговоров, определяющие состояния и правила переговоров (conversation rules), и переговоры, определяющие текущее состояние плана, исполняемого в конкретный момент. Агенты могут иметь активными несколько переговоров и управлять их переключением и приостановкой, а также динамически создавать дочерние переговоры.

UNP (Unified Negotiation Protocol) описан в работе    [60]. В указанной работе приводится механизм разрешения конфликтов, который позволяет повысить суммарную полезность, достигаемую агентами. Рассматриваются конфликтные ситуации, для разрешения которых используется “бросание монетки”, т.е. механизм рандомизации. При этом, в зависимости от того, кто выигрывает жребий, удовлетворяются цели либо обоих агентов, либо только одного. Для подобных ситуаций авторы используют термин «полукооперативная сделка». В условиях полукооперативных сделок агенты могут повысить суммарную полезность, договорившись о координировании совместных действий.

5. Архитектура многоагентных систем 

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

При выборе архитектуры многоагентной системы необходимо иметь в виду два ее аспекта:

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

-архитектуру отдельного агента.

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

5.1. Архитектура взаимодействия системы агентов 

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

5.1.1. Одноуровневая архитектура взаимодействия агентов 

Ярким примером одноуровневой (полностью децентрализованной) архитектуры является архитектура системы для планирования совещаний (встреч) [6]. Это приложение является представителем довольно широкого круга задач, которые имеют много общего в формальной постановке. Это те задачи, которые имеют дело с динамическим составлением расписаний выполнения некоторого вида деятельности в условиях ограниченных ресурсов. Представителями задач подобного рода являются, например, задачи составления расписания обслуживания судов в морском порту [62], задачи диспетчерского обслуживания движения самолетов в аэропорту [39], планирование работ в гибких автоматизированных производствах [34] и ряд других.

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

В такой ситуации каждый участник предстоящей встречи представляется в процессе планирования своим агентом (“электронным секретарем”), который знает все о своем клиенте и совсем немного о других участниках встречи. Стратегия поиска решения в этом случае предполагает использование переговоров для поиска глобально согласованного решения. При этом, хотя агенты остаются равноправными участниками переговоров, каждому из них по специальному алгоритму назначается определенная роль, причем роли агентов могут динамически меняться. Поясним это кратко на примере [6].

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

вес=1, если запланированная встреча может быть передвинута;

вес=2, если такая встреча передвинуты быть не может.

Если агент отказывается от встречи, то он просто удаляется из списка участников и далее не рассматривается в задаче планирования.

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

В противном случае агент-организатор вычисляет роли участников в предстоящих переговорах.

Агент, который имеет наибольший фактор ограничений (он имеет меньше всех свободного времени для планируемой встречи и сокращает в наибольшей мере пространство поиска компромисса) получает статус МС (Most Constrained) и далее он берет на себя роль координатора переговоров. Фактически этому агенту назначается роль лидера в традиционной терминологии теории распределенных вычислений. Остальные агенты получают статусы МС2, МС3,… в порядке убывания их факторов ограниченности, последний из них — LC (Least Constrained).

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

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

5.1.2. Иерархическая архитектура взаимодействия агентов 

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

Агент, осуществляющий координацию, может быть привязан к конкретному серверу, и тогда он называется “местом встречи агентов”. Место встречи агентов (AMP — Agent Meeting Place) — это агент, играющий роль брокера между агентами, запрашивающими некоторые ресурсы, которыми обладают другие агенты, и теми агентами, которые эти ресурсы могут предоставить. Архитектура AMP есть архитектура обычного агента (см. далее), дополненная некоторыми вспомогательными компонентами, наличие которых обусловлено ролью этого агента как координатора взаимодействия других агентов. Эти вспомогательные компоненты  должны, с одной стороны, содержать унифицированное описание множества доступных через AMP агентов и их возможностей (ресурсов, функций и пр.) и, с другой, организовать унифицированный доступ к ним. Это обеспечивается такими компонентами AMP [10].

1.Объекты базовых сервисов, в частности, это могут быть удаленный вызов объектов, упорядочение объектов, дублирование объектов и другие базовые возможности, которые  обычно поддерживаются той или иной платформой открытой распределенной обработки, например, OMG/CORBA.

2. Связные порты, ответственные за прием и отправку агентов в AMP с помощью соответствующих протоколов.

3. Компонента установления подлинности агента по имени (опознание агента, “авторизация”).

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

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

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

7. Глубинный маршрутизатор, который ассистирует поверхностному при более специальных и сложных запросах.

8. Менеджер ресурсов; он регистрирует агентов на AMP и ассоциированные с ними ресурсы, а также управляет ресурсами AMP.

9. Среда исполнения агента, которая регистрируется в AMP и управляет доступом к компонентам агента; она интерпретирует сценарии, обеспечивает доступ к базовым возможностям и др.

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

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

5.2. Архитектура агента

5.2.1. Общая классификация архитектур 

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

-архитектура, которая базируется на принципах и методах искусственного интеллекта, т.е. систем основанных на знаниях (deliberative agent architecture”, “архитектура разумного агента”),

и как альтернатива, так называемая

-архитектура, основанная на поведении (reactive architecture) или “реактивная архитектура” (основанная на реакции системы на события внешнего мира).

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

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

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

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

5.2.2. Архитектуры агентов, основанные на знаниях 

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

Сначала идея агента, основанного на знаниях, строилась на чисто логической основе и представлялась весьма перспективной7. Однако позднее было обнаружено, что лежащее в основе такого подхода исчисление предикатов первого порядка неразрешимо. Более того, такие ментальные свойства агента, как убеждения, желания, намерения, обязательства по отношению к другим агентам и т.д (см. раздел 2), невыразимы в терминах исчисления предикатов первого порядка. Были разработаны некоторые специальные варианты расширений модальных логик и подобных модальным (см. раздел 3), которые оказались с точки зрения реализуемости более удачными. Такие архитектуры были названы Belief-Desire-Intention (BDI) — архитектурами. Однако мы не будем останавливаться на особенностях BDI-архитектур среди архитектур, построенных на основе знаний, так как это больше характеризует язык спецификации, лежащий в основе формализации агента, чем особенности собственно архитектуры. Далее будут даны примеры архитектур агентов на основе знаний.

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

5.2.3. Архитектура на основе планирования (реактивная архитектура) 

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

В этом подходе планирование рассматривалось как “конструирование последовательности действий, которая, будучи исполненной, приводила бы в результате к достижению желаемой цели” [58]. Простым примером архитектуры подобного рода является архитектура, в которой реакция агента на внешние события генерируется конечным автоматом. В качестве другого примера системы с архитектурой рассматриваемого типа может рассматриваться и широко известная система STRIPS [17]. В этой системе, как известно, использовался чисто логический подход совместно с предусловиями и постусловиями, ассоциированными с каждым из действий. В соответствии с принятой стратегией STRIPS, имея описание мира и желаемой цели, пытается найти последовательность действий, которая в итоге приведет к достижению цели с удовлетворением постусловий. Как известно, система оказалась крайне неэффективной. Позже были разработаны и другие подобные подходы, однако они не могли работать с задачами, в которых имелись темпоральные ограничения и ограничения реального времени, весьма существенные для приложений интеллектуальных агентов.

5.2.4. Многоуровневость 

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

-восприятие и исполнение действий,

-реактивное поведение,

-локальное планирование,

-кооперативное поведение,

-моделирование,

-формирование намерений, и

-обучение агента.

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

-горизонтально организованная архитектура и

-вертикально организованная архитектура.

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

Примерами горизонтально организованной архитектуры являются рассматриваемые далее архитектуры Touring Machine [16] и Will-architecture [33] (D.Moffat and N.H.Frijda). Хорошим примером вертикально организованной архитектуры является InteRRaP-архитектура, подробно рассматриваемая ниже [36].

Рис.7 Организация взаимодействия уровней в многоуровневой  архитектуре агента

Основные проблемы реализации горизонтально организованной архитектуры обусловлены сложностью организации согласованной работы всех уровней. В архитектуре Touring Machine (см. далее п.5.3.2) эта проблема решается с помощью специального алгоритма, который подавляет входы некоторых уровней, если соответствующая информация не имеет к ним отношения, и осуществляет цензурирование выходов. Это выполняется с помощью специального набора  правил. Во второй из горизонтально организованных архитектур — архитектуре Will, задача управления согласованной работой уровней выполняется с помощью введения специальных функций совместимости входных событий с  “интересами” (concerns) уровней. Здесь делается попытка ввести некоторую самоорганизацию, однако из имеющихся работ не вполне понятно, как это может быть реализовано в различных приложениях.

Напротив, в вертикально организованной архитектуре проблема управления взаимодействием уровней не является столь сложной, поскольку выходная информация каждого из уровней всегда имеет адресата. В известных вертикально организованных архитектурах распределение функциональных модулей по уровням выполняется по одному из двух принципов. Согласно одному из них, различные уровни отвечают различному уровню абстракции, в основном, одного и того же набора функциональностей (такой принцип используется в уже упоминавшейся InteRRap-архитектуре). Согласно другому принципу каждый уровень отвечает некоторой функциональности или их набору. По такому принципу построена MECCA-архитектура [36], в которой цикл функционирования агента состоит из четырех фаз: активация цели, планирование, конкретизация плана в набор действий и исполнение. В соответствии с этими фазами архитектура агента состоит из четырех уровней.

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

5.3. Примеры архитектур агентов 

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

5.3.1. Композиционная архитектура многоагентной системы 

Эта архитектура описана в работе [12]  и имеет имя DESIRE-”framework for DЕsign and Specification of Interacting RЕasoning components”. Она базируется на понятии композиционной архитектуры, которая позволяет “описывать сложного агента в прозрачной манере, а также интегрировать рассуждения и действия в единой (декларативной) логической среде” (перевод из [12]). Авторы предполагают, что агент в процессе работы выполняет действия следующего типа:

-активно воспринимает и фильтрует информацию из внешнего мира;

-строит заключения по этой информации;

-инициализирует и выполняет коммуникации с другими агентами в интересах кооперации;

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

-изменяет внешний мир, воздействуя на него.

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

(а) знания о материальном мире;

(б) знания о ментальном мире самого агента;

(в) знания о ментальных мирах других агентов;

(г) знания о взаимодействии с материальным миром

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

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

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

Пример агента с использованием композиционной архитектуры приведен на рис.8. Агент, структура которого представлена на этом рисунке, имеет имя A. Он состоит из трех главных компонент:

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

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

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

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

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

-использование знаний о стратегиях для явного управления рассуждениями;

-гибкость в построении агентов различных типов;

-явные и управляемые акты наблюдения;

-явные и управляемые акты коммуникации.

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

5.3.2. Многоуровневая архитектура для автономного агента (“Touring Machine”) 

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

 Рис.8. Пример агента с композиционной архитектурой

Данная архитектура представлена на рис.9 [16]. По утверждению автора, эта архитектура демонстрирует хорошее поведение в соответствии с контекстом- состоянием внешней среды. Она включает в себя три уровня, каждый из которых соответствует различным типам способностей агента.

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

Рис.9. Многоуровневая архитектура для автономного агента
(“Touring Machine”)

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

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

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