Городецкий. Городецкий В.И., Многоагентные системы (обзор). Многоагентные системы (обзор) В. И. Городецкий, М. С. Грушинский, А. В. Хабалов
![]()
|
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]. В отличие от большинства других разработок, она рассчитана на реальное приложение, а не на демонстрационный вариант только. В реальном приложении агент имеет дело с непредвиденными событиями внешнего мира как в пространстве, так и во времени и в присутствии других агентов. При этом он должен сохранять способность адекватно реагировать на них и принимать решения. Но внешний мир невозможно моделировать в деталях. По этой причине архитектура агента и является, как правило, гибридной. Агент должен иметь архитектуру, которая позволит ему справляться с неопределенностью и неполнотой информации, реагировать на непредвиденные события, пользуясь относительно простыми правилами. Это - исходная позиция авторов данной архитектуры. ![]() Данная архитектура представлена на рис.9 [16]. По утверждению автора, эта архитектура демонстрирует хорошее поведение в соответствии с контекстом- состоянием внешней среды. Она включает в себя три уровня, каждый из которых соответствует различным типам способностей агента. -уровень реакции на события R поддерживает способность агента быстро реагировать на события, выдаваемые вышележащим уровнем, даже если они ранее не планировались; ![]() Рис.9. Многоуровневая архитектура для автономного агента (“Touring Machine”) -уровень планирования P генерирует, исполняет и динамически реконструирует частичные планы, например, для выбора маршрута подвижного робота; -уровень предсказания, или моделирования M моделирует поведение сущностей внешней среды и самого агента, что может использоваться для объяснения наблюдаемого поведения и предсказания возможного их поведения в будущем. Каждый из этих уровней имеет модель мира агента на соответствующем уровне абстракции и содержит возможности, соответствующие уровню. Каждый из уровней напрямую связан с компонентой восприятия и действия и в состоянии независимо от других уровней решать, реагировать или не реагировать в текущем состоянии мира. В архитектуру включена Подсистема управления на основе правил, активируемая контекстом с задачей обеспечить подходящее поведение агента в случае конфликта вариантов поведения, инициируемого различными уровнями. Система реализована как комбинация технологии обмена сообщениями и контекстной активации управляющих правил (в соответствии со спецификой предметной области), выступающей в роли посредника, который исследует данные разных уровней (воспринимаемый вход и выходы разных уровней), вводит на различные уровни новые данные и удаляет некоторые данные. Синхронизация входов и выходов уровней также обеспечивается этой подсистемой. Фактически правила подсистемы выступают в роли фильтра между сенсорами агента и внутренними уровнями агента (“supressors”) и между уровнями и их исполнительными элементами (“censors”). Посредничество это остается активным все время работы агента, однако оно “прозрачно” для уровней, каждый из которых продолжает действовать так, как если бы он был единственным при управлении агентом, не заботясь о возможном конфликте. Данная архитектура имеет реализацию и по мнению авторов вполне работоспособна. Она интегрирует в себе ряд традиционных механизмов рассуждений на основе знаний и механизмов чисто поведенческого, “реактивного” характера. Она является весьма характерным представителем горизонтально организованной многоуровневой архитектуры. 5.3.3. Многоуровневая архитектура для распределенных приложенийЭта архитектура [23] была разработана специально для системы здравоохранения. Она включает в себя многоуровневую структуру знаний, рабочую память, менеджера коммуникаций и человеко-машинный интерфейс (см. рис.10) Поскольку данная архитектура должна быть релевантной медицинским приложениям, агент должен обладать обоими типами поведения - как поведением на основе знаний (например, для выбора планов, декомпозиции задач, размещения задач), так и поведением на основе быстрой реакции на события (например, для формирования ответов в реальном времени на поступающие новые данные, изменение имеющихся данных, на изменение текущих соглашений с другими агентами). Таким образом, эта архитектура, как и все ранее рассмотренные, является гибридной. ![]() В этой архитектуре интеллектуальное поведение поддерживается совместной работой таких компонент, как блок решающих правил для вычисления плана, блок правил для управления задачами, их декомпозицией и размещением, а также блок правил для поддержки соглашений с другими агентами при кооперативном решении задач. Реактивное поведение реализуется с помощью управляющего уровня, который реагирует на изменение состояния рабочей памяти (например, при поступлении новых результатов решения задачи, целей или сообщений, а также при изменении имеющихся данных, целей, межагентских соглашений или состояний задач). Ключевым моментом данной архитектуры является трехуровневая организация знаний, при этом выделяются следующие уровни: Уровень специфических предметных знаний, в котором содержатся медицинские знания о болезнях, знания о планах управления лечением болезней (“протоколы”), база данных о пациентах (истории болезней) и база данных о доступных ресурсах. Однако предметные знания не содержат какой-либо информации о том, как их следует использовать, здесь представлены только свойства предметной области. 2. Уровень знаний о процедурах вывода; он содержит декларативные правила вывода, которые должны применяться к предметным знаниям о конкретном пациенте, чтобы вывести новые данные. Этот уровень - основной в архитектуре. В свою очередь он подразделяется на компоненты принятия решений в условиях неопределенности, управления задачами и управления кооперацией агентов. Например, модуль управления задачами содержит декларативную схему вывода для управления переходами состояний задачи. Особенности системы вывода решений состоят в том, что она не использует понятия ментального состояния агента (убеждения, желания, намерения) и не использует какой-либо логический язык для вывода, для этого она использует стратегии аргументации в условиях неопределенности. Это означает, что эта архитектура не является BDI-архитектурой. 3. Менеджер задач ответственен за декомпозицию задач на подзадачи и их распределение по соответствующим агентам, а также за управления переходами состояний задач. Управление кооперацией агентов использует механизм, основанный на взаимных обязательствах агентов (“любой агент согласен предпринимать схему действий, которая имеет целью исполнить задачу за подходящее время”), и соглашениях о том, при каких условиях агент вправе отказаться от своих обязательств и как он должен себя вести по отношению к другим агентам, когда такие обстоятельства возникнут. 4. Уровень управляющих знаний, который применяет знания о процессе вывода к предметным знаниям, чтобы генерировать схему вывода, если в рабочую память добавляются новые знания. Авторы убеждены, что такое функциональное разделение знаний на предметные знания, знания о процедурах вывода и управляющие знания существенно упрощает их представление, повторное использование и эксплуатацию, поскольку эти компоненты могут создаваться и поддерживаться независимо. Кроме того, эта архитектура позволяет просто встраивать программы извлечения знаний, каждая из компонент которых может получаться и модифицироваться независимо друг от друга. Другие три компоненты рассматриваемой архитектуры - это рабочая память, менеджер коммуникаций и человеко-машинный интерфейс. Рабочая память служит для запоминания текущих данных, генерируемых уровнем управления, пользователя и менеджера коммуникаций. Типы информации, которая хранится в рабочей памяти, таковы: цели, которые должны быть достигнуты; состояния задач, которые находятся в текущем состоянии процесса выполнения соглашений с другими агентами. Фактически, в привычной нам терминологии, рабочая память есть ни что иное, как доска объявлений. Менеджер коммуникаций содержит в себе сообщения, которые должны быть посланы другим агентам, представленные на языке коммуникаций с примитивами типа примитивов языка KQML: обратиться с просьбой, принять, отвергнуть, изменить, предложить, проинформировать, запросить данные, отказаться и подтвердить. Человеко-машинный интерфейс определяет схему взаимодействия между системой и пользователем, поскольку данная многоагентная система не является автономной, что связано с личной ответственностью пользователя за здоровье пациента. Эту архитектура основана на знаниях, имеет горизонтальную схему взаимодействия уровней. Главная ее особенность в том, что она достаточно сильно ориентирована на приложение. 5.3.4. IDS-архитектураЭта архитектура возникла [31] в результате комбинирования двух направлений исследований. Первое из них - это логика рассуждений о действиях и изменениях с исходным понятием "населенной (живыми существами) динамической системы" (“Inhabited Dynamic System”-IDS). Второе направление - это построение эффективной реализации интеллектуальной системы. Архитектура имеет трехуровневую структуру и является гибридной. Полагается, что IDS - система размещается в некотором мире (среде) и состоит из двух базовых частей - “Мыслящей части” (“Я”, “Ego”) и “Машины” (“Подвижной части объекта”, “тела”, “vehicle”). Автор интерпретирует понятие “Мыслящая часть” как интеллектуальную, основанную на знаниях часть автономного агента, его “мозг”, в то время как “машина” - это тело агента, т.е. его бессознательная часть, которая в порядке реакции на восприятие и приказы на исполнение что-то делает. IDS воспринимает внешнюю среду. Используя процесс восприятия, она редуцирует и существенно обобщает воспринимаемую информацию, и посылает выход в “Мыслящую часть”. В свою очередь, “Мыслящая часть” посылает команды на свою подвижную часть, которая их отрабатывает без какого-либо дополнительного управления или изменения, вызывая соответствующие изменения во внешнем мире (см. Рис.11). Эта идея реализуется в виде трехуровневой архитектуры, представленной на рис.12. Разделение по уровням производится в соответствии с характером тех вычислений, которые на них выполняются. Первый уровень - это уровень процессов, на котором периодически выполняются с заданной частотой некоторые вычисления, а также осуществляется управление процессами восприятия и исполнения. Второй уровень, называемый уровнем ответной реакции, вычисляет ответную реакцию на асинхронные события, которые либо воспринимаются уровнем процессов, либо им генерируются. Уровень анализа выполняет символические рассуждения, такие, как предсказание, планирование и перепланирование, а также является тем местом, где располагается компонента обучения агента. Данная архитектура является типичным представителем многоуровневой архитектуры, которая относительно близка к архитектуре “Touring Machine” и отличается от нее вариантом распределения задач по уровням. Достоинства архитектуры, по мнению автора, следует рассматривать в трех аспектах: ![]() -в ней имеет место явное разделение задач, которые требуют различных концептуальных и вычислительных рамок; -она позволяет при проектировании использовать различные инструментальные средства (языки, алгоритмы) для упрощения разработки; -она позволяет поддерживать процесс проектирования простыми программными инструментальными средствами, обеспечивая простоту процесса прототипирования, которыми автор располагает. 5.3.5.WILL-архитектураЭта архитектура интенсивно использует метафоры и понятия, традиционно применяемые к описанию человеческой интеллектуальной деятельности, что делает ее привлекательной и понятной, но от этого она не становится в чем-то принципиально новой по отношению к другим архитектурам, а, как представляется, только отдаляет возможность ее практической реализации. Однако авторы утверждают, что это наиболее простая архитектура автономного агента. Следует, однако, принимать во внимание, что это архитектура рассчитана на одного агента, который имеет одну цель и его функционирование направляется его собственными мотивами, которые автор называет интересами (“concerns”). Вопрос о методах кооперации и коммуникации агентов такой архитектуры авторы оставляют без внимания. Эта архитектура представлена на рис.13. Для того, чтобы агент функционировал в мире рационально, ему необходимы различные функции, включая восприятие. Авторы предполагают, что агент имеет для каждой из этих функций отдельный модуль. В частности, они предполагают, что агент имеет Сенсорный блок, Планировщик и Исполнительное устройство в качестве базовых модулей, которые каким-то образом должны быть интегрированы. ![]() Главной проблемой при этом является вопрос о том, как организовать совместную согласованную работу этих модулей, в частности, согласовать взаимодействие потоков информации и потоков управления. Чтобы решить проблему согласованного взаимодействия потоков информации, они предлагают применить нечто вроде схемы “бродкастинга”, когда соединены все входы и все выходы модулей между собой, так что любое сообщение, генерируемое тем или иным блоком становится доступным любому другому блоку. Все эти сообщения собираются в глобальном буфере, который называется Памятью. Все блоки могут читать информацию из Памяти, кроме Сенсоров, и все они могут писать информацию в Память, кроме Исполнительного устройства. Каждый модуль может просто брать информацию из памяти, когда ему это нужно. Авторы этой архитектуры полагают, что цели системы могут меняться и генерироваться “изнутри” агента, будучи обусловленными некими фундаментальными целями агента, которые авторы называют “интересами“ (“concerns”). ![]() Они определяются как некие предпочтения агента находиться в каких-то состояниях и каких-то состояний избегать. Когда агент получает информацию, которая в соответствии с его интересами отвечает предпочтительному состоянию (скажем, температура среды равна 20 градусов), то генерируется внутренний сигнал о том, что желательно, чтобы в этом состоянии среда оставалась и в будущем. Для каждого состояния внешней среды агент должен уметь оценивать меру его релевантности своим интересам (нечто вроде заряда статического электричества - в объяснении авторов). Это означает, что когда некий модуль обращается к памяти, он “видит“ тот ее фрагмент, который имеет “наибольший заряд“ и обрабатывает этот фрагмент. Наибольшее внимание модуля привлекается к тому событию, с которым агент не знает, что делать. Авторы утверждают, что главное новшество этой архитектуры в наличии блока Память и использовании понятия Интересы, однако модуль Память по существу близок к тому, что мы привыкли называть доской объявлений, а понятие Интересы по содержанию близко к известному в теории агентов понятию Желания агента. С другой стороны, авторы не анализируют сложность проблемы организации согласованной работы различных модулей агента в этой архитектуре, которая по существу может быть реализована только при высоком уровне самоорганизации системы, алгоритмы которой могут оказаться самым тонким местом при попытке реализации. 5.3.6.InteRRaP-архитектураОсновная идея этой архитектуры [36] в том, чтобы представить агента как множество уровней, которые связаны через управляющую структуру и используют общую ![]() Рис.14. InteRRaP-архитектура агента базу знаний. Эта архитектура представлена на рис.14. Она состоит из пяти основных частей: интерфейса с внешним миром; компоненты, основанной на поведении; планирующей компоненты; компоненты, ответственной за кооперацию с другими агентами и базы знаний агента. Интерфейс с внешним миром содержит возможности агента по восприятию событий внешнего мира, воздействия на него и средства коммуникации. Компонента, ответственная за реактивное поведение, использует базовые возможности агента по реактивному поведению, а также частично использует знания агента процедурного характера. Она базируется на понятии “фрагмента поведения” как некоторой заготовки реакции агента на некоторые стандартные ситуации. Это позволяет агенту в стандартных ситуациях не обращаться к планированию на основе знаний и реализовывать значительную часть своего поведения рутинным образом с хорошей эффективностью. Из базы знаний ей доступны только знания нижнего уровня абстракции, где содержится информация о фрагментах поведения. Компонента, ответственная за планирование, содержит механизм планирования, позволяющий строить локальные планы агента, т.е. планы, не связанные с кооперативным поведением. План представляется в виде графа, узлами которого могут быть либо конкретные наборы действий вплоть до элементарных шагов поведения, либо новые субпланы, подлежащие дальнейшей конкретизации. Таким образом, планирующая компонента активирует поведение (через нижележащую компоненту), направляемое целями. Она же участвует и в планировании, связанном с кооперативным поведением агентов. Эта компонента может использовать знания двух нижних уровней абстракции. Компонента, ответственная за кооперацию агентов, участвует в конструировании планов совместного поведения агентов для достижения некоторых общих целей или выполнения своих обязательств перед другими агентами, а также выполнения соглашений. Этой компоненте доступны знания всех трех уровней абстракции. База знаний агента имеет трехуровневую структуру и построена по принципу доски объявлений. Уровни базы знаний фактически отвечают уровням абстракции знаний в соответствии со структурой управляющих компонент. Модель мира агента содержит убеждения агента в соответствии с уровнем, ориентированным на поведение. Второй уровень соответствует модели ментальных знаний агента и знаниям о текущем ментальном состоянии агента (намерения, цели, планы). Наконец, третий уровень содержит знания и убеждения агента о других агентах, информацию о совместных планах, целях и намерениях, т.е. то, что связано с “общественным контекстом”. Внутри базы знаний, как уже отмечалось, возможен доступ с верхних уровней к нижним. Например, компонента, ответственная за поведение, не имеет доступа к знаниям о ментальной модели и к знаниям о кооперативном поведении. Общее управление поведением осуществляется путем коммуникаций между уровнями. При некотором входном событии агент пытается распознать ситуацию во внешнем мире и управление постепенно сдвигается снизу вверх до тех пор, пока не достигнет уровня, способного справиться с возникшей ситуацией. Очевидно, существует три варианта реакции агента на внешние события: -реакция с использованием только поведенческого уровня, когда этот уровень находит фрагмент поведения, адекватный ситуации, без явного привлечения локального планирования; -реакция с использованием локального планирования, когда задача перемещается с нижнего уровня на уровень локального планирования, где и конструируется план; -реакция с использованием уровня кооперативного планирования, когда поиск плана с уровня локального планирования перемещается дальше на уровень планирования кооперативного поведения. Конечно, существуют и более сложные варианты построения плана, когда, например, протокол взаимодействия между уровнем локального планирования и планирования кооперативного поведения предусматривает сложную схему обмена информацией, например, для построения оценок возможности решения некоторых задач многоагентной системы за заданное время. |