Багатоагентна система (, ) — це система, утворена декількома взаємодіючими інтелектуальними агентами. Багатоагентні системи (БАС) можуть бути використані для розв'язання таких проблем, які складно або неможливо вирішити за допомогою одного агента або монолітної системи. Прикладами таких завдань є онлайн-торгівля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, ліквідація надзвичайних ситуацій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., і моделювання соціальних структурRon Sun and Isaac Naveh. Simulating Organizational Decision-Making Using a Cognitively Realistic Agent Model , Journal of Artificial Societies and Social Simulation..
Огляд
У багатоагентній системі агенти мають кілька важливих характеристикMichael Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons Ltd, 2002, paperback, 366 pages, ISBN 0-471-49691-X.:
Автономність: агенти, хоча б частково, незалежні Обмеженість уявлення: у жодного з агентів немає уявлення про всю систему, або система занадто складна, щоб знання про неї мало практичне застосування для агента. Децентралізація: немає агентів, що керують усією системоюLiviu Panait, Sean Luke: Cooperative Multi-Agent Learning: The State of the Art. Autonomous Agents and Multi-Agent Systems 11(3): 387-434 (2005)
Зазвичай у багатоагентних системах досліджуються програмні агенти. Проте, складовими мультиагентної системи можуть також бути роботи, люди або команди людей. Також, багатоагентні системи можуть містити й змішані команди.
У багатоагентних системах може проявлятися Самоорганізація і складна поведінка навіть якщо стратегія поведінки кожного агента досить проста. Це лежить в основі так званого ройового інтелекту.
Агенти можуть обмінюватися отриманими знаннями, використовуючи деяку спеціальну мову й підкоряючись установленим правилам «спілкування» (протоколам) у системі. Прикладами таких мов є (KQML) і (ACL).
Вивчення багатоагентних систем
Вивчення багатоагентних систем пов'язане з вирішенням досить складних проблем штучного інтелекту.
Теми для дослідження в рамках БАС: знання, бажання й наміри (BDI), кооперація й координація, організація, комунікація, узгодження, розподілене рішення, Кооперативне розподілене розв'язання задач, мультиагентне навчання надійність і стійкість до збоїв
Парадигми багатоагентних систем
Багато БАС мають комп'ютерні реалізації, засновані на покроковому імітаційному моделюванні. Компоненти БАС зазвичай взаємодіють через вагову матрицю запитів, 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
Модель «Запит — Відповідь — Угода» — звичайне явище для БАС. Схема реалізується за кілька кроків: спочатку всім задається питання на зразок: «Хто може мені допомогти?» на це тільки «спроможні» відповідають «Я зможу, за таку-то ціну» в остаточному підсумку, укладається «угода» Для останнього кроку зазвичай потрібно ще трохи (дрібніших) актів обміну інформацією. При цьому беруться до уваги інші компоненти, у тому числі вже досягнуті «угоди» і обмеження середовища.
Іншою часто використовуваною парадигмою в БАС є «феромон», де компоненти «залишають» інформацію для наступних у черзі або найближчих компонентів. Такі «феромони» можуть випаровуватися згодом, тобто їхні значення можуть змінюватися із часом.
Властивості
БАС також належать до систем, що самоорганізуються, тому що в них шукається оптимальне розв'язання задачі без зовнішнього втручання. Під оптимальним розв'язанням розуміється розв'язання, на яке витрачене найменша кількість енергії в умовах обмежених ресурсів.
Головна перевага БАС — це гнучкість. Багатоагентна система може бути доповнена й модифікована без переписування значної частини програми. Також ці системи мають здатність до самовідновлення й мають стійкість до збоїв, завдяки достатньому запасу компонентів і самоорганізації.
Застосування БАС
Багатоагентні системи застосовуються в нашому житті в графічних застосунках, наприклад, в комп'ютерних іграх. Агентні системи також були використані у фільмах , Film showcase . Теорія БАС використовується в складених системах оборони. Також БАС застосовуються в транспорті, логістиці, графіці, геоінформаційних системах і багатьох інших. Багатоагентні системи добре зарекомендували себе в сфері мережних і мобільних технологій, для забезпечення автоматичного й динамічного балансу завантаженості, розширюваності й здатності до самовідновлення.
Засоби розробки Мультиагентних Систем
NetLogo — кросплатформне програмоване оточення для програмування Мультиагентних Систем VisualBots — безкоштовний мультагентний симулятор в Microsoft Excel з Visual Basic синтаксисом MASON — Java бібліотека для моделювання Мультиагентних Систем REPAST — набір інструментів для створення систем, заснованих на агентах JADE — Java бібліотека для створення Мультиагентних Систем (JADE в wiki) SemanticAgent — SWRL/JAVA CogniTAO — C++ платформа розробки автономних мульти-агентних систем орієнтована на реальних роботів і віртуальних істот (CGF).
Див. також
Агентне моделювання Цифровий організм Складна система
Емерджентність Еволюційне моделювання
GNUBrain: Реалізація фреймворка (GPL) для створення Мультиагентних Систем
Самоорганізація Імітація дійсності
Програмний агент
Штучний мозок
Посилання
Комплекс інструментально-програмних засобів для підтримки технології проектування й програмної реалізації прикладних багатоагентних систем
Література
Michael Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons Ltd, 2002, paperback, 366 pages, ISBN 0-471-49691-X. Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From «Intelligent Agents» to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov./Dec. 1991. The Journal of Autonomous Agents and Multiagent Systems, Publisher: Springer Science+Business Media B.V., formerly Kluwer Academic Publishers B.V. Gerhard Weiss, ed. by, Multiagent Systems, A Modern Approach to Distributed Artificial Intelligence, MIT Press, 1999, ISBN 0-262-23203-0. Jacques Ferber, Multi-Agent Systems: An Introduction to Artificial Intelligence, Addison-Wesley, 1999, ISBN 0-201-36048-9. Sun, Ron, (2006). «Cognition and Multi-Agent Interaction». Cambridge University Press. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521839645 Jose M. Vidal, Fundamentals of Multiagent Systems: with NetLogo Examples. Субботін С.О., Олійник А.О., Олійник О.О. Неітеративні, еволюційні та мультиагентні методи синтезу нечіткологічних і нейромережних моделей: Монографія / Під заг. ред. С.О. Субботіна. — Запоріжжя: ЗНТУ, 2009. — 375 с.
Англійською The Brookings Center on Social and Economic Dynamics UCLA Human Complex Systems Program The Multi-Agent Systems Lab at U. Mass Teamcore Research Group at USC AgentWise Research Group at KULeuven, Belgium Agent Technology Group at CTU, Prague The Collective Agent Based Systems group at the Delft University The Multiagent & Cooperative Robotics Lab at Kansas State University Agent technology Roadmap MultiAgent systems Java-based Multi-Agent Systems The Maia Institute SwarmWiki , загальний ресурс для агентного моделювання. MASLAB — Multiagent Systems Lab. at Universidade Federal do Rio Grande do Sul A Methodology for the Development of Multi-Agent Systems using JADE System Effectiveness Analysis Simulation (SEAS) — Multi-Agent Theater Operations симулятор Військово-повітряних сил США Intelligent Software Agents — група Інституту Робототехніки, що займається розробкою Інтелектуальних Агентів Center for Models of Life — Інститут Нільса Бора Multi-Agent — сайт Magenta Technology з Мультиагентних Систем