Багатоагентна система

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Звичайний агент
Агент, що навчається

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

Огляд[ред.ред. код]

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

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

Зазвичай у багатоагентних системах досліджуються програмні агенти. Проте, складовими мультиагентної системи можуть також бути роботи, люди або команди людей. Також, багатоагентні системи можуть містити й змішані команди.

У багатоагентних системах може проявлятися самоорганізація і складна поведінка навіть якщо стратегія поведінки кожного агента досить проста. Це лежить в основі так званого ройового інтелекту.

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

Вивчення багатоагентних систем[ред.ред. код]

Вивчення багатоагентних систем пов'язане з вирішенням досить складних проблем штучного інтелекту.

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

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

Парадигми багатоагентних систем[ред.ред. код]

Багато МАС мають комп'ютерні реалізації, засновані на покроковому імітаційному моделюванні. Компоненти МАС зазвичай взаємодіють через вагову матрицю запитів,

 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. в остаточному підсумку, укладається «угода»

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

Іншою часто використовуваною парадигмою в МАС є «феромон», де компоненти «залишають» інформацію для наступних у черзі або найближчих компонентів. Такі «феромони» можуть випаровуватися згодом, тобто їхні значення можуть змінюватися із часом.

Властивості[ред.ред. код]

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

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

Застосування МАС[ред.ред. код]

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

Засоби розробки Мультиагентних Систем[ред.ред. код]

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

Див. також[ред.ред. код]

Посилання[ред.ред. код]

  1. Alex Rogers and E. David and J.Schiff and N.R. Jennings. The Effects of Proxy Bidding and Minimum Bid Increments within eBay Auctions, ACM Transactions on the Web, 2007
  2. Nathan Schurr and Janusz Marecki and Milind Tambe and Paul Scerri et.al. The Future of Disaster Response: Humans Working with Multiagent Teams using DEFACTO, 2005.
  3. Ron Sun and Isaac Naveh. Simulating Organizational Decision-Making Using a Cognitively Realistic Agent Model, Journal of Artificial Societies and Social Simulation.
  4. Michael Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons Ltd, 2002, paperback, 366 pages, ISBN 0-471-49691-X.
  5. Liviu Panait, Sean Luke: Cooperative Multi-Agent Learning: The State of the Art. Autonomous Agents and Multi-Agent Systems 11(3): 387-434 (2005)
  6. Massive, Film showcase

Комплекс інструментально-програмних засобів для підтримки технології проектування й програмної реалізації прикладних багатоагентних систем

Література[ред.ред. код]

Англійською[ред.ред. код]