Лекція 2. Поняття агента в ТКП. Узагальнена функціональна структура агента. 2.1. Визначення інтелектуальної системи (агента). Інтелектуальним називається агент, який здатен діяти автономно та гнучко (flexible) для досягнення поставлених перед ним цілей, при цьому під гнучкістю розуміють:
? реактивність (reactivity) або дієвість (від "дієвий"): інтелектуальні агенти здатні сприймати (perceive) оточуюче їх середовище і своєчасно реагувати (respond) на зміни, що відбуваються в середовищі, для досягнення поставлених перед ними цілей;
? про-активність (pro-activity) або цілеспрямованість: інтелектуальні агенти здатні демонструвати цілеспрямовану (goal-directed) поведінку шляхом виявлення ініціативи (taking the initiative) в досягненні поставлених перед ними цілей;
? здантість до спільної діяльності (social ability) або колективність: інтелектуальні агенти здатні взаємодіяти один з одним (і можливо з людиною) для досягнення поставлених перед ними цілей. 2.2. Поняття середовища агента. Типи середовища. 2.2.1. Середовище можна розглядати як найближче оточення агента, з яким він безпосередньо взаємодіє (приклади: операційне середовище для програмного агента, задана ділянка марсіанської поверхні для Mars Explorer-а). Складність середовища, в якому функціонує агент, впливає на складність процесу прийняття рішення. 2.2.2. З цієї точки зору середовища можна поділити на типи за наступними класифікаційними ознаками [Russel and Norvig, 1995]: 1. Доступне (accessible) / Недоступне (inaccessible). Доступне середовище – це середовище, в якому агент може отримати повну, точну та найновішу інформацію пр стан середовища. Більшість складних середовищ є недоступними. 2. Детерміноване (deterministic) / Недетерміноване (non-deterministic). Детерміноване середовище – це середовище, в якому кожна дія має один і той самий гарантований результат, тобто відсутня невизначеність відносно того, в який стан перейде середовище після реалізації даної дії агента. 3. Епізодичне (episodic) / Не епізодичне (non-episodic). В епізодичному середовищі ефективність дії агента залежить від кількості окремих епізодів взаємодії з середовищем, яки не охоплені причинно-наслідковими зв’язками. При цьому відсутній взаємозв’язок між продуктивністю дій агента і різними сценаріями розвитку подій. В більш складному не епізодичному середовищі агент має враховувати взаємозв’язок між біжучим та наступним епізодами. 4. Статичне (static) / Динамічне (dynamic). Статичне середовище – це середовище, яке не змінюється, якщо агент не здійснює в ньому ніяких дій. Динамічне середовище – це середовище, в якому протікають деякі процеси, що змінюють стан середовища незалежно від дій агента. 5. Дискретне (discrete) / Неперервне (continuous). Середовище називається дискретним якщо існує постійне обмежене число доступних в цьому середовищі дій та характеристик середовища, що розпізнаються (сприймаються) агентом. 2.3. Узагальнена функціональна структура агента. 2.3.1. Узагальнена функціональна структура агента складається з п’яти блоків (рис.1). S (sense) – сенсорна система; відповідає за отримання інформації про стан середовища, наприклад, у вигляді значень параметрів, що вимірюються давачами сенсорної системи (температура, тиск, радіоактивність), або у вигляді зображень, отриманих за допомогою відеокамери. C (communicate) – блок інформаційної взаємодії з іншими агентами; забезпечує обмін інформацією заданого змісту та формату з сусідніми агентами. E (estimate) – блок оцінки; формує сигнал програшу або виграшу на основі інформації про біжучий стан середовища та інформації від блока інформаційної взаємодії. D (decide) – блок прийняття рішеннь; відповідає за вибір наступної дії, виходячи з інформації про успішність попердніх дій (приклад: автомат з лінійною тактикою, який забезпечує сходимість до виграшного рішення в умовах стаціонарного випадкового середовища). A (actuate) – виконавча система; забезпечує виконання (реалізацію) обраних дій (прийнятих рішень) (наприклад, реалізує переміщення агента у просторі в обраному напрямку). 2.4. Формальний опис системи <середовище, колектив>. В усіх наступних позначеннях верхній індекс задає ідентифікатор {стану, дії}, а нижній індекс – порядковий номер {стану, дії} в часі. 2.4.1. Стани сереовища, дії агента, поведінка. - E = {e1,e2,….,ek} – множина усіх можливих станів середовища (припускаємо що вона є скінченною), - Ac = {d1,d2,….,dn} – набір доступних агенту дій (алфавіт дій), - r – поведінка (набір епізодів взаємодії агента з середовищем): d0 d1 d2 d3 dv-1 r: e0> e1 > e2 > e3> ... > ev, - R – множина усіх можливих скінченних послідовностей (поведінок) для заданих E та Aс, - RAc ( R – всі послідовності, які завершуютсья дією агента, - RЕ ( R - всі послідовності, які завершуються станом середовища. 2.4.2. Середовище, агент, колектив. - ( : RAc > f (E) - функція відображення (функція середовища), відображає поведінку агента (RAс) у деяку підмножину станів середовища, - Env = <E, e0, (>, cередовище – це трійка <E, e0, (>, де E – множина всіх можливих станів середовища, e0 - початковий стан середовища, ( - функція середовища. - Ag : RЕ > Ac - модель (функція) агента, відображае попередню історію розвитку подій (RЕ) у наступні дії агента, - MAS = {Agi}, i = 1,…,N - колектив (багатоагентна система), який складається з N агентів, - S = <Env, MAS> - загальна система <середовище, колектив>. 2.5. Цільовоа функція агента (agent utility function). 2.5.1. Треба розрізняти функцію оцінки або виграшу (estimation function) та цільову функцію (utility function). Функція оцінки розраховується для кожного біжучого такту взаємодії агента з середовищем, виходячи з сприйнятого агентом стану середовища в цьому такті (функцію оцінки іноді називають відгуком середовища на дію агента). Цільова функція розраховується на основі біжучого значення функції виграшу та значень функції виграшу в попередніх тактах взаємодії. Функція оцінки визначає в який спосіб агент накопичує свій інтегральний ("підсумковий") виграш, на основі якого він приймає рішення про вибір своїх наступних дій. 2.5.2. Звичайний спосіб задання цільової функції полягає в тому, щоб запрограмувати агента, тобто вказати в яких обставинах, яку послідовність дій виконувати (так зване програмне управління). Цей спосіб не підходить, якщо ми маємо справу з непередбачуваними або невідомими наперед обставинами. В цьому випадку нам треба вказати агенту що робити, замість того, щоб вказувати як це робити (в який спосіб). Одним з можливих підходів до цього є непрямий опис задачі за допомогою деякої міри ефективності (задача оптимізації). 2.5.3. Два основних способи визначення функції оцінки (виграшу) як показника ефективності дій агента: 1. Кожному стану середовища (множина E) відповідає деяке числове значення (наприклад, з множини дісних чисел () показника ефективності. Це значення показує наскільки "добрим" (вигідним) для агента є цей стан середовища. Ця оцінка є локальною за часом. u1 : E > (. 2. Кожній з усіх мжливих поведінок агента (множина R) відповідає деяке числове значення показника ефективності. Ця оцінка є довготерміновою. u2 : R > (. 2.5.4. Цільова функція агента визначає в який спосіб показники ефективності по різних станах середовища або по різних поведінках агента об’єднуються в одну величину, яка враховується блоком прийняття рішень при виборі наступних дій агента. ?(u) Ag: RE > Ac Як правило, перед агентом ставиться завдання максимізувати значення цільової функції ?(u). Вигляд цільової функції обирається розробником в залежності від задачі, для вирішення якої проектується агент. 2.5.5. Приклади цільових функцій (T-біжуча кількість тактів взаємодії з середовищем, uj – показник ефективності дій агента (виграш) в j–му такті взаємодії з середовищем): 1. - агент "зацікавлений" у знаходжені стану середовища з найбільшим uj, 2. - агент "зацікавлений" у максимізації сумарного виграшу, 3. - агент "зацікавлений" у максимізації середнього по часу виграшу. 2.6. Класифікація агентів. Приклади змістовної інтерпретації. 2.6.1. Розглянемо класифікацію автономних агентів (рис.2), запропоновану С.Франкліном (Stan Franklin) та А.Грассером (Art Graesser).
Рис.2. Класифікація агентів [Stan Franklin and Art Graesser, 1996] 2.6.2. Змістовна інтерпретація. Прикладом робототехнічних агентів (robotics agents) можуть бути - мобільний наземний робот (mobile robot, unmanned ground vehicle (UGV)), - безпілотний літальний апарат (unmanned flying (air) vehicle (UAV)), - автономний підводний апарат (autonomous underwater vehicle (AUV)). 2.6.3. Приклади задач, які ставляться перед колективами робототехнічних агентів: виявлення порушника деякого охоронного периметру колективом мобільних роботів, які виконують функції вартових, виявлення замаскованого командного пункту колективом безпілотних літа