Мультиагентна система складається з багатьох взаємодіючих програмних сутностей (відомих як агенти), які, як правило, мають можливості об’єднуватися для розв’язання проблем. Мультиагентні системи важливі тому, що вони успішно застосовуються в різноманітних галузях - від інженерних керуючих систем до електронної комерції. Даний курс призначений ознайомити вас з агентним підходом до розв’язання проблем та зрозуміти як створювати агентів, як визначати їх взаємодію і ефективно вирішувати складні задачі.
Цілі курсу:
зрозуміти що таке агент і мультиагента система і де їх доцільно застосовувати;
вивчити основні проблеми, що виникають при створенні агентів, які підходи та алгоритми розробки агентів на сьогодні використовуються;
як визначається взаємодія між агентами;
які є моделі та методи навчання в мультиагентних системах.
Перетин трьох областей:
| Навчальна програма | інформація про дисципліну |
|---|---|
| Всього кредитів/годин | 4/144 |
| Лекцій | 18 |
| Практик | 9 |
| Семестровий контроль | іспит |
Лабораторні роботи. 6 лабораторних. (по 8 балів - 48 балів)
Проміжний контроль. Контрольна робота. (20 балів)
Іспит (письмовий - 32 бала)
Вступ: що таке агенти і мультиагенті системи (МАС).
Mультиагентні системи з NetLogo.
Алгоритми пошуку (DFS, BFS).
Марковські процеси вирішення. Алгоритм Белмана (VIA).
Задача з розподіленими обмеженнями. (АВТ)
Некооперативні ігри. Стратегічна і розширена форма.
Координаційні ігри.
Навчання в МАС. Q-навчання.
Коаліційні і кооперативні ігри.
Аукціони. Механізми - теорія і алгоритми.
Виконання лабораторних робіт у системі NetLogo. NetLogo це мультиагентне середовище для створення, програмування та запуску МАС. Широко викристовується з навчальною метою. Java-based, cross-platform.
Сучасні МАС настільки тісно переплетені з темою штучного інтелекту (artificial intelligence - AI) (ШІ), що їх практично неможливо розділити. Повної тотожності між ними немає, але область перетину дуже суттєва. В даному курсі ми оперуємо поняттям агента (agent), яке є центральним. Точне визначення дати проблематично: кількість визначень, на мою думку, перевищує кількість дослідників. Приблизне, інтуітивно зрозуміле визначення, наступне:
“Агентом називається будь-що, що може сприймати своє середовище через сенсори та діяти на середовище через актуатори” — Russell and Norvig, 2003
Artificial Intelligence A Modern Approach by Stuart J. Russell and Peter Norvig
Агента, який завжди намагається оптимізувати певний критерій функціонування, будемо називати раціональним (rational) агентом. Таке визначення досить загальне, та може застосовуватися до будь-яких систем. Загалом можна визначити ШІ як науку про принципи створення раціональних агентів. Агенти дуже рідко розглядаються окремо. В основному розглядаються ситуації співіснування та взаємодії агентів. Системи, що складаються з групи агентів, які можуть взаємодіяти називаються мультиагентними системами, а відповідні области ШІ називаються розподіленим ШІ РШІ (distributed AI). Отже, агент це обчислювальна сутність, яка може отримувати інформацію з середовища, впливати на нього та є автономною, тобто будує свою поведінку принаймі частково на основі власної інформованості/досвіду. Раціональний агент має гнучко змінювати свою поведінку при зміні зовнішніх умов. Поведінкові властивості агента - його ключові характеристики - досягаються за рахунок імплементації у його алгоритм прийняття рішень базових процесів:
-розв’язання задач, -планування, -прийняття рішень, -навчання.
Також агенту потрібно враховувати взаємодію з іншими агентами. Принципово важлива ідея тут полягає у проблемно-орієнтованому підході до координації за умов кооперації і конкуренції. У випадку кооперації декілька агентів намагаються досягти цілі, яка не під силу окремому агенту. Загальну проблему цього напрямку РШІ можна сформулювати наступним чином:
розробка механізмів та методів, що гарантують агентам взаємодію на людському рівні (або краще) та розуміння процесів взаємодії розумних обчислювальних сутностей. Спрощуючи, результатом має бути алгоритм, який скаже кому як і з ким взаємодіяти (у кожен момент часу).
Навчання:
Основна ідея навчання з підкріпленням: побудова відображення історії X стан у простір дій.
Виділяють дві причини, які обумовили розвиток МАС. Перша полягає у застосуваннях в області комп’ютерних наук. Сучасні обчислювальні платформи (і взагалі всі інформаційні системи) стають розподіленими, великими, відкритими і різнорідними. Прилади (комп’ютери, сервери, будь-які речі з виходом у мережу) об’днуються в одну супермережу - Інтернет. В той же час вони можуть бути елементом і декількох менших локальних або глобальних мереж. Раніше кількість точок підключення до мережі була менше за кількість користувачів, тепер у кожного користувача може бути 4-5 приладів підключення. Хоча обчислювальні ресурси удосконалюються, кількість даних, що генерує людство збільшується ще швидше. Все це спричиняє підвищення складності систем і алгоритмів їх роботи. Ці системи стають занадто складними щоб бути повністю описаними і зрозумілими. Чим більш розподіленими ці системи стають, тим більш схожими поведінки їх частин стає схожою на окремих “індивідумів”, до яких можуть застосовуватись такі атрибути, як раціональні, автономні або інтелектуальні. МАС досліджує проблеми, що виникають за таких умов на високому рівні абстракції, та допомагає роз’язати багато супутніх проблем. Друга причина пов’язана з розвитком соціуму. МАС грають значну роль у розробці та аналізі моделей взаємодії людей за різних умов. Люди взаємодіють різними способами та на різних рівнях: вони намагаються передбачити поведінку інших, отримують та надають інформацію, проводять переговори і дискусії, поширюють погляди на розвиток суспільства, розв’язують конфлікти та утворюють організаційні структури - команди, фірми, держави. Ці інтерактивні процеси мабуть вперше можуть бути виміряні і задокументовані в реальному часі, але необхідне теоретичне соціологічне та психологічне підгрунтя для їх кращого розуміння.
швидкість та ефективність виконання обчислень (оскільки агентність додає асинхронності і паралелізму); надійність системи (оскільки відмова одного агента не може значно погіршити роботу); маштабованість та гнучкість системи (оскільки додавати агентів досить просто); простоту розробки та повторне використання (модулярну систему простіше будувати); вартість. Ціна знижується, оскільки відбувається декомпозиція на окремі прості підсистеми;
Artificial Intelligence A Modern Approach by Stuart J. Russell and Peter Norvig
MULTIAGENT SYSTEMS Algorithmic, Game-Theoretic, and Logical Foundations by Yoav Shoham and Kevin Leyton-Brown
Fundamentals of Multiagent Systems with NetLogo Examples by José M Vidal
An Introduction to Agent-Based Modeling Modeling Natural, Social, and Engineered Complex Systems with NetLogo by Uri Wilensky and William Rand
NetLogo Tutorial Notes by Steven O. Kimbrough
Artificial Intelligence (AI) EdX: https://courses.edx.org
Agent-Based Modeling and Multiagent Systems using NetLogo Youtube.com
RL Course by David Silver Youtube.com