Многоагентная система

Обычный агент
Агент, учится

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


1. Обзор

В многоагентной системе агенты имеют несколько важных характеристик [4] :

  • Автономность: агенты, хотя бы частично, независимые
  • Ограниченность представления: у одного из агентов нет представления о всей системе, или система слишком сложна, чтобы знание о ней имело практическое применение для агента.
  • Децентрализация : нет агентов, управляющих всей системой [5]

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

В многоагентных системах может проявляться самоорганизация и сложное поведение даже если стратегия поведения каждого агента достаточно проста. Это лежит в основе так называемого роевого интеллекта.

Агенты могут обмениваться полученными знаниями, используя некоторую специальную язык и подчиняясь установленным правилам "общения" ( протоколам) в системе. Примерами таких языков является Knowledge Query Manipulation Language (KQML) и FIPA's Agent Communication Language (ACL).


2. Изучение многоагентных систем

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

Темы для исследования в рамках МАС:

  1. знания, желания и намерения (BDI),
  2. кооперация и координация,
  3. организация,
  4. коммуникация,
  5. согласования,
  6. распределенное решение,
  7. распределенное решение задач,
  8. мультиагентных обучения
  9. надежность и устойчивость к сбоям

3. Парадигмы многоагентных систем

Многие МАС имеют компьютерные реализации, основанные на пошаговом имитационном моделировании. Компоненты МАС обычно взаимодействуют через весовую матрицу запросов,

 Speed-VERY_IMPORTANT: min = 45mph, Path length-MEDIUM_IMPORTANCE: max = 60 expectedMax = 40, Max-Weight-UNIMPORTANT Contract Priority-REGULAR 

и матрицу ответов,

 Speed-min: 50 but only if weather sunny, Path length: 25 for sunny / 46 for rainy Contract Priority-REGULAR note - ambulance will override this priority and you'll have to wait 

Модель "Запрос - Ответ - Соглашение" - обычное явление для МАС. Схема реализуется несколько шагов:

  1. сначала всем задается вопрос наподобие: "Кто может мне помочь?"
  2. на это только "способны" отвечают "Я смогу, за такую-то цену"
  3. в конечном итоге, заключается "соглашение"

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

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


4. Свойства

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

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


5. Применение МАС

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


6. Средства разработки мультиагентных систем

  • NetLogo - кроссплатформенный программируемое окружение для программирования мультиагентных систем
  • VisualBots - бесплатный мультагентний симулятор в Microsoft Excel с Visual Basic синтаксисом
  • MASON - Java библиотека для моделирования мультиагентных систем
  • REPAST - набор инструментов для создания систем, основанных на агентах
  • JADE - Java библиотека для создания мультиагентных систем (JADE в wiki)
  • SemanticAgent - SWRL / JAVA
  • CogniTAO - C + + платформа разработки автономных мульти-агентных систем ориентирована на реальных роботов и виртуальных существ (CGF).

См.. также