1. МНОГОАГЕНТНЫЕ СИСТЕМЫ: ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ТЕОРИИ И ПРАКТИКИ В.И. Городецкий Санкт-Петербургский институт информатики и автоматизации РАН [email_address] http://space.iias.spb.su/ai/gorodetsk y
4. Как устроена многоагентная система ? МАС – это множество агентов (посредников), реализующих парадигму « вычисления на основе взаимодействий » ( каждый агент что-то знает и что-то умеет, а вместе они могут очень много! ) МАС есть сеть слабо связанных решателей частных проблем (агентов), взаимодействующие для совместного решения задач, которые не под силу ни одному отдельному решателю Агенты Платформа
5.
6.
7.
8.
9. 2. Из чего состоит мультиагентная система? Пример архитектуры самоорганизующейся МАС
14. Некоторые результаты экспериментов Входной поток заявок . Приблизительно 1/3 всех входящих задач попадает на 11 и 13 узлы Среднее время ожидания задач в очередях Компьютеры временно недоступны Этот пик времени ожидания в очереди 20 узла соответствует выходу из сети 13 узла
24. Агенты и объекты Пассивность - активность Характер поведения 1. Агент может не только неоднозначно реагировать на специфические запросы, представленные во входящем сообщении, но также и самостоятельно реагировать на события во внешнем мире используя механизм «подписки» ( “subscribe”) , и / или информацию от сенсоров и принимать решение о выборе того или иного поведения. 2. Агент может запустить процесс по собственной инициативе (используя свои проактивные механизмы) . 1. Объект не может реагировать сам на события внешнего мира. Однако последние версии UML и Java обеспечивают возможность «слушать» внешний мир. Поведение объекта предопределено. 2. Объект не может запускать процессы по собственной инициативе. Агент является активной сущностью. Обращение к агенту- это «просьба», которую он может и не исполнять на основе принятых в МАС соглашений о взаимных обязательствах, в зависимости от своего внутреннего состояния и т.п., т.е. это решается агентом–потенциальным исполнителем. Объект является пассивной программной сущностью. Его методы вызываются некоторой внешней программной сущностью, и объект выполняет запрос безоговорочно Объекты Агенты
25. Агенты и объекты Характер поведения (продолжение) Интерактивность Агенты могут инициировать взаимодействие . Объекты не могут инициировать взаимодействие 3.Недетеминированная реакция . Агент может отказаться выполнять запрос (реагировать на сообщение), т.е. он может сказать «Нет», основываясь на соглашениях 4. Агент может объявлять свои сервисы и их интерфейсы, используя механизм сервисов белых и желтых страниц , 5. Агент может поддерживать сразу много нитей исполнения 3. Детерминированная реакция . Если объект говорит «нет» (не реагирует на запрос), то это исключительная ситуация, требующая специальной обработки 4. Объект не может объявлять свои интерфейсы . ОО языки позволяют только спросить объект о его интерфейсах 5. Объект может поддерживать только одну нить исполнения Объекты Агенты
26. Агенты и объекты Асинхронность работы Формат сообщений Содержание входного сообщения агента имеет более свободную форму в виде строки на языке высокого уровня Объект имеет только один метод на каждый тип входного сообщения , и формат сообщения должен строго соблюдаться. Коммуникации агента обычно асинхронные и поддерживают параллельную обработку. Агент может поддерживать сразу несколько диалогов , решая самостоятельно вопрос об очередности участия в них (в зависимости от своего внутреннего состояния). Агент сам решает, как чередовать диалоги с решением задач (когда переходить от «внешнего» поведения к «внутреннему») Объекты не поддерживают асинхронный режим. Объекты Агенты
27. Агенты и объекты Способность к обучению Способность к миграции Агенты и объекты могут сравниваться, но не противопоставляться друг другу. Некоторые компоненты МАС реализуются как объекты. МАС всегда имеет внешние компоненты, которые тоже пишутся в ОО стиле. Инфраструктура (агентская платформа) тоже может быть реализована в объектном стиле. Агент может быть обеспечен способностью к миграции по сети . Объект не может мигрировать по сети. Агент же может исполнять множество различных ролей в зависимости от контекста задачи Атрибуты агента задаются его классом. Если агент снабжен способностью к обучению, то он может менять свои атрибуты в процессе работы . Объект создается классом и не изменяется далее. Хотя понятие роли используется в ОО и поддерживается некоторыми языками, но далеко не всеми Атрибуты объекта задаются его классом. Объект не может менять свои атрибуты в процессе работы Объекты Агенты
41. Пример архитектуры: Архитектура Cougaar (разработана DARPA по заказу Минобороны США) Сервер типа «доска объявлений» - осуществляет обмен данными между агентами, а также с «внешним миром». Клиент приема/передачи сообщений - обеспечивает транспортировку сообщений Планировщик - управляет порядком выполнения подключаемых модулей Таймеры - используются подключаемыми модулями при обращениях к планировщику Подключаемые модули - готовые программы, разрабатываемые для каждого конкретного приложения; подключаются к агенту или заранее, или «на лету» ( сервисы , доступные другим агентам, или индивидуальные функции агента. Агент строится на основе COM–технологии , позволяющей расширять множество сервисов или заменять существующие сервисы другими программными реализациями при минимальном изменении программного кода Разработана для широкого круга военных приложений, в частности, для задач военной логистики. Типовой агент Обработчики Клиент приема / передачи сообщений Таймеры Планировщик Доска объявлений Подключаемые модули
42.
43. InteRRaP - архитектура Компонента, ответственная за кооперативное поведение Компонента, ответственная за планирование Реактивная компонента Знания, относящиеся к кооперативному поведению (общественный контекст) Совместные планы и цели Знания о процессах планирования (ментальный контекст ) Локальные планы и цели Модели внешнего мира Фрагменты реактивного поведения Компонента управления агентом Иерархическая база знаний агента Воздействия Коммуникации Восприятие Интерфейс с внешним миром Увеличение уровня абстракции
45. Мультиагентная система (напоминание) МАС– это множество агентов (посредников), реализующих парадигму «вычисления на основе взаимодействий» Платформа Агенты Два новых аспекта: 1. Для чего агенты взаимодействуют и какова модель их взаимодействия? 2. Как это взаимодействие реализуется (программно-коммуникационная инфраструктура для поддержки взаимодействия – платформа агентов )?
65. Архитектура платформы JADE Экземпляр платформы 1 Container DF Агент Агент Агент Агент Агент Экземпляр Платформы 2 Main container DF Container DF Агент Агент Агент Main container DF AMS Сеть AMS
66. Виртуализация взаимодействия агентов: P2P агентская платформа Оверлейные сети, построенные над TCP/IP, обеспечивающие “ прозрачное ” взаимодействие прикладных агентов (JXTA technology ) В.И. Городецкий, О.В. Карсаев, В.В. Самойлов, Серебряков, С.В. Инструментальные средства для открытых сетей агентов. Известия РАН. "Теория и Системы Управления", Москва: Наука, 2008. №. 3, 106-124 . TCP/IP транспорт ( Транспортный уровень ) Агент Агент Агент Уровень взаимодействия прикладных агентов, поддерживаемый P2P платформой агентов Сенсор Сенсор Сенсор Агент Агент Агент Уровень коммуникационного сервиса Сенсор Сенсор Сенсор P2P платформа агента Другие потребители P2P сервиса Уровень P2P коммуник. протоколов Оверлейная сеть экземпляров P2P платформы агентов P2P платформа агента Другие потребители P2P сервиса P2P коммуникационный сервис P2P коммуникационный сервис Распределенные “ желтые ” и “ белые ” страницы
67. Реализованная P2P платформа агента: Функциональная архитектура Пир предоставляет коммуникационные каналы с другими пирами , а также управляет своим листом контактов , который содержит соседей данного пира, т.е. те узлы, с которыми существуют коммуникационные каналы. Агентская платформа предоставляет сервисы агентам, которые зарегистрированы на платформе. В текущей реализации, агентская платформа поддерживает поиск агентов и сервисов (реализуется как распределённый поиск в P2P среде, используя протокол gossiping ), взаимодействие между агентами (маршрутизация сообщений от одного агента к другим). Разработка и реализация протоколов взаимодействия компонент данной функциональной архитектуры- основная работа по созданию платформы, которая выполнена в лаборатории P2P провайдер Типовые сервисы агента P2P платформа агента Интерфейс P2P провайдера P2P транспорт над TCP/IP Лист контактов Сценарии переговоров Сценарий поиска сервисов Агент “ желтых страниц ” Агент “ белых ” страниц ”