Ноу Інти, лекція, мультиагентні технології

Презентацію до лекції Ви можете завантажити тут.
Під Мультиагентний технологіями зараз часто розуміють як технології розробки і використання мультиагентних систем (MAC) [2.1]. так і мультиагентних управління (МАУ).
Завдання управління і розподіленого взаємодії в мережах динамічних систем залучають в останнє десятиліття увагу все більшого числа дослідників. Багато в чому це пояснюється широким застосуванням мультиагентних систем в різних областях, включаючи автоматичне підстроювання параметрів нейронних мереж розпізнавання, управління формаціями, роїння, розподілені сенсорні мережі, управління перевантаженням в мережах зв'язку, взаємодія груп БПЛА, відносне вирівнювання груп супутників, управління рухом груп мобільних роботів, синхронізації в енергосистемах і ін.
На практиці все частіше використовуються розподілені системи, що виконують певні дії паралельно, для яких актуальна задача поділу пакету завдань між декількома обчислювальними потоками (пристроями). Подібні завдання виникають не тільки в обчислювальних мережах, але також і в виробничих мережах, мережах обслуговування, транспортних, логістичних мережах та ін. Виявляється, що при природних обмеженнях на зв'язку, децентралізовані стратегії здатні ефективно вирішувати такого типу завдання.
Мультиагентний підхід
В основі мультиагентного підходу лежить поняття мобільного програмного агента, який реалізований і функціонує як самостійна спеціалізована комп'ютерна програма або елемент штучного інтелекту.
Спочатку, до появи відповідних інформаційних технологій, "агент" був людиною, яка делегувала частину повноважень - як у виконанні конкретних функцій, так і в прийнятті рішень. У перших (не комп'ютерні) мультиагентних системах агенти представляли співробітників компаній, від імені і за дорученням яких вони взаємодіяли між собою при виконанні певного завдання - наприклад, представники покупця і продавця в торговій мережі або в інших видах бізнесу). Такі системи успадковували багато рис "бюрократичної" організації, включаючи централізацію управління, статичну структуру і вузькоспеціалізовану Агентно функціональність. Зокрема, базовий агент (резидент) отримував завдання, декомпозіровать її і розподіляв підзадачі між іншими агентами, після чого отримував результат і ухвалював рішення - при цьому, як правило, більшість агентів займалися виключно збором і постачанням інформації.
На зміну таким системам, що копіюють централізовану ієрархію, швидко прийшли розподілені системи, в яких знання і ресурси розподілялися між досить "самостійними" агентами, але зберігався загальний орган командного управління, який приймає рішення в критичних або конфліктних ситуаціях. Подальшим кроком в цьому напрямку стала парадигма повністю децентралізованих систем, в яких управління відбувається тільки за рахунок локальних взаємодій між агентами. При цьому вузька функціональна орієнтація агента на рішення якоїсь однієї окремої частини "загальною" завдання поступово стала поступатися місцем універсальної цілісності (автономності). Прикладами таких децентралізованих організацій частково можуть служити колонії комах, наприклад, бджіл або мурах.
Суть мультиагентних технологій полягає в принципово новому методі вирішення завдань. На відміну від класичного способу, коли проводиться пошук деякого чітко визначеного (детермінованого) алгоритму, що дозволяє знайти найкраще вирішення проблеми, в мультиагентних технологіях рішення виходить автоматично в результаті взаємодії безлічі самостійних цілеспрямованих програмних модулів - так званих агентів.
Найчастіше класичні методи вирішення завдань або непридатні до реального життя (не важко уявити собі, що значить спробувати вирішити задачу управління підприємством в непередбачуваною динамічній обстановці сучасного бізнесу, навіть за допомогою вищої математики), або вони вимагають величезних обсягів розрахунків (для яких не вистачить потужності всіх сучасних комп'ютерів), або вони зовсім відсутні.
Чи означає це, що ситуація, коли точний алгоритм рішення відсутня, безнадійна?
Ні, відповідають мультиагентні технології. Зрештою, людям у своєму житті постійно доводиться в умовах дефіциту часу і коштів вирішувати завдання, які не мають точного формального рішення - і вони вирішуються часто не найгіршим чином.
На рис.3.1 показані в порівнянні дві схеми (з [2.2]) побудови програмного забезпечення: традиційна і на базі мультиагентної системи. У MAC кожної сутності ставиться у відповідність програмний агент. який представляє її інтереси.
Справа в тому, що людині властивий інтелект - це його відрізняє від комп'ютера, чинного строго по закладеної в нього програмою. Те, що дозволяє йому орієнтуватися в складній обстановці, мати справу з нечітко поставленими завданнями, адаптуватися до мінливих умов. Невизначеність присутній, коли існує набір альтернатив, і неможливо передбачити, який з варіантів виявиться кращим після досить тривалого часу.
При складанні розкладів руху вантажівок, це та ситуація, коли, наприклад, існує вибір між декількома вантажівками, які перевозять вантажі, декількома шляхами, які можуть бути використані для досягнення різних точок призначення, і багатьма водіями, які можуть управляти вантажівками. Кожен з ресурсів (вантажівка, дорога і водій) мають різні властивості.
Мал. 3.1. Схеми побудови програмного забезпечення
Невизначеність зростає в ситуаціях, коли можливі непередбачувані події, такі як зміни в умовах поставок або попиту, аварії або збої ресурсу, затримки, скасування замовлень, тощо [2.3].
А чи є інтелект. скажімо, у колонії мурах?
З одного боку, кожен окремо взятий мураха, очевидно, їм не володіє. З іншого - колонія в цілому проявляє дивовижні зразки поведінки, яке багато в чому може вважатися інтелектуальним. Такі ситуації називаються проявом Емерджентні інтелекту, або несподіваних властивостей, якими володіє система, але не володіє жоден входить в неї окремий елемент. Виникає при цьому ефект "інтелектуального резонансу" часто так і називають "Інтелект рою". Дійсно, інтелект і фізична сила однієї бджоли не такі великі, але рій бджіл, узгоджено діючий, може перемогти ведмедя і навіть людини. Агенти дуже схожі на членів команди, які можуть змагатися один з одним або співпрацювати в процесі прийняття рішення. Ключова особливість Емерджентні інтелекту - динаміка і непередбачуваність процесу прийняття рішень. На практиці це означає, що рішення досягається за рахунок сотень і тисяч взаємодій, які майже неможливо відстежити. Але це і не потрібно, оскільки агентам дають цілі, які вони повинні досягати, але не визначають сценарії виконання завдань по досягненню цих цілей. Ці сценарії формуються і виконуються агентами самостійно. На кожному кроці агенти розглядають входи системи і реагують на непередбачувані події (затримки, збої, зміни). Реакція може бути самостійною, або здійснюватися у взаємодії з оператором. Таким чином, емерджентним інтелект - це не є якийсь один новий і спеціально сконструйований унікальний "блок", доданий до системи. Навпаки, це щось (результат самоорганізації), що виникає як би "з повітря" (за рахунок безлічі прихованих або явних умов, що склалися в ситуації), спонтанно і в заздалегідь не передбачений момент часу, і так само несподівано зникає, але в процесі свого існування визначальним чином керує роботою всієї системи. Тут ми маємо справу з виникненням порядку з хаосу, з одним з тих явищ, які вивчали і описували такі видатні вчені, як Олександр Богданов (теорія організ ації), Ілля Пригожий (самоорганізація в фізичних системах), Марвін Мінський (психологія і теорія мислення) , Артур Кестлер (біологія) [2.2].
мультиагентні системи
На початку XXI ст. група провідних світових вчених [2.4]. пропрацювавши кілька років, склала список пріоритетних завдань кібернетики на найближчі 50 років. Серед них:
- динамічно реконфігурованих прання використовується
- асинхронна теорія управління,
- управління через Інтернет,
- перепрограмування системи управління бактеріями,
- створення футбольної команди роботів, яка виграє у переможця кубка світу серед людей.
MAC кардинально відрізняються від традиційних "жорстко" організованих систем, і, в перспективі, здатні допомогти у вирішенні цих завдань.
Початок побудови моделей і застосування штучних мультиагентних систем (MAC) на практиці було покладено в 1960-х роках. В якості основи були взяті досягнення таких областей діяльності людини, як системи штучного інтелекту (Artificial Intelligence), паралельні обчислення (Parallel Computing), розподілене рішення задач (Distributed Problem Solving). Багатоагентні системи мають реальну можливість інтегрувати в собі самі передові досягнення перерахованих областей, демонструючи принципово нові якості [2.5]. Зараз MAC - одне з найбільш динамічно розвиваються і перспективних напрямків в області штучного інтелекту [2.5].
Відкритий характер сучасного інформаційного суспільства та глобальної ринкової економіки призводить до прискорення науково-технічного прогресу і загострення конкуренції на ринках. Це змушує підприємства шукати нові методи і засоби організації і управління, спрямовані на більш якісне і ефективне задоволення індивідуальних запитів споживачів. Більшість сучасних систем характеризуються відсутністю коштів своєчасної ідентифікації нових потреб і можливостей в середовищі, що дозволяють підприємству оперативно приймати ефективні рішення по реконфігурації виробничих, кадрових, фінансових та інших ресурсів. Типовими прикладами подій, що викликають необхідність заново ідентифікувати потреби та можливості, є: поява нового вигідного замовлення, для виконання якого недостатньо власних ресурсів підприємства, вихід з ладу частини наявних ресурсів, а також зміна критеріїв прийняття рішень. Чим вище невизначеність, ніж більш розподілений характер і меют процеси прийняття рішення і чим частіше трапляються незаплановані події, тим нижче ефективність існуючих систем, не здатних самостійно приймати рішення і автоматично перебудовуватися під зміни в середовищі [2.6]. Крім того, необхідність модифікації схеми прийняття рішень в традиційних системах виявляється складною і трудомісткою завданням, яке вимагає високої кваліфікації виконавців. Це робить розробку і експлуатацію таких систем вкрай дорогими. Відповідно, ще однією актуальною проблемою сьогодення стає зростання обсягів інформації і ступеня складності опису систем.
Для вирішення подібних проблем застосовуються мультиагентні технології, в основі яких лежить поняття "агента", яке останнім часом було адаптовано до багатьох областям як прикладного і системного програмування, так і до досліджень в областях штучного інтелекту і розподілених інтелектуальних систем. Причому в кожному конкретному випадку поняттю надається дещо різне значення.