Лекція 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. Приклади задач, які ставляться перед колективами робототехнічних агентів:
виявлення порушника деякого охоронного периметру колективом мобільних роботів, які виконують функції вартових,
виявлення замаскованого командного пункту колективом безпілотних літа