Мета мультиагентних систем (МАС) – координація незалежних процесів. Агент являє собою комп’ютерну сутність у вигляді програми або робота. Агента можна вважати автономним, оскільки він здатний адаптуватися при зміні свого середовища. МАС складається з набору комп’ютерних процесів, які відбуваються одночасно і існують в один і той же час, обмінюються загальними ресурсами і спілкуються один з одним. Ключовою проблемою в МАС є формалізація координації між агентами.
Визначення мультиагентних систем
МАС являє собою перспективний підхід до розробки програмного забезпечення для додатків в складних областях, де взаємодіючі компоненти програми автономні і розподілені, працюють в динамічних і невизначених середовищах, повинні дотримуватися певні організаційні правила і закони та можуть приєднатися і залишити мультиагентну систему під час виконання.
Прикладами таких програм є системи, які управляють і оптимізують виробництво і розподіл електроенергії між споживачами або системами, оптимально планують вантажі у транспортних системах. Розробка мультиагентних систем вимагає створення окремих агентів, організацій та середовищ.
Мови програмування надають програмні конструкції для реалізації окремих агентів з точки зору соціальних і когнітивних концепцій, таких як інформація, цілі, варіанти, норми, емоції та правила прийняття рішень.
Мультиагентні організації з точки зору соціальних і організаційних концепцій мають ролями, наділені нормами, протоколами зв’язку, ресурси, які піддаються моніторингу. Розроблені мови програмування і фреймворки застосовуються для створення симуляцій на основі агентів для багатьох галузей безперервного виробництва: електроенергія, металургія, охорона здоров’я, інтернет, транспорт, управління трафіком і створення серйозних ігор.
МАС відрізняються від одноагентных систем тим, що в них існує кілька агентів, які моделюють мети і дії один одного. В загальному сценарії може бути пряма взаємодія між агентами. З точки зору окремого агента, багатоагентні системи відрізняються від систем з одним агентом найбільш істотно тим, що динаміка навколишнього середовища може бути визначена іншими агентами. На додаток до невизначеності, яка може бути властивою домену, інші агенти навмисно впливають на навколишнє середовище непередбачуваними способами.
Таким чином, всі МАС можна розглядати як мають динамічні середовища, що характерно для сучасних мультиагентних систем. Може бути будь-яка кількість агентів з різним ступенем неоднорідності, з/або без можливості прямого спілкування.
Архітектура МАС-систем
Агенти повинні бути забезпечені когнітивною моделлю:
- переконання;
- бажання;
- наміри.
З одного боку, він зчитує «Вірування» про навколишньому середовищі, які є результатом його знань і сприйняттів, а з іншого – набір « Бажань». Схрещуючи ці два набори, отримують новий набір «Намірів», які потім переводяться безпосередньо в дії.
У агентів повинна бути система зв’язку. Для цієї мети існує кілька спеціалізованих мов: Query Language and Manipulation Language (KQML). Останнім часом поширений стандарт FIPA-ACL, створений Фондом для інтелектуальних фізичних агентів FIPA. Цей останній принцип побудови мультиагентних систем заснований на теорії мовленнєвих актів.
Проблема адаптації – тернистий питання, який у даний час є предметом численних досліджень. Можна навести приклад деяких вірусів, як біологічних, так і комп’ютерних, здатних адаптуватися до мутанту навколишнього середовища.
Нарешті, ефективна реалізація МАС, хоча і не є, строго кажучи, частиною архітектури системи, заслуговує уваги на прикладі багатьох мов програмування, які були розроблені для дослідження штучного інтелекту. Зокрема, згадується мову LISP. Ці архітектурні елементи застосовуються до системи, що складається з когнітивних агентів.
Категорії або моделі агентів
Класифікація агентів встановлена за двома критеріями: когнітивні агенти або реагенти, які виявляють з одного боку поведінку teleonomic, або рефлекс. Різниця, що може бути зроблено між когнітивними і реактивними – це, по суті, уявлення світу, доступного агенту. Якщо індивід наділений «символічним поданням» світу, з якого він може сформулювати міркування, то говорять про когнітивному агента, тоді як якщо він має тільки «субсимволическое уявлення», тобто обмежуючись його сприйняттями, говорять про реактивному агента. Це пізнавальне і реактивне відмінність відповідає двом теоретичним школам багатоагентних систем.
Перша підтримує фундаментальний підхід «розумних» агентів для співпраці з соціологічної точки зору. У другій вивчається можливість виникнення «розумного» поводження набору неінтелектуальних агентів (ant type). Друге відмінність між поведінковим поведінкою і рефлексом відокремлює умисне поведінка, прагнення до явних цілей, від поведінки, пов’язаного із сприйняттям. Таким чином, тенденції агентів можуть бути явно виражені у агентів або, навпаки, виходять з навколишнього середовища. Таблиця, группирующая різні типи агентів:
- Когнітивні агенти.
- Реактивні агенти.
- Теленомическое поведінку.
- Навмисні агенти.
- Керовані агенти.
- Рефлексное поведінку.
- Агенти “модулі”.
- Тропічні агенти.
Когнітивні агенти в основному навмисні, тобто у них є фіксовані цілі, які вони намагаються виконати. Однак іноді використовують агентів, які називаються модулями, які мають уявлення про свою «всесвіту» без конкретних цілей. Вони могли б служити, наприклад, для відповіді на питання інших агентів у «всесвіті».
Реагенти можна розділити на приводи і тропічні агенти. У інстинктивного агента буде фіксована місія і викличе поведінку, якщо він побачить, що навколишнє середовище більше не відповідає призначеної їй мети. Тропічний агент реагує тільки на місцевий стан навколишнього середовища, наприклад, якщо світло, то він біжить. Джерело мотивації у внутрішньому разі приводних агентів, у яких є «місія», відноситься тільки до середовища.
Організаційні парадигми
З розвитком таких систем були розроблені різні організаційні парадигми. Ці структури мультиагентних систем встановлюють межі взаємовідносин і взаємодії між агентами.
Ієрархії. У цій моделі агенти иерархичны у відповідності зі структурою дерева, в якому кожен вузол представляє собою агента і посилання має повноважень на своїх дочірніх сайтах. Ця модель руйнує загальну задачу системи.
Холархий наближається до ієрархії. Між агентом і його підгрупою немає відносин повноважень.
Коаліція є тимчасовим союзом агентів, які об’єднуються і співпрацюють, тому що їх особисті інтереси зустрічаються. Значення коаліції повинно бути більше, ніж сума окремих значень компонентів агентів.
Конгрегації дуже схожі на коаліції і команди. Однак вони покликані бути постійними і, як правило, мають кілька цілей для досягнення. Крім того, агенти можуть входити і залишати конгрегації і одночасно належати кільком.
Товариство являє собою набір різноманітних агентів, що взаємодіють і спілкуються. Вони мають різні цілі, не мають однакового рівня раціональності та однакових можливостей, але всі вони підкоряються загальним законам (нормам).
Агенти федерації віддають частину своєї автономії делегату своєї групи. Групові агенти взаємодіють тільки зі своїм делегатом, який, у свою чергу, взаємодіє з делегатами з інших груп.
Агенти з продажу пропонують товари, на які можуть претендувати агенти покупця. Такий тип організації дозволяє, наприклад, моделювати реальні ринки і порівнювати різні торгові стратегії.
Агенти матричної організації є ієрархічними. Однак на відміну від представленої вище ієрархії, коли агент підпорядковується тільки кільком іншим агентам, ці в одній матричної організації можуть бути піддані кільком іншим.
Комбінації – це об’єднана організація змішує багато стилів, представлені вище. Це може бути, наприклад, коаліція або ієрархія команд.
Штучний розум
Мета когнітивної науки – зрозуміти природу і роботу штучного інтелекту – це те, що обробляє внутрішню інформацію, щоб зробити її цілеспрямованою. Безліч понять відповідають цьому опису: люди, комп’ютери, роботи, сенсорні системи, список нескінченний. Одним із видів такої системи, що представляє особливий інтерес для когнітивних вчених, є штучний самостійний агент , який впливає на інформацію.
Інтелектуальний агент (ИА) здатний приймати рішення на основі свого досвіду і може вибирати дії в різній ситуації. Як припускає термін «штучний», вид автономних агентів, що представляють інтерес – це не те, що створено природою. Отже, штучний агент – це все те, що створюється людьми, здатна до дій на основі інформації, яку він сприймає, своїх власних переживань, рішень і дій.
Область внеприродного інтелекту надає технічні навички для перекладу бажаних типів агентів в мову програмування, супутнє ЗА і відповідну архітектуру (апаратне і супутнє ПО) для реалізації агента в реальному або моделюваному світі.
Середа сприйняття світу
Агент – це все, що приймає середу через датчики і впливає на неї через еффектори, що звучить досить просто. Це визначення агента охоплює широкий спектр машин: від термостатів до об’єктів, які фактично можуть вивчити невеликий репертуар поведінки.
Датчики – це інструменти, використовувані агентом для збору інформації про своєму світі. Клавіатура і відеокамера можуть працювати як датчики, якщо вони пов’язані з програмою-агентом. В кінці відповіді системи виконавці – це інструменти, використовувані агентом для впливу на навколишнє середовище. Прикладами ефекторів є монітор, принтер і роботизована рука.
Зазвичай середовище – це домен або світ агента. Ці домени, принаймні на даний момент, повинні бути обмежені конкретними типами ситуацій, щоб уникнути необмежених можливостей повсякденного світу.
Автономна система впливу
Автономний агент – це «система, що знаходиться всередині і частина середовища, яка сприймає цю середу і діє на неї з часом, в цілях здійснення своєї власної порядку денного і для того, щоб впливати на те, що вона відчуває в майбутньому». Це визначення Франкліна і Грейссера відображає всі основні функції інтелектуальних агентів, крім їх товариськості. Це забезпечує хороше наближення основних особливостей великої різноманітності ІА, що знаходяться в розробці.
Такі агенти відчувають своє середовище. Але тут сенсорні дані або сприйняття включають не тільки дані про інші об’єкти, але і вплив самого агента на стан справ в навколишньому середовищі. Датчики можуть бути органічними, такими як очі і вуха, і їх нейронні процесори, або штучні, такі як відео – і аудіопроцесори, вбудовані в цифровий комп’ютер. Навколишнє середовище може бути дуже обмеженою областю, наприклад, замкнутим простором, або дуже складною, такою як фондовий ринок або набір астероїдів. Датчики повинні відповідати типам об’єктів, з якими агент взаємодіє.
Рефлексний тип взаємодії
Агент-рефлектор має більш складний механізм. Замість безпосереднього динамічного ставлення до навколишнього середовища він шукає те, що він повинен робити, у списку правил. Агент рефлексу реагує на певне сприйняття з запрограмованим відповіддю. Навіть якщо є тисячі можливих реакцій на дане сприйняття, у агента є вбудований список правил дії ситуації, щоб виконати ті реакції, які вже були розглянуті програмістом. Правило дії ситуації в основному є гіпотетичним імперативом.
Рефлексні агенти дійсно не дуже яскраві. Вони просто не можуть впоратися з новинкою. Інтелектуальний агент містить функції своїх менш складних родичів, але він не настільки обмежений. Він діє згідно з порядком денним. У цього є набір цілей, які він активно переслідує. Агент, заснований на цілі, має уявлення про поточний стан середовища і про те, як ця середовище зазвичай працює. Він переслідує основні стратегії або цілі, які не можуть бути негайно досягнуті. Це робить агента активним, а не тільки реактивним.
Цільова функціональна утиліта
У більш складних агентів застосовується службова захід для різних можливих дій, які можуть бути виконані в середовищі. Цей складний планувальник є агентом, заснованим на послуги. Агент, заснований на послуги, буде оцінювати кожен сценарій, щоб дізнатися, наскільки він досягає певних критеріїв щодо отримання хорошого результату. Такі речі, як ймовірність успіху, ресурси, необхідні для виконання сценарію, важливість досяжну мету, час, який буде потрібно, можуть бути враховані в розрахунках функцій корисності.
Оскільки програміст не може, як правило, прогнозувати всі стани світу, з якими буде стикатися агент, кількість правил, які потрібно було б написати для рефлекторного агента, було б астрономічним навіть у дуже простих областях, наприклад, плануванням нарад або організацією транспортних маршрутів і поставок.
Базовий цикл управління
З урахуванням визначення інтелектуального агента можна розглянути базовий цикл управління, написаний теоретиком агента Майклом Вуладричем у 2000 році:
- дотримуватися світ;
- оновити внутрішню модель світу;
- досягти навмисне намір;
- використовувати засоби / цілі, щоб отримати план для намірів;
- виконати план;
- завершити процес.
Ця модель має потребу в деякій інтерпретації. Агент спостерігає світ – це означає, що він, використовуючи свої датчики, збирає сприйняття. Сенсором може бути клавіатура, прикріплена до цифрового комп’ютера, або візуальний процесор, прикріплений до робота. Це може бути все, що дозволяє агенту збирати уявлення про світ. Оновлення внутрішньої моделі означає, що агент додає нове сприйняття своєї послідовності сприйняття і запрограмованої інформації про світ.
Платформи для розробки декількох агентів
AnyLogic – многоагентное і багатокомпонентне програмне забезпечення для моделювання CORMAS з відкритим вихідним кодом, заснована на об’єктно-орієнтованій мові програмування SmallTalk.
DoMIS – інструмент для проектування багатоагентних систем, орієнтований на «оперативний контроль складних систем» і на основі методу проектування B-ADSC.
JACK – мова програмування и середовище розробки для когнітивних агентів, розроблена Agent Oriented Software як орієнтованого на агентів розширення мови Java.
GAMA – платформа моделювання з відкритим вихідним кодом (LGPL), пропонує просторово явну середовище моделювання на основі агентів з використанням даних ГІС для опису агентів та їх середовища.
JADE (Java Agent DEVELOPMENT) є основою розробки мультиагентних систем з відкритим вихідним кодом, і на основі мови Java.
Сім моделей стандарту
В еволюційному процесі досліджень з’являється більший внесок у те, як створити таку систему, яка є надійним і являє собою більш високий рівень якості. Тенденція до продовження полягає у доповненні або розширенні існуючих методів, яким вдалося консолідувати прийняття рішення в рамках розвитку.
Методологічний стандарт дозволяє, по зрозумілим та простим способом, створити МАС, не тільки використовуючи природний мову, але і використовуючи шаблони опису, які допомагають у специфікації системи.
У методологічному стандарті пропонуються сім моделей проблем або їх розв’язання для побудови МАС:
- Сценарийная модель, що описує компанію або організацію.
- Модель цілей і завдань визначає і описує органічну структуру.
- Модель агента визначає людей та автономні системи.
- Рольова модель пов’язує цілі і завдання з певним агентом.
- Організаційна модель описує середовище, з якою пов’язаний окремий агент.
- Модель взаємодії описує зв’язок, підкреслюючи їх координацію агентів.
- Модель проектування визначає агент і мережеву архітектуру.
Приклади взаємодії між агентами
МАС використовуються для імітації взаємодії між автономними агентами. Застосування мультиагентних систем, наприклад, в соціології дозволяє завдний різні агенти, складові співтовариство. Додаючи обмеження, можна спробувати зрозуміти, який буде найбільш ефективний компонент для досягнення очікуваного результату. Вони повинні експериментувати зі сценаріями, які не були б досяжні реальними людьми, яких з технічних або етичних причин.
Розподілений ІА був створений, щоб вирішити проблеми складності великих монолітних програм неприродної інтелекту – виконання, розподіл і централізований контроль. Для вирішення складної проблеми іноді легше створювати відносно невеликі програми (агенти) у взаємодії, ніж одна велика монолітна програма. Автономія дозволяє системі динамічно адаптуватися до непередбачуваних змін у навколишньому середовищі.
Приклади мультиагентних систем в ігровій індустрії численні і різноманітні. Вони використовуються у відеоіграх і у фільмах, в тому числі в програмному забезпеченні MASSIVE , наприклад, щоб симулювати рух натовпу в трилогії Володар кілець. Вони також можуть використовуватися компаніями, наприклад, для відстеження поведінки клієнтів, що проглядають веб-сайти.
МАС також використовуються в світі фінансів. Наприклад, платформа MetaTrader 4 дозволяє використовувати експертні агенти автоматичної торгівлі, які йдуть курсами Forex
Переваги у використанні системи
У дослідженнях ІА технологія систем на основі агентів була сприйнята, як нова парадигма для концептуалізації, розробки та впровадження програмних систем. Переваги підходу з кількома агентами MAS:
- Розподіляє обчислювальні ресурси і можливості в мережі взаємопов’язаних агентів.
- Дозволяє здійснювати міжз’єднання і взаємодія декількох існуючих застарілих систем.
- Охоплює різні області, включаючи обслуговування повітряних суден, електронні гаманці на купівлю книг, військове розмінування, бездротовий взаємодія і зв’язок, планування військової логістики, система управління ланцюгами поставок, спільне планування місій, фінансове управління портфоліо.
У дослідженнях ІА-технологія систем на основі агентів була сприйнята як нова парадигма для концептуалізації, проектування, впровадження та мультиагентного навчання програмних систем.
Таким чином, МАС – це слабосвязанная мережа програмних агентів, що взаємодіють для вирішення проблем, що виходять за рамки індивідуальних можливостей чи знань кожного виконавця проблем.