Визначимо ще раз базові поняття.
Два головних шаблони координації: кооперація і конкуренція. У випадку кооперації декілька агентів працюють разом і намагаються найкращим чином використати свої знання та властивості для досягнення спільної мети. У випадку конкуренції декілька агентів працюють один проти одного, оскільки їх цілі конфліктують. Кооперативні агенти утворюють команду, яка можливо досягне цілі, недосяжної для окремих агентів. Якщо така команда досягає успіху, то виграють всі агенти, які у неї входять. Це саме вірне і у випадку провалу - не виграє жоден агент. Конкурентні агенти намагаються максимізувати свій виграш за рахунок інших, тобто виграш одного означає програш інших.
конкуренція vs кооперація
При постановці задачі побудови МАС, потрібно визначити поняття розв’язку.
Оптимальний розв’язок. Оптимальний розв’язок задачі полягає у знаходженні розв’язку, який є найкращим відповідно до певного (числового) критерію. Наприклад, в теорії прийняття рішень таким критерієм є функція корисності.
Гарантований розв’язок. Розв’зок, який гарантує якість рішення (відповідно до вибраного критерія) не нижче чим.
Прийнятний розв’язок. Досить часто агенту не потрібно (не має можливості, часу, ресурсів) шукати найкращий розв’язок. За таких умов будь-який розв’язок, що досягає мети може підійти.
Майже оптимальний розв’язок. Іноді знаходження оптимального розв’язоку вимагає таких витрат, що шукають розв’язок, який гарантовано потрапляє в окіл оптимального. Досить часто це потребує набагато меншої кількості зусиль.
Ймовірностно оптимальний розв’язок. Стохастичні системи відрізняються тим, що критерії у них можкть бути лише ймовірностні.
Які головні аспекти вирізняють МАС від створення окремих агентів? Можна виділити наступні характеризуючі напрямки.
Традиційно виділяють два типи РШІ систем:
Спочатку основний акцент розвитку МАС припадав на системи з координацією, але зараз ці напрямки рівноправні. Протягом цього курсу ми будемо вживати терміни МАС і РШІ як синоніми. Роль, яку відіграє МАС в РШІ подібна до до ролі концепції індивідуального агента в класичному ШІ. І ШІ і РШІ досліджують обчислювальні аспекти інтелектуальності, але з різних точок зору та за різних припущень. Там, де традиційний ШІ розглядає агентів як “окремі інтелектуальні системи” та інтелектуальність окремої виділеної системи , РШІ зосереджується на агентах як на “з’єднаних інтелектуальних системах” та на інтелектуальних властивостях взаємодії таких систем. Традиційний ШІ сфокусовано на когнітивних процесах всередині окремого агента, РШІ - на соціальних процесах поміж груп агентів. Там, де ШІ черпає ідеї та терміни з психології та науки про поведінку, РШІ використовує для цього соціологію та економіку. Таким чином, РШІ не спеціалізація а узагальнення ШІ.
Застосування МАС (як і застосування ШІ) важко описати. Нові галузі з’являються, виникають нові ідеї на перетині різних областей. Перерахуємо деякі успішні напрямки:
електронна комерція та електронні ринки, де агенти покупці і агенти продавці торгують на користь своїх користувачів.
моніторинг та керування телекомунікаціними мережами у реальному часі, де агенти відповідальні за перенаправлення дзвінків та підтримання сигнала.
моделювання транспортної системи будь-якого маштабу.
збір та фільтрація інформації з Інтернету.
оптимізація виробничих процесів.
аналіз бізнес процесів.
електронні ігри.
дослідження соціальних явищ, наприклад використовуючі дані з соціальних мереж.
Спільним у всіх (і багатьох інших) застосуваннях є наступні особливості:
Для того щоб побудувати МАС у якій агенти “роблять те що потрібно” потрібно витратити багато зусиль (особливо з огляду на характеристики, описані вище). Загалом рекомендуть два принципи побудови таких систем:
Незалежно від вибраного підходу, як правило, доводиться розв’язувати наступні проблеми:
Як забезпечити здатність агентів декомпозувати їх цілі і задачі, розподіляти їх між іншими агентами та синтезувати проміжні результати і розв’язки.
Як забезпечити здатність комунікації. Якою мовою або за яким протоколм здійснювати комунікацію.
Як надати агентам можливість оперувати такими абстракціями як дії, плани, знання та передавати їх іншим агентам під час взаємодії.
Як надати агентам можливість розуміти та повідомляти інформацію про стан процесу ваємодії. Як їм зрозуміти, що їх зусилля з налагодження координації увінчались успіхом?
Як представляти поняття точки зору і конфлікту. Як синтезувати результати?
Як створювати практичні МАС, інженерія та обмеження.
Як збалансувати локальні обчислення та взаємодію.
Як уникнути небажаної (наприклад хаотичної або коливної) системної поведінки.
Як надати агентам можливість вести переговори та укладати угоди. Які правила та протоколи слід використовувати?
Як агентам утворювати коаліції, організаційні структури та кооперуватись для досягнення мети.
Який формалізм кращий для опису МАС та взаємодії між агентами.
Як створити “інтелектуальний процес” такий як розв’язання проблем, планування, прийняття рішень та навчання у контексте МАС.
Розглянемо просту модель Netlogo:
to setup
clear-all
reset-ticks
create-turtles number [
setxy random-xcor random-ycor]
end
to go
ask turtles [
let around-turtles (other turtles) in-radius 2
ifelse (count around-turtles = 0)
[set heading random 360
forward 1]
[let leader min-one-of around-turtles [distance myself]
ifelse (distance leader < 0.5)
[facexy 0.9 * xcor + angle 0.9 * ycor + (random 11 - 5 )
forward 0.45]
[set heading towards leader
forward 0.4 + random 0.1 ]
]
]
end