МНОГОАГЕНТНЫЕ СИСТЕМЫ: ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ТЕОРИИ И ПРАКТИКИ   В.И. Городецкий Санкт-Петербургский институт инфор...
Содержание <ul><li>1. Что же это такое – мультиагентная система? </li></ul><ul><li>2. Из чего состоит мультиагентная систе...
1. Что же это такое – мультиагентная система ?
Как устроена многоагентная система ? МАС – это множество агентов (посредников), реализующих парадигму  « вычисления на осн...
Характерные черты многоагентных систем <ul><li>Основные признаки программ, называемых многоагентными </li></ul><ul><li>1. ...
Существует ли область науки, специально занимающаяся проблемами МАС? <ul><li>Мультиагентные системы – это область исследов...
В чем секрет популярности  парадигмы мультиагентной системы ? <ul><li>–  МАС-технология   дает возможность создания интелл...
<ul><li>Иерархии больших программ  </li></ul><ul><li>Последовательное выполнение операций  </li></ul><ul><li>Инструкции св...
2. Из чего состоит мультиагентная система?  Пример архитектуры самоорганизующейся МАС
Постановка задачи управления нагрузкой на компьютеры ГРИД на основе самоорганизации <ul><li>3.  Узлы ГРИД   могут свободно...
Архитектура самоорганизующейся  P2P  МАС
Самоорганизация <ul><li>1.  В каждом узле ГРИД имеется программа–- агент (посредник) с . .   идентичной функциональностью ...
Эксперименты: Топология ГРИД Число узлов 30-50,   связность  ( число соседей )=[3 — 6]
Некоторые результаты экспериментов   Входной поток заявок .  Приблизительно  1/3  всех входящих задач попадает на  11  и  ...
Некоторые результаты экспериментов Весь поток заявок поступает на   8-ой узел Среднее время ожидания заявок в очередях
Мультиагентная система автономного управления воздушным движением в особых ситуациях
3. Что такое агент?
Что такое агент ? <ul><ul><ul><li>“ Агент - это  автономная  компьютерная программа, которая находится в некоторой  среде ...
Агент – это программа–посредник и не только <ul><ul><ul><li>Агент – это программный посредник между человеком и внешней ср...
Упрощенная модель агента <ul><li>A=<D, T, A, perceive, infer, select, act> </li></ul><ul><li>perceive :  S   T – модель с...
Свойства интеллектуального агента <ul><li>Автономность – способность функционировать без вмешательства человека, осуществл...
Ментальные свойства агента <ul><li>Поведенческие </li></ul><ul><li>Знания  – постоянная часть знаний агента о себе, о сред...
Другие свойства интеллектуального агента <ul><li>Мобильность  ( mobility ) – способность  агента  мигрировать  по сети ( e...
Агенты и объекты   Пассивность - активность  Характер поведения 1. Агент может не только  неоднозначно  реагировать на спе...
Агенты и объекты   Характер поведения (продолжение) Интерактивность Агенты  могут инициировать  взаимодействие .  Объекты ...
Агенты и объекты   Асинхронность работы   Формат сообщений Содержание  входного сообщения агента имеет  более свободную фо...
Агенты и объекты  Способность к обучению   Способность к миграции Агенты и объекты могут сравниваться, но не  противопоста...
Классификация агентов по типу формальной модели, лежащей в основе программного агента <ul><li>1. Реактивные агенты   [ Bro...
Реактивная архитектура   для управления поведением автономного робота (Subsumption-архитектура) <ul><li>Модули функциониру...
Недостатки реактивной архитектуры <ul><li>Необходимость  полного  ситуационного  определения  всех возможных  действий  аг...
Архитектура, управляемая целями  ( Belief – Desire – Intention, BDI) <ul><li>Основная мотивация  создателей  BDI –  архите...
Архитектура, управляемая целями  ( Belief-Desire-Intention,   BDI ) <ul><li>Процесс принятия решений </li></ul><ul><li>Вып...
Архитектура, управляемая целями: намерение <ul><li>Понятие   намерения   является центральным для  BDI  - агента   </li></...
Почему в  BDI  - модели агента  “ не работает ”  классическая логика ? <ul><li>Пример </li></ul><ul><li>Пусть в убеждениях...
Требования к языкам формализации  BDI -  агента <ul><li>BDI –  логика должна обладать выразительными возможностями, которы...
Общее сравнение реактивной и  BDI -  архитектур <ul><li>Реактивные агенты  принимают решения на основе локальной информаци...
Гибридная архитектура <ul><li>Рассматривается учеными как  наиболее перспективный  на сегодняшний день подход </li></ul><u...
Другие архитектуры программного агента <ul><li>В соответствии с существующей классификацией выделяют также  </li></ul><ul>...
Наиболее популярные конкретные архитектуры
Оценки агентских архитектур
Пример архитектуры: Архитектура  Cougaar   (разработана  DARPA  по заказу Минобороны США) Сервер типа «доска объявлений»  ...
Архитектура  Cougaar  – одна из наиболее передовых разработок в области МАС (так все полагают) <ul><li>Причины популярност...
InteRRaP   -   архитектура   Компонента, ответственная за кооперативное поведение Компонента, ответственная за планировани...
4. Мультиагентные системы
Мультиагентная система (напоминание) МАС– это множество агентов (посредников), реализующих парадигму  «вычисления на основ...
Виды взаимодействия агентов <ul><li>Взаимодействие агентов  определяет их  коллективное поведение , которое может иметь ра...
Типы объединений агентов, связанных взаимными обязательствами <ul><li>Альянс :  взаимные  обязательства  агентов относител...
Роли агентов в коллективном поведении  <ul><li>Роль  – это  задачи , которые решает агент в некотором  функциональном конт...
Два взгляда на модель многоагентной системы <ul><li>Поведение агента в МАС </li></ul><ul><li>Внутреннее поведение , которо...
5. Коммуникации агентов многоагентной системы
Языки и протоколы обмена сообщениями (1) <ul><li>Способность агента к коммуникациям   ( обмену сообщениями )  с другими аг...
Языки и протоколы обмена сообщениями (2) <ul><li>В основу коммуникации агентов положена теория речевых актов , которая был...
Языки и протоколы обмена сообщениями (3) <ul><li>Три аспекта коммуникаций </li></ul><ul><ul><li>синтаксический  (как струк...
KQML–протокол коммуникаций  <ul><li>На  нижнем  (транспортном) уровне протокол описывает,  механизм пересылки  сообщения, ...
Синтаксис языка KQML <ul><li>Базируется на хорошо известных  S-выражениях , которые использовались в языке LISP.  </li></u...
Семантика языка  KQML <ul><li>Семантика  сообщения описывается   полями после следующих служебных слов: </li></ul><ul><ul>...
Отличия языка  FIPA ACL  от языка  KQML  (1) <ul><li>Отличия по заданию семантики языка   </li></ul><ul><li>В FIPA ACL  ст...
Языки описания содержания сообщений <ul><li>Для описания  содержания  сообщения могут быть использованы различные языки.  ...
6. Агентские платформы
Агентская платформа:  FIPA  абстрактная архитектура   (основные сервисы и функции) FIPA  платформа агентов Директорий аген...
Абстрактная архитектура агентской платформы  FIPA <ul><li>Для того, чтобы конкретная архитектура была  совместима с абстра...
Сравнение  FIPA- совместимых агентских платформ
Платформа  FIPA-OS ( FIPA Open Source   ) <ul><li>FIPA - OS  есть  открытая платформа  для интеграции гетерогенных агентов...
Платформа  JADE -  Java Agent DEvelopment  f ramework  <ul><li>Разработана  Telecom Italia Lab . Реализована на языке  JAV...
Архитектура платформы  JADE Экземпляр  платформы  1 Container DF Агент Агент Агент Агент Агент Экземпляр  Платформы 2 Main...
Виртуализация взаимодействия агентов:  P2P  агентская платформа Оверлейные сети, построенные над  TCP/IP,  обеспечивающие ...
Реализованная  P2P  платформа агента: Функциональная архитектура   Пир  предоставляет коммуникационные каналы с другими пи...
7. Модели координации поведения агентов
Причины, обуславливающие необходимость координации группового поведения <ul><li>Объекты функционируют в общей внешней сред...
Общие принципы координации (1 ) <ul><li>[ M.Mesarovic  et al , 1970 ] сформулированы три базовых принципа координации в сл...
Общие принципы координации (2 ) <ul><li>В теории многоагентных систем  координация  рассматривается как  процесс , в котор...
Замечание о двух аспектах процессов координации <ul><li>В любом механизме координации следует выделять два аспекта: </li><...
Общие принципы координации (3 ) <ul><li>В основе большинства известных методов координации МАС, явно или неявно, лежит пон...
1.  Координация с помощью общих правил группового поведения  ( social   laws ) <ul><li>Обычно такой подход используется (и...
2. Координация поведения на основе обмена  мета - информацией <ul><li>Мета – информация – это  приоритеты на множестве под...
3. Координация на основе планирования (заимствует опыт разработок ...
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Mas
Upcoming SlideShare
Loading in...5
×

Mas

3,172

Published on

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
3,172
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
89
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Mas

  1. 1. МНОГОАГЕНТНЫЕ СИСТЕМЫ: ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ТЕОРИИ И ПРАКТИКИ В.И. Городецкий Санкт-Петербургский институт информатики и автоматизации РАН [email_address] http://space.iias.spb.su/ai/gorodetsk y
  2. 2. Содержание <ul><li>1. Что же это такое – мультиагентная система? </li></ul><ul><li>2. Из чего состоит мультиагентная система? Пример архитектуры самоорганизующейся МАС </li></ul><ul><li>3. Что такое агент? </li></ul><ul><li>4. Мультиагентные системы </li></ul><ul><li>5. Коммуникации агентов </li></ul><ul><li>6. Агентские платформы </li></ul><ul><li>7. Модели координации поведения агентов </li></ul><ul><li>8. Области приложений многоагентных технологий и систем </li></ul><ul><li>9. Многоагентные приложения, которые были разработаны в лаб. интеллектуальных систем СПИИРАН </li></ul><ul><li>10 . Современные направления исследований в области теории и практики МАС </li></ul>
  3. 3. 1. Что же это такое – мультиагентная система ?
  4. 4. Как устроена многоагентная система ? МАС – это множество агентов (посредников), реализующих парадигму « вычисления на основе взаимодействий » ( каждый агент что-то знает и что-то умеет, а вместе они могут очень много! ) МАС есть сеть слабо связанных решателей частных проблем (агентов), взаимодействующие для совместного решения задач, которые не под силу ни одному отдельному решателю Агенты Платформа
  5. 5. Характерные черты многоагентных систем <ul><li>Основные признаки программ, называемых многоагентными </li></ul><ul><li>1. Каждый агент имеет неполную информацию о среде, имеет собственную модель внешней среды и ограниченные возможности по решению &quot;своей&quot; проблемы. </li></ul><ul><li>2. Глобальное управление агентами ограничено или отсутствует. </li></ul><ul><li>3. Данные , которые используются агентами, децентрализованы и часть их может являться &quot; собственностью &quot; отдельных агентов. </li></ul><ul><li>4. Агенты функционируют в асинхронном режиме. </li></ul><ul><li>5. Агенты координируют свои действия путем обмена сообщениями на языке высокого уровня </li></ul>МАС есть сеть слабо связанных решателей частных проблем (агентов), которые способны решать задачи которые не под силу ни одному отдельному решателю
  6. 6. Существует ли область науки, специально занимающаяся проблемами МАС? <ul><li>Мультиагентные системы – это область исследований и разработок, относящаяся к информационным технологиям </li></ul><ul><li>В ней можно выделить самостоятельные объекты исследования, а именно, мультиагентную архитектуру и мультиагентную технологию. </li></ul><ul><li>Как и любая другая ИТ, она активно использует методы, модели и другие результаты и решения из самых различных областей. </li></ul><ul><li>Но специфика их использования в рамках мультиагентной архитектуры требует большого объема новых исследований в различных областях: </li></ul><ul><ul><li>специфических, e.g. распределенных моделей рассуждений, </li></ul></ul><ul><ul><li>языков спецификации моделей и языков переговоров агентов , </li></ul></ul><ul><ul><li>протоколов взаимодействия ( обмен информацией, решение задач ) , </li></ul></ul><ul><ul><li>теории доверия (как совместить открытость и безопасность?) , </li></ul></ul><ul><ul><li>моделей коллективного поведения (роботов) </li></ul></ul><ul><ul><li>распределенных и P2P алгоритмов, </li></ul></ul><ul><ul><li>методов машинного обучения </li></ul></ul><ul><ul><li>теории игр и многих других. </li></ul></ul><ul><ul><li>Соответствующие исследования ведутся специалистами в области МАС </li></ul></ul>
  7. 7. В чем секрет популярности парадигмы мультиагентной системы ? <ul><li>– МАС-технология дает возможность создания интеллектуальных компьютерных систем нового поколения, построенных на принципах самоорганизации, характерных для поведения живых систем . </li></ul><ul><li>– МАС строится как множество автономных агентов, взаимодействующих на языке высокого уровня , способных воспринимать и коллективно оценивать ситуацию , принимать решения в реальном времени и обучаться на основе обратной связи, отражающей качество управления. Это принципиально новое качество! </li></ul><ul><li>– В такой системе решение любой сложной задачи и используемые для этого алгоритмы могут формироваться за счет взаимодействия большого количества агентов, непрерывно взаимодействующих друг с другом, а также координирующих коллективное поведение. </li></ul><ul><li>– Это позволяет мультиагентной системе решать задачи самой высокой сложности, не поддающиеся решению другими подходами. </li></ul>
  8. 8. <ul><li>Иерархии больших программ </li></ul><ul><li>Последовательное выполнение операций </li></ul><ul><li>Инструкции сверху вниз </li></ul><ul><li>Централизованные решения </li></ul><ul><li>Управляются данными </li></ul><ul><li>Предсказуемость </li></ul><ul><li>Стабильность </li></ul><ul><li>Централизованное управление </li></ul>Особенности мультиагентных систем <ul><li>Большие сети малых агентов </li></ul><ul><li>Параллельное выполнение операций </li></ul><ul><li>Переговоры на языке высокого уровня </li></ul><ul><li>Распределённые решения </li></ul><ul><li>Управление от знаний </li></ul><ul><li>Самоорганизация </li></ul><ul><li>Эволюция </li></ul>Классические системы Мультиагентные системы Новый агент
  9. 9. 2. Из чего состоит мультиагентная система? Пример архитектуры самоорганизующейся МАС
  10. 10. Постановка задачи управления нагрузкой на компьютеры ГРИД на основе самоорганизации <ul><li>3. Узлы ГРИД могут свободно покидать систему и присоединяться к ней в любое время, либо узлы могут быть мобильными </li></ul><ul><li>4 . ГРИД имеет ad-hoc архитектуру, и каждый узел может пересылать свои заявки для выполнения соседям для балансировки загрузки </li></ul><ul><li>5 . Цель управления – обеспечить качество сервиса ( QoS) обработки заявок настолько, насколько возможно (QoS определяется средним временем ожидания заявок в очереди каждого узла ) и обеспечить равномерную нагрузку на компьютеры ГРИД </li></ul>1. Заявки поступают на узлы ( компьютеры ) ГРИД случайно и добавляются в очереди узлов 2. Задачи могут иметь различную трудоемкость , компьютеры – различную производительность ( мощность ). Рассматривается единственный ресурс ГРИД – вычислительный .
  11. 11. Архитектура самоорганизующейся P2P МАС
  12. 12. Самоорганизация <ul><li>1. В каждом узле ГРИД имеется программа–- агент (посредник) с . . идентичной функциональностью . Агентам неизвестны: : </li></ul><ul><ul><li>Топология ГРИД ’ а и общее число узлов сети (компьютеров) </li></ul></ul><ul><ul><li>Трудоемкость заявок в очередях собственного узла ( время, необходимое на обработку каждой заявки ) </li></ul></ul><ul><li>2. Каждый агент “ знает ” своих соседей и может взаимодействовать только с ними ; он “ не знает ” ничего о: </li></ul><ul><ul><li>Числе заявок в очередях соседних компьютеров </li></ul></ul><ul><ul><li>Производительности соседних компьютеров </li></ul></ul><ul><li>3. Стратегия используемая для самоорганизации : Пошаговый обмен задачами между соседними узлами ГРИД ’ а . На каждом шаге , каждый агент передает агентам соседних узлов некоторое количество своих заявок ( N ) , пропорциональное </li></ul><ul><li>– общей длине его очереди ( Q ) </li></ul><ul><li>– числу его соседей ( M ) </li></ul><ul><li>Каждый узел ГРИД ’ а занят обработкой заявки, которая была первой в очереди, когда завершилась обработка предыдущей заявки . </li></ul>
  13. 13. Эксперименты: Топология ГРИД Число узлов 30-50, связность ( число соседей )=[3 — 6]
  14. 14. Некоторые результаты экспериментов Входной поток заявок . Приблизительно 1/3 всех входящих задач попадает на 11 и 13 узлы Среднее время ожидания задач в очередях Компьютеры временно недоступны Этот пик времени ожидания в очереди 20 узла соответствует выходу из сети 13 узла
  15. 15. Некоторые результаты экспериментов Весь поток заявок поступает на 8-ой узел Среднее время ожидания заявок в очередях
  16. 16. Мультиагентная система автономного управления воздушным движением в особых ситуациях
  17. 17. 3. Что такое агент?
  18. 18. Что такое агент ? <ul><ul><ul><li>“ Агент - это автономная компьютерная программа, которая находится в некоторой среде , и которая способна к автономному поведению , направленному на реализацию целей , ради которых она (программа) была создана&quot;. </li></ul></ul></ul><ul><ul><ul><li>“ Программный агент - это автономная программа, которая находится в некоторой среде, от которой она получает данные , которые отражают события , происходящие в среде , интерпретирует их и воздействует на среду “ [FIPA] . </li></ul></ul></ul>
  19. 19. Агент – это программа–посредник и не только <ul><ul><ul><li>Агент – это программный посредник между человеком и внешней средой </li></ul></ul></ul><ul><ul><ul><li>Агент – это программный посредник между человеком и другими программами , или посредник между программами , или посредник между программами и внешней средой или посредник между человеком и внешней средой </li></ul></ul></ul>Агент Поиск информации в Интернет (музыка, кино, расписание самолетов, ресторан, научная литература,…) Запуск программ и управление ими Удаленное управление домашними устройствами ( ‘Smart Home” ) …………… .. Удаленная работа на бирже Автоматическое управление электронной почтой (сортировка писем, напоминание, …) Покупки в Интернет - магазине
  20. 20. Упрощенная модель агента <ul><li>A=<D, T, A, perceive, infer, select, act> </li></ul><ul><li>perceive : S  T – модель среды, которой обладает агент. Модель среды, используемая агентом, лишь приблизительно отвечает ее реальному состоянию; </li></ul><ul><li>infer : D  T  D – задает изменение знаний агента о внешней среде после получения о ней информации с помощью функции восприятия perceive ; </li></ul><ul><li>select : D  T  A – определяет выбор действий агента после получения информации о внешней среде в контексте нового состояния базы данных D и состояния среды T ; </li></ul><ul><li>act : A  S  S , – определяет изменение состояние внешней среды после воздействия на нее агента. </li></ul>Агент perceive act infer select S – множество состояний внешней среды (агент существует в среде), D – база данных, где хранятся знания агента, T – множество состояний внешней среды, которое агент способен воспринимать, A – множество действий, которое способен исполнять агент. S A T D
  21. 21. Свойства интеллектуального агента <ul><li>Автономность – способность функционировать без вмешательства человека, осуществляя самоконтроль над своими действиями и внутренним состоянием. </li></ul><ul><li>Общественное поведение ( social ability )–способность функционировать в сообществе агентов, обмениваясь сообщениями с помощью некоторого языка коммуникаций. </li></ul><ul><li>Реактивность ( reactivity )– способность воспринимать состояние среды и своевременно реагировать на ее изменения. </li></ul><ul><li>Проактивность ( proactivity ) - способность действовать в упреждающей манере, в частности, генерировать новые цели и действовать рационально для их достижения, а не только реагировать на события. </li></ul>
  22. 22. Ментальные свойства агента <ul><li>Поведенческие </li></ul><ul><li>Знания – постоянная часть знаний агента о себе, о среде, и о других агентах. </li></ul><ul><li>Убеждения – возможно, недостоверные знания агента о внешней среде и о других агентах, которые могут изменяться во времени и становиться неверными. </li></ul><ul><li>Мотивационные </li></ul><ul><li>Желания –состояния, достижение которых является для агента желательным. Они могут быть противоречивыми, но агент может выбирать только их непротиворечивое подмножество. </li></ul><ul><li>Намерения –то, что агент обязан сделать в соответствии со своим выбором или в силу своих обязательств по отношению к другим агентам. </li></ul><ul><li>Цели –конкретное множество конечных и промежуточных состояний, достижение которых агент считает реализацией своих намерений , </li></ul><ul><li>Обязательства –те задачи, которые агент берет на себя по просьбе или по поручению других агентов в рамках кооперативных целей. </li></ul>
  23. 23. Другие свойства интеллектуального агента <ul><li>Мобильность ( mobility ) – способность агента мигрировать по сети ( e.g., в сети Internet) в поисках необходимой информации или сервисов. </li></ul><ul><li>Благожелательность ( benevolence ) – готовность агентов помогать друг другу, что предполагает отсутствие у агентов конфликтующих целей. </li></ul><ul><li>Правдивость ( veracity ) – свойство агента не манипулировать информацией, про которую ему заведомо известно, что она ложна. </li></ul><ul><li>Рациональность ( rationality ) – свойство агента действовать так, чтобы достигнуть своих целей, а не избегать их достижения в рамках своих знаний и убеждений. </li></ul>
  24. 24. Агенты и объекты Пассивность - активность Характер поведения 1. Агент может не только неоднозначно реагировать на специфические запросы, представленные во входящем сообщении, но также и самостоятельно реагировать на события во внешнем мире используя механизм «подписки» ( “subscribe”) , и / или информацию от сенсоров и принимать решение о выборе того или иного поведения. 2. Агент может запустить процесс по собственной инициативе (используя свои проактивные механизмы) . 1. Объект не может реагировать сам на события внешнего мира. Однако последние версии UML и Java обеспечивают возможность «слушать» внешний мир. Поведение объекта предопределено. 2. Объект не может запускать процессы по собственной инициативе. Агент является активной сущностью. Обращение к агенту- это «просьба», которую он может и не исполнять на основе принятых в МАС соглашений о взаимных обязательствах, в зависимости от своего внутреннего состояния и т.п., т.е. это решается агентом–потенциальным исполнителем. Объект является пассивной программной сущностью. Его методы вызываются некоторой внешней программной сущностью, и объект выполняет запрос безоговорочно Объекты Агенты
  25. 25. Агенты и объекты Характер поведения (продолжение) Интерактивность Агенты могут инициировать взаимодействие . Объекты не могут инициировать взаимодействие 3.Недетеминированная реакция . Агент может отказаться выполнять запрос (реагировать на сообщение), т.е. он может сказать «Нет», основываясь на соглашениях 4. Агент может объявлять свои сервисы и их интерфейсы, используя механизм сервисов белых и желтых страниц , 5. Агент может поддерживать сразу много нитей исполнения 3. Детерминированная реакция . Если объект говорит «нет» (не реагирует на запрос), то это исключительная ситуация, требующая специальной обработки 4. Объект не может объявлять свои интерфейсы . ОО языки позволяют только спросить объект о его интерфейсах 5. Объект может поддерживать только одну нить исполнения Объекты Агенты
  26. 26. Агенты и объекты Асинхронность работы Формат сообщений Содержание входного сообщения агента имеет более свободную форму в виде строки на языке высокого уровня Объект имеет только один метод на каждый тип входного сообщения , и формат сообщения должен строго соблюдаться. Коммуникации агента обычно асинхронные и поддерживают параллельную обработку. Агент может поддерживать сразу несколько диалогов , решая самостоятельно вопрос об очередности участия в них (в зависимости от своего внутреннего состояния). Агент сам решает, как чередовать диалоги с решением задач (когда переходить от «внешнего» поведения к «внутреннему») Объекты не поддерживают асинхронный режим. Объекты Агенты
  27. 27. Агенты и объекты Способность к обучению Способность к миграции Агенты и объекты могут сравниваться, но не противопоставляться друг другу. Некоторые компоненты МАС реализуются как объекты. МАС всегда имеет внешние компоненты, которые тоже пишутся в ОО стиле. Инфраструктура (агентская платформа) тоже может быть реализована в объектном стиле. Агент может быть обеспечен способностью к миграции по сети . Объект не может мигрировать по сети. Агент же может исполнять множество различных ролей в зависимости от контекста задачи Атрибуты агента задаются его классом. Если агент снабжен способностью к обучению, то он может менять свои атрибуты в процессе работы . Объект создается классом и не изменяется далее. Хотя понятие роли используется в ОО и поддерживается некоторыми языками, но далеко не всеми Атрибуты объекта задаются его классом. Объект не может менять свои атрибуты в процессе работы Объекты Агенты
  28. 28. Классификация агентов по типу формальной модели, лежащей в основе программного агента <ul><li>1. Реактивные агенты [ Brooks -86], </li></ul><ul><li>В них решения вырабатываются на основе таблиц &quot;ситуация–действие&quot;, а формальной моделью таких агентов является конечный автомат. </li></ul><ul><li>Базовая идея : интеллект искусственной системы (агента) возникает в результате взаимодействия между системой и средой , в которой эта система функционирует (как в живой системе). Поэтому интеллектуальное поведение агента возникает как композиция более простых актов поведения в среде, структурированных некоторым образом. Интеллект не является свойством некой абстрактной системы типа системы автоматического доказательства теорем или подобной ей. </li></ul><ul><li>Архитектура реактивного агента не использует символьных представлений или моделей рассуждений и в общем случае представляет собой описание множества вариантов поведения (&quot;модулей поведения ”) , решающих некоторое множество задач. Модули поведения обычно представляются моделями конечных автоматов с внутренними состояниями и обратной связью с ранее выполненными актами поведения. Обычно эти автоматы структурированы в несколько уровней , соответствующих уровням абстракции поведения. </li></ul><ul><li>В практических реализациях эта архитектура наиболее востребована </li></ul><ul><li>[Brooks-86] Intelligence without representation. Artificial Intelligence, vol.47. 1991, 139-159 . </li></ul>
  29. 29. Реактивная архитектура для управления поведением автономного робота (Subsumption-архитектура) <ul><li>Модули функционируют параллельно – каждый из них получает сенсорные данные и генерирует действия для приводов робота. Взаимодействия между модулями предопределены: они фиксированы и построены на отношении подчиненности. Для исполнения могут быть выбраны одновременно несколько действий. В этом случае приоритет отдается решениям, принятым нижними уровнями, а решения более высоких уровней игнорируются. </li></ul><ul><li>Агенты, имеющие такую архитектуру, демонстрируют возможность решать сравнительно сложные задачи. </li></ul>Уровень 0 Исполнительные механизмы Сенсоры Уровень 1 Уровень 2 Уровень 3 Уровень, обеспечивающий достижение цели Уровень, обеспечивающий избежание столкновений
  30. 30. Недостатки реактивной архитектуры <ul><li>Необходимость полного ситуационного определения всех возможных действий агентов (автономных действий, действий по взаимодействию в соответствии с протоколами) </li></ul><ul><li>Агенты без модели среды, а потому они должны иметь достаточно информации от локальной среды </li></ul><ul><li>Сложность создания обучающихся агентов </li></ul><ul><li>Сложность в проектировании агентов с многочисленными вариантами поведения (динамическим взаимодействием) </li></ul>
  31. 31. Архитектура, управляемая целями ( Belief – Desire – Intention, BDI) <ul><li>Основная мотивация создателей BDI – архитектуры [Bratman -87 ] – это желание смоделировать &quot;практические рассуждения &quot; человека в тех ситуациях, в которых приходится принимать решения агенту. Поэтому эта архитектура во многом строится по аналогии с процессами рассуждений и принятия решений человеком. </li></ul><ul><li>Для этого необходимо, чтобы BDI агент обладал необходимыми знаниями , информацией о среде ( убеждениями ), а также мощными механизмами рассуждений о различных компонентах ментальной модели , которые позволят ему динамически формировать свое поведение в соответствии с его базой знаний ( логика знаний ), намерениями ( логика намерений ), множеством целей ( механизм планирования шагов по достижению цели). </li></ul><ul><li>Формальные модели знаний, убеждений, а также соответствующие механизмы рассуждений строятся на основе логических языков, которые включают в себя расширения модальных и темпоральных логик с семантикой возможных миров [Hintikka, Kripke] . </li></ul>
  32. 32. Архитектура, управляемая целями ( Belief-Desire-Intention, BDI ) <ul><li>Процесс принятия решений </li></ul><ul><li>Выполняется с использованием механизмов вывода на основе ментальных понятий агента , представленных некоторыми структурами знаний. Поскольку эти ментальные понятия связывают мотивационные и поведенческие понятия, то эта архитектура называется также архитектурой, управляемой целями ( goal - oriented ). </li></ul><ul><li>Схема поведения BDI - агента </li></ul><ul><li>На основе приоритетов на желаниях ( desire ) агент выбирает конкретное желание, </li></ul><ul><li>Формулирует намерение ( intention ) , которое реализует это желание, </li></ul><ul><li>Берет обязательство ( commitment ) действовать соответственно намерению, </li></ul><ul><li>Выбирает конкретную цель ( goal ), реализующую его намерение, </li></ul><ul><li>(1 -4: этапы целеполагания – deliberation ) </li></ul><ul><li>Строит деревья подцелей, ведущих к реализации намерения, и выбирает одно их них </li></ul><ul><li>Выбирает очередную подцель из дерева целей и </li></ul><ul><li>Выбирает действие, ведущее к ее достижению. </li></ul><ul><li>( 5 – 7: этапы рассуждений о способах достижения цели и подцелей , means - ends reasoning ) </li></ul><ul><li>Когда агент достигает цели , или убеждается в ее недостижимости или и зменяет приоритеты на множестве желаний, агент повторяет свое поведение в соответствии с тем же стандартным циклом. </li></ul><ul><li>A. Rao, M. Georgeff. BDI Agents: From Theory to Practice. Proc. of the 1 st Int. Conf. on M AS , San Francisco, 1995. </li></ul>
  33. 33. Архитектура, управляемая целями: намерение <ul><li>Понятие намерения является центральным для BDI - агента </li></ul><ul><li>Если достижение некоторого намерения принято в качестве цели действий, то </li></ul><ul><li>агент стремится достичь этой цели всеми доступными ему путями до тех пор, </li></ul><ul><li>пока он не убедится, что </li></ul><ul><ul><ul><li>( 1) либо эта цель уже достигнута , </li></ul></ul></ul><ul><ul><ul><li>(2) либо цель стала недостижимой , </li></ul></ul></ul><ul><ul><ul><li>(3) либо цель перестала быть актуальной . </li></ul></ul></ul><ul><li>Информация о статусе цели может быть сформирована как самим агентом по </li></ul><ul><li>результатам восприятия и обработки информации из внешней среды, так и </li></ul><ul><li>получена им от других агентов. Например, в примере с футболом роботов, </li></ul><ul><li>агент, принявший намерение &quot; отобрать мяч &quot; не должен отказываться от </li></ul><ul><li>этого намерения до тех пор, пока </li></ul><ul><ul><ul><li>a. либо он не овладеет мячом (&quot; цель достигнута &quot;), </li></ul></ul></ul><ul><ul><ul><li>б. либо другой игрок своей команды не овладеет мячом (&quot; цель нерелевантна) , </li></ul></ul></ul><ul><ul><ul><li>в. либо мяч не выйдет за пределы поля (&quot; цель недостижима &quot;), </li></ul></ul></ul><ul><ul><ul><li>г. либо противник не забьет гол (&quot; цель нерелевантна ситуации &quot;), и т.д. </li></ul></ul></ul><ul><li>Важным свойством намерения является его тесная связь с понятием </li></ul><ul><li>&quot; убеждение &quot;. Например, любая опция, принимаемая агентом в качестве </li></ul><ul><li>намерения, должна быть такой, относительно которой агент убежден , что он </li></ul><ul><li>принципиально достижима . </li></ul>
  34. 34. Почему в BDI - модели агента “ не работает ” классическая логика ? <ul><li>Пример </li></ul><ul><li>Пусть в убеждениях агента истинны такие факты: </li></ul><ul><li>1. p : &quot; мяч находится у другого игрока своей команды &quot;, </li></ul><ul><li>2. c : &quot; мячом владеет своя команда &quot; и </li></ul><ul><li>3. q : &quot; у меня мяча нет &quot;. </li></ul><ul><li>Очевидно, истинной является также формула &quot; c поскольку p &quot;, где предикат « поскольку» является одним из конструктивов, который может спользоваться в схемах рассуждений с ментальными понятиями. </li></ul><ul><li>В классической логике в любую формулу вместо любой ее подформулы можно подставлять другую подформулу, которая истинна везде, где истинна исходная подформула (свойство экстенсиональности) </li></ul><ul><li>Однако если в формуле &quot; c поскольку p &quot;, использовать подстановку истинной подформулы q вместо истинной подформулы p , то в результате получается формула “ c поскольку q &quot;, про истинность которой уже ничего определенного утверждать нельзя. </li></ul><ul><li>Таким образом, предикат &quot; поскольку &quot; не является экстенсиональным , а потому не может быть представлен в языке классической логики. Таких примеров можно привести много [ van der Hoek -01]. </li></ul>
  35. 35. Требования к языкам формализации BDI - агента <ul><li>BDI – логика должна обладать выразительными возможностями, которые позволяют представить следующие особенности модели функционирования BDI - агента </li></ul><ul><li>1. В каждый момент времени среда функционирования агента может изменяться различным образом, т.е. она недетерминирована . </li></ul><ul><li>2. В каждый момент времени агент может выполнять несколько действий, т.е. поведение агента также недетерминировано . </li></ul><ul><li>3. В каждый момент времени агент может иметь несколько целей , достижение которых соответствует его намерениям. </li></ul><ul><li>4. Результат каждого действия агента может быть различным , поскольку он зависит еще от состояния среды и ее реакции на действие агента. </li></ul><ul><li>5. Скорость изменения среды сравнима со скоростью вычисления агентом очередного действия и эти изменения могут быть весьма существенными. Изменения среды могут иметь место как в процессе вычисления действий, так и в процессе их исполнения ( наиболее сложно решаемая проблема , поскольку обуславливает необходимость поддержания баланса между пересмотром стратегии действий на каждом шаге (&quot; дорого &quot; в вычислительном отношении) и выполнением действия (оно может оказаться уже непригодным для достижения поставленной цели). </li></ul>
  36. 36. Общее сравнение реактивной и BDI - архитектур <ul><li>Реактивные агенты принимают решения на основе локальной информации, которая отвечает текущему моменту времени. По этой причине возникают трудности при принятии решений в случаях, когда необходимо принимать в расчет информацию, относящуюся к различным моментам времени , а также информацию о поведении других агентов . Эти проблемы решаются на мета – уровне за счет протоколов взаимодействия . Кроме того, реактивная архитектура неприемлема в том случае, когда агент должен обучаться коллективному поведению. </li></ul><ul><li>Поведение отдельного BDI агента достаточно сложно согласовать с поведением других агентов. Главной особенностью систем, состоящих из таких агентов, является отсутствие мета модели уровня всей многоагентной системы и, соответственно, отсутствие явно определенных протоколов взаимодействия агентов в различных задачах. Платой за это является высокая сложность отдельных агентов, трудность разработки , а особенно отладки поведенческих аспектов , причем как на уровне отдельных агентов, так и на уровне их коллективного поведения в рамках многоагентной системы в целом. </li></ul><ul><li>Обычно используется гибридная архитектура </li></ul>
  37. 37. Гибридная архитектура <ul><li>Рассматривается учеными как наиболее перспективный на сегодняшний день подход </li></ul><ul><li>Комбинирует в себе подходы, используемые в реактивных и BDI- архитектурах </li></ul><ul><li>Очевидный подход – строить агенты из двух (и более) подсистем : </li></ul><ul><ul><li>BDI - компонента, содержащая символьную модель мира для принятия глобальных решений </li></ul></ul><ul><ul><li>Реактивная для реагирования на происходящие события в системе </li></ul></ul><ul><li>Это приводит к идее многоуровневой архитектуры ( e.g. , InterRap- архитектура). </li></ul><ul><li>В такой архитектуре подсистема контроля агента многоуровневая, каждый вышележащий уровень работает с более абстрагированной (и агрегированной) информацией </li></ul><ul><li>Ключевая проблема гибридной архитектуры – управление взаимодействием между разными уровнями </li></ul>
  38. 38. Другие архитектуры программного агента <ul><li>В соответствии с существующей классификацией выделяют также </li></ul><ul><li>архитектуру с использованием функции полезности , </li></ul><ul><li>архитектуру с использованием классической логики (совершенно бесперспективная архитектура) </li></ul><ul><li>архитектуру с обучением агента </li></ul><ul><li>(не рассматриваются, поскольку они либо пока редко используются , либо неперспективны ) </li></ul>
  39. 39. Наиболее популярные конкретные архитектуры
  40. 40. Оценки агентских архитектур
  41. 41. Пример архитектуры: Архитектура Cougaar (разработана DARPA по заказу Минобороны США) Сервер типа «доска объявлений» - осуществляет обмен данными между агентами, а также с «внешним миром». Клиент приема/передачи сообщений - обеспечивает транспортировку сообщений Планировщик - управляет порядком выполнения подключаемых модулей Таймеры - используются подключаемыми модулями при обращениях к планировщику Подключаемые модули - готовые программы, разрабатываемые для каждого конкретного приложения; подключаются к агенту или заранее, или «на лету» ( сервисы , доступные другим агентам, или индивидуальные функции агента. Агент строится на основе COM–технологии , позволяющей расширять множество сервисов или заменять существующие сервисы другими программными реализациями при минимальном изменении программного кода Разработана для широкого круга военных приложений, в частности, для задач военной логистики. Типовой агент Обработчики Клиент приема / передачи сообщений Таймеры Планировщик Доска объявлений Подключаемые модули
  42. 42. Архитектура Cougaar – одна из наиболее передовых разработок в области МАС (так все полагают) <ul><li>Причины популярности Cougaar–архитектуры </li></ul><ul><li>достаточная простота и понятность , что достигается за счет модульности ее построения; </li></ul><ul><li>простота конфигурирования и развертывания приложений в компьютерной сети; </li></ul><ul><li>возможность ее интеграции с другими технологиями (например, с технологиями WebLogic, J2EE, Spring, JADE, и др.); </li></ul><ul><li>высокая живучесть прикладных систем такой архитектуры; </li></ul><ul><li>поддержка множества транспортных протоколов (Java RMI, JMS, HTTP и IIOP). </li></ul><ul><li>поддержка динамического назначения агентам новых ролей (за счет использования технологии подключаемых модулей), что существенно при формировании виртуальных организаций и управлении ими; </li></ul><ul><li>возможность динамического формирования коалиций агентов , которые могут взаимодействовать попарно на основе P2P технологии взаимодействия </li></ul>
  43. 43. InteRRaP - архитектура Компонента, ответственная за кооперативное поведение Компонента, ответственная за планирование Реактивная компонента Знания, относящиеся к кооперативному поведению (общественный контекст) Совместные планы и цели Знания о процессах планирования (ментальный контекст ) Локальные планы и цели Модели внешнего мира Фрагменты реактивного поведения Компонента управления агентом Иерархическая база знаний агента Воздействия Коммуникации Восприятие Интерфейс с внешним миром Увеличение уровня абстракции
  44. 44. 4. Мультиагентные системы
  45. 45. Мультиагентная система (напоминание) МАС– это множество агентов (посредников), реализующих парадигму «вычисления на основе взаимодействий» Платформа Агенты Два новых аспекта: 1. Для чего агенты взаимодействуют и какова модель их взаимодействия? 2. Как это взаимодействие реализуется (программно-коммуникационная инфраструктура для поддержки взаимодействия – платформа агентов )?
  46. 46. Виды взаимодействия агентов <ul><li>Взаимодействие агентов определяет их коллективное поведение , которое может иметь различный характер. </li></ul><ul><li>Цель взаимодействия в сообществе агентов МАС — координация совместных действий. </li></ul>Координация Соперничество Кооперация Планирование Централизованное Распределенное Переговоры <ul><li>Кооперация для решения общей задачи </li></ul><ul><li>Кооперация для улучшения качества решения задач отдельных агентов </li></ul><ul><li>Кооперация может выполняться специальным агентом (агентами) </li></ul><ul><li>Кооперация может выполняться в P2P варианте. </li></ul><ul><li>Характер кооперации определяется взаимными обязательствами ( commitments ). </li></ul>Реализуется на основе
  47. 47. Типы объединений агентов, связанных взаимными обязательствами <ul><li>Альянс : взаимные обязательства агентов относительно слабы : агенты &quot;помогают&quot; друг другу не в ущерб собственным интересам. </li></ul><ul><li>Коалиция : агенты, объединяются в группы с достаточно &quot; сильными&quot; взаимными обязательствами , как правило, чтобы помочь друг другу &quot;выстоять&quot; в конкурентной борьбе с другими агентами и/или коалициями. Агенты коалиции могут не иметь общих целей ; каждый из агентов имеет четко оговоренные условия, определяющие, в каких условиях и каким образом они помогают друг другу . Обычно коалиции создаются для обмена ресурсами , необходимыми им для решения своих задач. Пример: МАС, планирующие деятельность транспортных компаний , объединяющихся для получения выгодных контрактов в условиях конкурентной борьбы. </li></ul><ul><li>Команда : группа агентов решает общую задачу и при этом действует как один агент. Ни у одного агенты не существует каких-либо собственных глобальных целей, отличных от цели команды и динамически формируемые локальные цели направлены на достижение общей цели команды. Примером такого объединения агентов являются команды футбола роботов ( RoboCup ), группа военных вертолетов , выполняющих некоторую боевую задачу, соперничество команды хакеров и системы защиты компьютерной сети и др. </li></ul>
  48. 48. Роли агентов в коллективном поведении <ul><li>Роль – это задачи , которые решает агент в некотором функциональном контексте (в более общей задаче, сценарии, в протоколе ), и цели , за достижение которых агент несет ответственность перед сообществом агентов, членом которого он является ( роль авиадиспетчера и роль пилота, и т.п.). </li></ul><ul><li>Использование понятия роли в МАС позволяет: </li></ul><ul><li>Сократить общее число сценариев , которые нужно хранить в базе знаний </li></ul><ul><li>Динамически перераспределять роли между агентами, оптимизируя работу системы </li></ul><ul><li>Характеристики роли </li></ul><ul><li>Цель , которая должна быть достигнута в результате ее исполнения агентом. </li></ul><ul><li>Множество ролей , с которыми данная роль взаимодействует в сценарии коллективного поведения </li></ul><ul><li>Протокол его взаимодействия с другими ролями, участвующими в коллективном поведении. Протокол включает получение сообщений от других ролей сценария и запуск механизмов реакции на них (сценариев «внутреннего» поведения) </li></ul><ul><li>Ресурсы , необходимые для исполнения сценария, предопределенного для роли. </li></ul><ul><li>Множество переменных , которые описывают динамику поведения агента с заданной ролью в процессе ее исполнения </li></ul>
  49. 49. Два взгляда на модель многоагентной системы <ul><li>Поведение агента в МАС </li></ul><ul><li>Внутреннее поведение , которое «скрыто» от других агентов системы; </li></ul><ul><li>Внешнее поведение , которое выражает взаимодействие агентов и представляется либо отдельными диалогами (обмена сообщениями) между агентами – это в BDI- архитектуре , либо в форме протокола взаимодействия , в котором могут участвовать два и более агента. </li></ul><ul><li>Два взгляда на модель МАС </li></ul><ul><li>С акцентом на мощный интеллект агентов и «богатое» внутренне поведение, когда коллективное поведение возникает как результат рассуждений агентов , которые решают, когда и с кем инициировать диалоги ( BDI - агенты с мощными базами знаний, убеждений и механизмами вывода; внешнее поведение состоит из диалогов между парами агентов) </li></ul><ul><li>С акцентом на явное описание организационной структуры МАС и взаимодействия агентов. Общественное поведение агентов представляется явно в форме иногда достаточно сложного протокола , в котором агентов участвуют как исполнители конкретных ролей ( более простые BDI – агенты, реактивные или гибридные агенты) </li></ul><ul><li>Для каждого типа МАС разработаны специфические методологии разработки . </li></ul>
  50. 50. 5. Коммуникации агентов многоагентной системы
  51. 51. Языки и протоколы обмена сообщениями (1) <ul><li>Способность агента к коммуникациям ( обмену сообщениями ) с другими агентами, является необходимым условием его эффективного функционирования в сообществе других агентов Агенты взаимодействуют путем обмена сообщениями (путем коммуникационных актов) следующих типов : </li></ul><ul><ul><li>Информирующие (например, об окончании выполнения некоторого сценария для синхронизации с работой другого агента) </li></ul></ul><ul><ul><li>Директивные ( например, указание от агента « Авиадиспетчер » экземпляру агента « Пилот » о смене эшелона) </li></ul></ul><ul><ul><li>Обязательства (например, обязательство экземпляра агента « Пилот » о переходе на круг ожидания, сообщаемое другим экземплярам агента того же типа или агенту « Авиадиспетчер ») </li></ul></ul><ul><ul><li>Выразительные ( например, агент выражает свое отношение к другому агенту, например “ Спасибо !”) </li></ul></ul><ul><ul><li>Декларативные ( сообщение некоторого факта, который побуждает агента - адресата предпринимать некоторые действия ) </li></ul></ul>
  52. 52. Языки и протоколы обмена сообщениями (2) <ul><li>В основу коммуникации агентов положена теория речевых актов , которая была разработана для анализа коммуникаций между людьми. </li></ul><ul><li>Речевой акт человека рассматривается как нечто, влекущее действие, например просьба , предложение , подтверждение и ответ . </li></ul><ul><li>KQML ( Knowledge Query and Manipulation Language ) – формальный язык описания формата («конверта») сообщений, разработанный по заказу DARPA в 1990 году, включает в себя </li></ul><ul><li>язык, задающий формат сообщения, и </li></ul><ul><li>группу протоколов , поддерживающих процесс коммуникаций на этом языке. </li></ul><ul><li>Сообщения агентов описываются на другом формальном языке. Неоднозначность понимания сообщений агента устраняется введением в этот язык специальных описателей типа сообщения, которые называются &quot; перформативами &quot; ( performatives ). Примеры перформативов: служебные слова promise , request , tell , demand и др . </li></ul>
  53. 53. Языки и протоколы обмена сообщениями (3) <ul><li>Три аспекта коммуникаций </li></ul><ul><ul><li>синтаксический (как структурированы символы, описывающие коммуникационный акт), </li></ul></ul><ul><ul><li>семантический (что обозначают символы) и </li></ul></ul><ul><ul><li>прагматический (каким образом интерпретируется сообщение). </li></ul></ul><ul><li>Типы сообщений </li></ul><ul><ul><li>запросы , </li></ul></ul><ul><ul><li>утверждения , </li></ul></ul><ul><ul><li>команды и </li></ul></ul><ul><ul><li>пересылаемые сообщения или их множество. </li></ul></ul><ul><li>KQML отделяет коммуникационный протокол от протокола обработки самого сообщения, что позволяет сделать коммуникационный протокол независимым от содержания сообщения и используемой онтологии. При этом протокол обработки содержит все необходимое для правильной интерпретации сообщения. </li></ul>
  54. 54. KQML–протокол коммуникаций <ul><li>На нижнем (транспортном) уровне протокол описывает, механизм пересылки сообщения, тип сообщения, а также имя отправителя и получателя. </li></ul><ul><li>На среднем уровне описывается синтаксис сообщения (см. ниже). </li></ul><ul><li>На верхнем уровне описывается семантика (содержание) сообщения. </li></ul><ul><li>Протокол описывается структурой данных, которая содержит следующие поля: </li></ul><ul><li>отправитель ; </li></ul><ul><li>получатель ; </li></ul><ul><li>язык протокола ; </li></ul><ul><li>функции кодирования и декодирования сообщений и </li></ul><ul><li>действия , которые должны быть предприняты получателем. </li></ul>Механизм коммуникаций Синтаксис сообщения Семантика сообщения
  55. 55. Синтаксис языка KQML <ul><li>Базируется на хорошо известных S-выражениях , которые использовались в языке LISP. </li></ul><ul><li>Стандартная синтаксическая структура описания сообщения на языке KQML : </li></ul><ul><li>(KQML performative </li></ul><ul><li>: sender < слово > </li></ul><ul><li>: receiver < слово > </li></ul><ul><li>: language < слово > </li></ul><ul><li>: ontology < слово > </li></ul><ul><li>: content < выражение > </li></ul><ul><li>… ) </li></ul><ul><li>В качестве перформативов используются,служебные слова ask-all , ask-one , broadcast , discard , recommend-all , register , tell , и др. Язык KQML допускает введение новых перформативов, если в них необходимость появляется в связи с особенностями приложения. </li></ul><ul><li>Перформатив , а также служебные слова sender , receiver моделируют речевой акт и позволяют полностью описать ту часть сообщения, которая не зависит от содержания сообщения. ( http://www.fipa.org) </li></ul>
  56. 56. Семантика языка KQML <ul><li>Семантика сообщения описывается полями после следующих служебных слов: </li></ul><ul><ul><li>language (указывает язык, на котором написано сообщение) и </li></ul></ul><ul><ul><li>ontology (указывает словарь или онтологию, которая использована при записи сообщения, задавая таким образом смысл компонент сообщения). </li></ul></ul><ul><ul><li>Эти две компоненты KQML сообщения принято называть &quot; оберткой &quot; или &quot; конвертом &quot;, в который упаковано сообщение. Все, что формирует этот &quot;конверт&quot; относится к среднему уровню языка KQML. </li></ul></ul><ul><ul><li>content (текст сообщения). Далее за этим служебным словом следует часть, которая описывает само содержание сообщения: </li></ul></ul><ul><li>Недостаток языка KQML : он имеет неформально определенную семантику. По этой причине сейчас в качестве стандарта принят язык FIPA ACL ( Agent Communication Language ) , который является развитием языка KQML. </li></ul><ul><li>FIPA ACL добавляет строгое и полное определение протоколов посылки/приёма сообщений, а также вносит некоторые незначительные изменения в сам язык. Вместо термина &quot;перформатив&quot; в FIPA ACL используется термин &quot; коммуникативный акт &quot;. Он также поддерживает независимость коммуникационного протокола от содержания сообщения и языка, на котором оно представлено. </li></ul>
  57. 57. Отличия языка FIPA ACL от языка KQML (1) <ul><li>Отличия по заданию семантики языка </li></ul><ul><li>В FIPA ACL строго определена семантика языка, которая задается с помощью специального языка , названного SL . В этом языке семантика задана в терминах модальной логики с кванторами и с использованием BDI -подобных модальных операторов: &quot; убеждения &quot; ( beliefs–B ), &quot; желания &quot; (&quot; desires &quot;– D ), &quot; убеждения с неопределенностью &quot; (&quot; uncertain beliefs &quot;– UB ) и &quot; намерения &quot; (&quot; intentions &quot;, &quot; persistent goals &quot;– PG ). В этом языке возможно представление пропозициональных формул , объектов и действий . </li></ul><ul><li>Синтаксические отличия FIPA ACL от KQML </li></ul><ul><li>Они включают в себя замену части KQML – перформативов на другие перформативы (с другими именами и более четко определенной семантикой). Например, если требуется передавать несколько сообщений в ответ на один входящий запрос, то KQML использует несколько примитивов для поддержки таких запросов. Однако, ответы на такие запросы, как правило, требуют большого разнообразия форм (структур) представлении результатов. В FIPA ACL для этих целей используется упрощенный типовой запрос, реализуемый перформативом &quot; request &quot; с перекладыванием функций представления результатов на язык описания содержания сообщения. </li></ul><ul><li>KQML и FIPA ACL являются языками интерпретирующего типа </li></ul>
  58. 58. Языки описания содержания сообщений <ul><li>Для описания содержания сообщения могут быть использованы различные языки. </li></ul><ul><li>Язык KIF – язык представления знаний, специально разработан для описания содержания сообщений. Является языком исчисления предикатов первого порядка , представленного синтаксически в префиксной форме. Допускает введение любых предикатов, использует логические связки и кванторы . Рассчитан на поддержку немонотонных рассуждений, описание отношений, функций, объектов, мета–знаний (знаний о знаниях). Допускает использование процедур, например, скриптов, описывающих поведение агентов. </li></ul><ul><li>Однако этот язык пока не имеет реализации и остается только формализмом для описания содержания сообщений. </li></ul><ul><li>На практике вместо языка KIF используются языки описания онтологий, в частности, такие, как XML , RDF , O WL и DAML . </li></ul>
  59. 59. 6. Агентские платформы
  60. 60. Агентская платформа: FIPA абстрактная архитектура (основные сервисы и функции) FIPA платформа агентов Директорий агентов (Белые страницы) Директорий сервисов (желтые страницы) Транспорт сообщений ( сервис доставки) Канал коммуникаций Система управления сервисами : Регистрация ; Де-регитстрация ; Модификация ; Поиск сервисов ( по их описанию) ; Выдача описаний сервисов AMS Агент Directory Facilitator Агент Система управления агентами Регистрация ; Де-регитстрация ; Модификация ; Поиск агентов (по их характеристикам) ) ; Выдача адресов агентов Агент Агент Агент Агент Агент Агент Агент Агент Агент Агент
  61. 61. Абстрактная архитектура агентской платформы FIPA <ul><li>Для того, чтобы конкретная архитектура была совместима с абстрактной архитектурой FIPA , она должна обладать следующими обязательными механизмами (сервисами) : </li></ul><ul><li>Механизм (сервис) для регистрации агентов; </li></ul><ul><li>Механизм (сервис), с помощью которого любой зарегистрированный агент может получить информацию о других агентах и предоставляемых им сервисах , а также </li></ul><ul><li>Механизм передачи сообщений от одного агента к другому. </li></ul><ul><li>Эти сервисы должны быть явно описаны в терминах соответствующих элементов абстрактной архитектуры FIPA . </li></ul>
  62. 62. Сравнение FIPA- совместимых агентских платформ
  63. 63. Платформа FIPA-OS ( FIPA Open Source ) <ul><li>FIPA - OS есть открытая платформа для интеграции гетерогенных агентов в единую МАС,. Она полностью совместима с FIPA абстрактной архитектурой. Исходный код этой платформы распространяется бесплатно на основе простых лицензионных соглашений с правом его свободного использования и модификации . </li></ul>FIPA OS Агент Программы , БД ACL Система поиска директориев (Directory Facilitator) Сервис транспорта сообщений API API ACL ACL Система поиска агентов ( AMS) AMS и DF реализованы как агенты (обращение с помощью ACL ) Язык коммуникаций и Сервис транспорта сообщений - обычные программы (обращение через API) Роль сервиса транспорта сообщений в том и состоит, чтобы этот сервис был доступен каждому агенту с помощью соответствующего транспортного протокола. Его задача – маршрутизация и пересылка сообщений ACL, IIOP, HTTP и др.
  64. 64. Платформа JADE - Java Agent DEvelopment f ramework <ul><li>Разработана Telecom Italia Lab . Реализована на языке JAVA и может быть распределенной на компьютерах, работающими на различных ОС. Состоит из нескольких агентских контейнеров , являющихся средой функционирования агентов. Главный контейнер – один и обычных контейнеров – любое число . Главный контейнера поддерживает работу агентов AMS , DF, ACC . В JADE реализация DF является распределенной (каждый агентский контейнер содержит собственный DF ), а система управления агентами (AMS) – централизована </li></ul><ul><li>Обеспечивает полнофункциональную поддержку языка коммуникаций ACL </li></ul><ul><li>Поддерживает синхронное и асинхронное взаимодействие агентов и высокий уровень параллелизма. Количество агентов на платформе ограничено только ресурсами компьютеров, на которых она установлена. </li></ul><ul><li>Имеет средства обеспечения безопасности: аутентификация пользователей, разграничение прав агентов на доступ к сервисам платформы, цифровая подпись и шифрование сообщений. </li></ul><ul><li>Возможности JADE расширены после ее интеграции с LEAP - Lightweight Extensible Agent Platform . Эта платформа поддерживает протокол TCP / IP (в обычных и беспроводных сетях). Устанавливается на мобильный телефон. </li></ul><ul><li>Является самой популярной и активно развивающейся платформой . Имеет хорошую техническую поддержку и подробную документацию. </li></ul><ul><li>Слабое место JADE – централизованная AMS (не для распределенных приложений). </li></ul>
  65. 65. Архитектура платформы JADE Экземпляр платформы 1 Container DF Агент Агент Агент Агент Агент Экземпляр Платформы 2 Main container DF Container DF Агент Агент Агент Main container DF AMS Сеть AMS
  66. 66. Виртуализация взаимодействия агентов: P2P агентская платформа Оверлейные сети, построенные над TCP/IP, обеспечивающие “ прозрачное ” взаимодействие прикладных агентов (JXTA technology ) В.И. Городецкий, О.В. Карсаев, В.В. Самойлов, Серебряков, С.В. Инструментальные средства для открытых сетей агентов. Известия РАН. &quot;Теория и Системы Управления&quot;, Москва: Наука, 2008. №.   3,   106-124 . TCP/IP транспорт ( Транспортный уровень ) Агент Агент Агент Уровень взаимодействия прикладных агентов, поддерживаемый P2P платформой агентов Сенсор Сенсор Сенсор Агент Агент Агент Уровень коммуникационного сервиса Сенсор Сенсор Сенсор P2P платформа агента Другие потребители P2P сервиса Уровень P2P коммуник. протоколов Оверлейная сеть экземпляров P2P платформы агентов P2P платформа агента Другие потребители P2P сервиса P2P коммуникационный сервис P2P коммуникационный сервис Распределенные “ желтые ” и “ белые ” страницы
  67. 67. Реализованная P2P платформа агента: Функциональная архитектура Пир предоставляет коммуникационные каналы с другими пирами , а также управляет своим листом контактов , который содержит соседей данного пира, т.е. те узлы, с которыми существуют коммуникационные каналы. Агентская платформа предоставляет сервисы агентам, которые зарегистрированы на платформе. В текущей реализации, агентская платформа поддерживает поиск агентов и сервисов (реализуется как распределённый поиск в P2P среде, используя протокол gossiping ), взаимодействие между агентами (маршрутизация сообщений от одного агента к другим). Разработка и реализация протоколов взаимодействия компонент данной функциональной архитектуры- основная работа по созданию платформы, которая выполнена в лаборатории P2P провайдер Типовые сервисы агента P2P платформа агента Интерфейс P2P провайдера P2P транспорт над TCP/IP Лист контактов Сценарии переговоров Сценарий поиска сервисов Агент “ желтых страниц ” Агент “ белых ” страниц ”
  68. 68. 7. Модели координации поведения агентов
  69. 69. Причины, обуславливающие необходимость координации группового поведения <ul><li>Объекты функционируют в общей внешней среде, накладывающей , например, пространственные ограничения (предотвращение столкновений роботов, соблюдение дистанций безопасности в воздушном движении и др.); </li></ul><ul><li>Ограниченные общие ресурсы (средства транспортировки в логистике, компьютерные ресурсы, доступные программным агентам, и т.д.); </li></ul><ul><li>Необходимость принятия решений в условиях неопределенности , ограниченность информации о среде и других агентах, которыми обладают агенты, что влечет необходимость информационного обмена между ними; </li></ul><ul><li>Ограниченность компетенции (знаний) или возможностей отдельных агентов, что может быть восполнено кооперацией с другими агентами; </li></ul><ul><li>Необходимость синхронизации действий отдельных агентов при решении общей проблемы в приложениях реального времени (управление воздушным движением, футбол роботов, управление боевыми действиями, управление гуманитарной операцией и др.). </li></ul>
  70. 70. Общие принципы координации (1 ) <ul><li>[ M.Mesarovic et al , 1970 ] сформулированы три базовых принципа координации в сложных многоуровневых системах: </li></ul><ul><ul><li>прогнозирование взаимодействий, </li></ul></ul><ul><ul><li>развязывание взаимодействий и </li></ul></ul><ul><ul><li>оценка взаимодействий . </li></ul></ul><ul><li>Они принимают конкретную алгоритмическую форму в рамках конкретной математической модели и конкретного приложения. Среди них, наиболее известные алгоритмы координации базируются на: </li></ul><ul><ul><li>назначении и согласовании локальных показателей качества, оптимизация которых ведет к оптимизации глобального показателя </li></ul></ul><ul><ul><li>оптимальном распределении общего ресурса, </li></ul></ul><ul><ul><li>согласовании значений общих переменных и др . </li></ul></ul>С содержательной точки зрения , координация предназначена для согласования индивидуальных целей и вариантов поведения агентов , при которых каждый агент улучшает или не ухудшает значение своей функции полезности , а система в целом улучшает качество решения общей задачи .
  71. 71. Общие принципы координации (2 ) <ul><li>В теории многоагентных систем координация рассматривается как процесс , в котором агенты системы рассуждают о собственных локальных целях и действиях и о предполагаемых целях и действиях других агентов для обеспечения согласованных действий всего сообщества агентов. </li></ul><ul><li>Наиболее сложные задачи координации возникают тогда, когда агенты кооперируются для решения общей задачи, когда необходимо обеспечить, чтобы </li></ul><ul><li>все компоненты общей проблемы, решаемой МАС, были включены в процесс решения, т.е. чтобы каждая подпроблема решалась хотя бы одним агентом; </li></ul><ul><li>взаимодействие агентов обеспечивало формирование решений в форме, в которой они могли бы интегрироваться в общее решение; </li></ul><ul><li>агенты действовали целенаправленно и непротиворечиво ; </li></ul><ul><li>все цели системы были достижимы в рамках вычислительных возможностей и др. имеющихся ресурсов. </li></ul>
  72. 72. Замечание о двух аспектах процессов координации <ul><li>В любом механизме координации следует выделять два аспекта: </li></ul><ul><li>Нормативный аспект: как избежать нарушений ограничений? ( нормативная координация, цель которой –помочь агентам в создать (явно или неявно) взаимные обязательства ( commitments ), которые не дадут возможности нарушать ограничения. ); </li></ul><ul><li>Удаление несоответствий: как устранить возникшие нарушения? ( разрешение конфликтов ). </li></ul><ul><li>Второй аспект обычно рассматривают как отдельный класс механизмов координации . Оба эти аспекта используют различные механизмы, стратегии, а также обладают различными достоинствами и недостатками. </li></ul>
  73. 73. Общие принципы координации (3 ) <ul><li>В основе большинства известных методов координации МАС, явно или неявно, лежит понятие &quot; совместных обязательств &quot; ( commitments ) агентов, которое постулирует необходимость выполнения агентом фиксированных действий, ведущих к достижению предопределенной цели в интересах сообщества агентов . </li></ul><ul><li>Знания об обязательствах других агентов позволяют агенту учесть при планировании поведения &quot; общественный контекст &quot; и ограничения , которые он должен принимать во внимание. Одной из форм представления обязательств агента является его роль . </li></ul><ul><li>Другое важное понятие - это общественные &quot; соглашения &quot; ( conventions ). Оно фиксирует условия, при которых обязательства выполняются , и обстоятельства, когда агент может или должен отказываться от исполнения взятых на себя обязательств. </li></ul><ul><li>В работе [ N.Jennings-93 ] выдвинута гипотеза, которая утверждает, что &quot; все механизмы координации в МАС могут быть выражены в терминах (совместных) обязательств агентов и отвечающих им соглашений &quot;. Ее справедливость показана с помощью анализа основных методов координации. </li></ul>
  74. 74. 1. Координация с помощью общих правил группового поведения ( social laws ) <ul><li>Обычно такой подход используется (иногда - совместно с другими) в системах с заданной организационной структурой , в которой правила группового поведения должны строго выполняться . Организация формируется как множество агентов с заданными ролями и для каждой роли определяются свои правила поведения в сообществе агентов. </li></ul><ul><li>Координация содержит два вида деятельности: </li></ul><ul><li>поддержание организационной структуры сообщества с помощью задания ролей и порядка обмена информацией между ними ( когда, кому и какая информация должна посылаться) ; Примеры: роли участников воздушного движения + международные правила поведения самолетов в воздушном пространстве; колония муравьев- swarm </li></ul><ul><li>использование правил группового поведения для вычисления конкретных действий агентов с заданными ролями на основе их локальных знаний (&quot; распределенная политика управления &quot;). Определяется важностью тех или иных целей агента. Примеры: Правила разрешения конфликтов между самолетами при возникновении потенциально опасных сближений; положительная обратная связь, определяющая маршруты движения муравьев при поиске пищи </li></ul>
  75. 75. 2. Координация поведения на основе обмена мета - информацией <ul><li>Мета – информация – это приоритеты на множестве подзадач , их зависимость по данным и потребные ресурсы, в частности, вычислительные. </li></ul><ul><li>Например, в методе &quot;Частичного глобального планирования&quot; (&quot; Partial Global Planning &quot; [ Е. Durfee -88 ], PGP ), агенты информируют друг друга о своих локальных планах , которые требуют общих ресурсов, а подцели , которые достигаются при исполнении этих локальных планов, могут быть частично упорядочены по времени исполнения, (результаты выполнения локального плана одного агента могут потребоваться в качестве входных данных для локальных планов нескольких других агентов). Согласование планов состоит в том, что агенты выдают на верхний уровень свои локальные планы, делается попытка скомпоновать их в единый согласованный план, а в случае конфликтов агенты ведут переговоры о согласовании своих обязательств и условий отказа от них. </li></ul><ul><li>Существует много конкретных реализаций этого подхода. </li></ul>
  76. 76. 3. Координация на основе планирования (заимствует опыт разработок в «до – агентский» период) <ul><li>Агенты заранее формируют свои планы до деталей и в качестве главной цели координации рассматривается проблема непротиворечивости действий агентов , причем в основном это касается конфликтов по ресурсу . В отличие от методов, основанных на организации и организационных структурах, в этом подходе информация, которой обмениваются агенты, является низкоуровневой . Естественно, что при возникновении непредвиденных обстоятельств такой план может стать неработоспособным . Этот подход всегда требовал больших вычислительных ресурсов и интенсивного обмена информацией между агентам. </li></ul><ul><li>В централизованном варианте [Georgeff-83] агенты разрабатывают свои планы заранее и посылают их на согласование центральному агенту, который их собирает в единый план, разрешает конфликты и ус
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×