You are on page 1of 72

ЛЕКЦІЯ.

Інтелектуальні
агенти
Глибовець М.М.
Логічні агенти
● У цьому розділі розглянемо, як проектувати
агентів, які мають здатність формувати:
● уявлення про світ,
● використовують процес логічного висновку
для отримання нових уявлень про світ,
● застосовують їх для визначення того, що
слід робити.
● У цьому розділі наведемо опис агентів, що
діють на основі знань.
● Ці поняття є центральними у всій сфері
штучного інтелекту.
Агенти та варіанти середовища
● Агент - це все, що можна розглядати як щось, що сприймає навколишнє
середовище за допомогою датчиків і діє на це середовище за допомогою
виконавчих механізмів.
● Ця проста ідея проілюстрована так:
Агенти
● Робот, який виступає в ролі агента, може мати в якості датчиків
відеокамери та інфрачервоні далекоміри, а його виконавчими
механізмами можуть бути різні двигуни.
● Програмне забезпечення, що діє як агент, отримує коди натискань
клавіш, вміст файлів і мережеві пакети як вхідні датчики, і його вплив
на навколишнє середовище виражається в тому, що програмне
забезпечення відображає дані, записує файли та передає мережеві
пакети.
● Ми приймаємо загальне припущення, що кожен агент може
сприймати власні дії (але не завжди їх результати).
● Ми використовуємо термін «сприйняття» для позначення
сенсорних даних, отриманих агентом у будь-який момент часу.
● Послідовність актів сприйняття агента - це повна історія всього, що
коли-небудь було сприйнято агентом.
Агенти. Зовнішній опис
● Взагалі кажучи, вибір дії агента в будь-який момент часу може залежати від
всієї послідовності перцептивних актів, що спостерігалися до цього
моменту часу.
● Якщо можна визначити, яка дія буде обрана агентом у відповідь на будь-
яку можливу послідовність можливих актів сприйняття, то можна дати
більш-менш точне визначення агента.
● З математичної точки зору, це рівнозначно твердженню, що поведінка агента
може бути описана певною функцією агента, яка відображає будь-яку певну
послідовність можливих актів сприйняття з деякою дією.
● Можна розглянути задачу створення табуляційної функції агента.
● Для більшості агентів це була б дуже велика таблиця (практично нескінченна),
якщо немає обмеження на довжину послідовностей перцептивних актів.
Проводячи експерименти з агентом, таку таблицю в принципі можна
побудувати, перевіривши всі можливі послідовності перцептивних актів і
записавши, які дії агент виконує у відповідь.
● Така таблиця – є зовнішнім описом агента.

Агенти. Внутрішній опис
● Внутрішній опис полягає у визначенні того, яка функція агента для даного
штучного агента реалізована програмою агента.
● Важливо розрізняти два поняття.
● Агентна функція — це абстрактний математичний опис, а програма-агент — це
конкретна реалізація, яка функціонує в архітектурі агента.
● Для ілюстрації цих ідей скористаємося дуже простим прикладом: розглянемо
той світ, що зображений на рис. 2. (Світ, в якому працює пилосмок).

● Рис. 2. Світ пилососів, в якому всього дві локації


Світ пилососів
● Цей світ настільки простий, що можна описати все, що в ньому
відбувається.
● Крім того, це рукотворний світ, тому способів його організації можна
придумати безліч.
● У цьому конкретному світі всього дві локації: квадрати А і В.
● Пилосос, виконуючи роль агента, сприймає, в якому квадраті він
знаходиться і чи є в цій площі сміття.
● Агент може вибирати такі дії, як рух вліво, вправо, всмоктування сміття
або нічого не робити.
● Одна з дуже простих функцій агента полягає в наступному: якщо в
поточному квадраті є сміття, то всмоктувати його, в іншому випадку
переміщати в інший квадрат.

Світ пилососів
● Часткова табуляція цієї функції агента наведена в таблиці 1.

Агенти орієнтовані на меті
● Знання поточного стану оточення не завжди достатньо, щоб вирішити, що
робити.
● Наприклад, на перехресті доріг таксі може повернути ліворуч, повернути
праворуч або поїхати прямо. Правильне рішення залежить від того,
куди потрібно їхати таксі.
● Іншими словами, агенту потрібен не тільки опис поточного стану, а й
якась цільова інформація, яка описує бажані ситуації, наприклад,
доставити пасажира до пункту призначення.
● Програма агента може об'єднувати цю інформацію з інформацією про
результати можливих дій (тією ж інформацією, що використовується для
оновлення внутрішнього стану рефлекторного агента) для вибору дій, які
дозволять досягти поставленої мети.
● Підгалузями штучного інтелекту, які присвячені розробці послідовностей дій,
що дозволяють агенту досягати своїх цілей, є пошук і планування
● Структура цільового агента показана на рис. 3.

Агенти орієнтовані на меті
● Структура цільового агента показана на рис. 3.

● Він стежить за станом світу, а також за багатьма цілями, яких він намагається
досягти, і вибирає дії, які (в кінцевому підсумку) досягнуть цих цілей
● Слід мати на увазі, що такого роду процедура прийняття рішень принципово
відрізняється від описаної вище процедури обумовлення-дії, оскільки
передбачає роздуми про майбутнє, відповідаючи на два питання: «Що буде,
якщо я зроблю так-то?» і «Чи дозволить це мені досягти задоволення?».
Агенти орієнтовані на меті
● У конструкціях рефлекторних агентів така інформація явно не представлена,
оскільки вбудовані правила встановлюють пряму відповідність між
сприйняттям і діями.
● Рефлекторний агент зразу гальмує, коли бачить гальмівні сигнали
транспортного засобу, що рухається попереду, а цільовий агент може
припустити, що якщо стоп-сигнали на автомобілі, що рухається попереду,
горять, він сповільнюється.
● З огляду на принцип, за яким зазвичай змінюється цей світ, для нього єдиною
дією, здатним досягти такої мети, як уникнення зіткнень з іншими
автомобілями, є гальмування.
● Хоча на перший погляд здається, що агент, заснований на цілі, менш
ефективний, він більш гнучкий, оскільки знання, на яких ґрунтуються його
рішення, явно представлені і можуть бути змінені.
● Якщо почнеться дощ, агент може оновити свої знання про те, наскільки
ефективно тепер працюватимуть його гальма;
● Це автоматично призводить до того, що всі відповідні правила поведінки
змінюються відповідно до нових умов. З іншого боку, для рефлекторного
агента довелося б переписати ряд правил умовно-дії.
Агенти засновані на корисності
● Насправді, в більшості середовищ недостатньо враховувати лише мету, щоб
створити якісну поведінку.
● Наприклад, зазвичай існує багато послідовностей дій, які дозволяють таксі
дістатися до місця призначення (і тим самим досягти своєї мети), але деякі з
цих послідовностей забезпечують швидшу, безпечнішу, надійнішу або
недорогу поїздку, ніж інші.
● Цілі допускають лише жорстке бінарне розмежування між станами
«задоволення» і «незадоволеності», тоді як більш загальні показники
ефективності повинні забезпечувати порівняння різних станів світу в
точній пропорції до того, наскільки задоволеним буде агент, якщо вони
можуть бути досягнуті.
● Оскільки поняття «задоволення» не є цілком науковим, частіше
використовується термінологія, згідно з якою стан світу, який є кращим за інший,
розглядається як такий, що має вищу корисність для агента.
Агенти засновані на корисності
● Зрозуміло, що будь-який раціональний агент повинен поводитися так, що б він
намагався максимізувати функцію корисності.
● Таким чином, агент з явно заданою функцією корисності має здатність приймати
раціональні рішення і може робити це за допомогою алгоритму загального
типу.
● Таким чином, «глобальне» визначення раціональності (згідно з яким функції
агента з найвищою продуктивністю вважаються раціональними)
трансформується в «локальне» обмеження на проекти раціональних агентів, яке
може бути виражено у вигляді простої програми.
● Структура такого агента показана на рис. 3

Навчання
● Наше визначення агента на основі корисності вимагає, щоб раціональний
агент не тільки збирав інформацію, а й вчився на базі якомога більше
даних, які він сприймає в процесі роботи.
● Початкова конфігурація агента може відображати деякі попередні знання
про навколишнє середовище, але в міру того, як агент набуває досвіду, ці
знання можуть бути змінені і вдосконалені.
● Бувають крайні випадки, коли навколишнє середовище заздалегідь повністю
відоме.
● У таких випадках агенту не потрібно сприймати інформацію або вчитися;
Просто він відразу діє правильно. Звичайно, такі агенти дуже вразливі.
Навчання
● В успішних агентах завдання обчислення функції агента поділяється на три
окремі періоди:
● коли агент проектується, деякі обчислення виконуються його
розробниками;
● агент виконує додаткові розрахунки, вибираючи одну зі своїх наступних
дій;
● в міру того, як агент вчиться на досвіді, він виконує інші допоміжні
обчислення, щоб вирішити, як змінити свою поведінку.
● Якщо ступінь, в якій агент покладається на попередні знання свого творця, а
не на його сприйняття, занадто висока, то такий агент вважається таким, що
має недостатню автономію.
● Раціональний агент повинен бути автономним - він повинен навчитися
всьому, чого може навчитися, щоб компенсувати неповне або неправильне
апріорне знання.
● Наприклад, засіб для пилососа, який навчений передбачати, де і коли
з'явиться додаткове сміття, безумовно, працюватиме краще, ніж той, який не
може.
Навчання
● З практичної точки зору, від агента рідко вимагається повна автономія з
самого початку: якщо агент має мало або зовсім не має досвіду, він змушений
діяти випадковим чином, якщо тільки дизайнер не надав йому певної
допомоги.
● Після достатнього досвіду існування в навколишньому середовищі поведінка
раціонального агента може стати істотно незалежним від його апріорного
знання.
● Таким чином, включення в конструкцію можливостей навчання дозволяє
проектувати прості, раціональні агенти, які можуть успішно працювати в
виключно широкому спектрі середовищ.


Навчання
● Коротко викладемо основи навчання агентів.

● Структуру агента, що навчається, можна розділити на чотири концептуальні


компоненти.
● Найважливішою тут є відмінність між навчальним компонентом, який
відповідає за внесення поліпшень, і компонентом продуктивності, який
передбачає вибір зовнішніх дій.
● Продуктивний компонент - це те, що трактується як цілісний агент: він
отримує інформацію, яку сприймає, і вирішує, чи виконувати дії.
Навчання
● Навчальний компонент використовує зворотний зв'язок від критика, щоб
оцінити, як працює агент, і визначає, як потрібно модифікувати виробничий
компонент, щоб він працював більш успішно в майбутньому.
● Конструкція навчальної складової багато в чому залежить від конструкції
виробничої складової.
● При спробі сконструювати агента, який навчається певним здібностям, перше
питання, яке слід задати, звучить так:
● «Який продуктивний компонент знадобиться моєму агенту після того, як
він буде навчений виконувати свої функції?»,
● а не питання:
● «Як мені почати навчати його виконувати ці функції?» для поліпшення
будь-якої частини цього засобу.

Навчання
● Критик повідомляє навчальному компоненту, наскільки добре працює агент з
урахуванням послідовного стандарту продуктивності.
● Критика необхідна, тому що самі перцептивні результати не дають ніякої
вказівки на те, чи успішно діє агент.
● Наприклад, шахова програма може отримувати перцептивні результати, які
вказують на те, що вона поставила мат своєму опоненту, але їй потрібен
стандарт продуктивності, який дозволив би їй визначити, що це хороший
результат.
● Самі перцептивні дані про це нічого не говорять.
● Важливо, щоб стандарт продуктивності був послідовним.
● В принципі, цей стандарт слід розглядати як абсолютно зовнішній по
відношенню до агента, оскільки агент не повинен мати можливість
модифікувати його, щоб краще відповідати своїй власній поведінці.
Навчання
● Заключним компонентом агента навчання є генератор проблем.
● Його завдання - підказати дії, які повинні привести до нового і
пізнавального досвіду.
● Справа в тому, що якщо продуктивна складова надана сама собі, вона
продовжує робити тільки те, що найкраще з точки зору того, що вона
знає.
● Але якщо агент готовий трохи поекспериментувати і зробити в
короткостроковій перспективі речі, які можуть бути не зовсім
оптимальними, він може знайти набагато кращі дії в довгостроковій
перспективі.
● Генератор проблем призначений саме для того, щоб пропонувати такі
дослідницькі дії.
● Саме цим і займаються вчені, коли проводять експерименти.
● Галілей не вважав, що кидання каміння з вершини Пізанської вежі є самоціллю. Він не
просто намагався розбити бруківку або фізично тиснути на голови нещасних
перехожих. Його ідея полягала в тому, щоб змінити погляди, що сформувалися в його
власній голові, сформулювавши кращу теорію руху об'єктів.
Визначення проблемного середовища
● У наведеному вище дослідженні раціональності простого засобу для пилососа
ми повинні були визначити показники продуктивності, навколишнє
середовище, а також виконавчі механізми та датчики агента.
● Згрупуємо опис всіх цих факторів під рубрикою «Проблемне середовище».
● Позначимо його PEAS (Performance, Environment, Actuators, Sensors).
● Першим кроком у розробці будь-якого агента завжди має бути
визначення проблемного середовища якомога повніше.
● Приклад, який розглядав світ пилососа, був нескладним.
● Тепер розглянемо більш складну проблему — створення автоматизованого
таксиста.
● Кожен з елементів цього опису більш детально розглядається в цьому розділі.
Визначення проблемного середовища
● Узагальнимо PEAS для проблемного середовища водіння таксі.
● Тип агента: водій таксі
● Показник продуктивності: безпечна, швидка, комфортна їзда в рамках ПДР,
максимізація доходу
● Середовище: дороги, інші транспортні засоби, пішоходи, клієнти
● Виконавчі механізми: кермо, акселератор, щеплення, тормоз,
освітлювальні прибори, клаксон, дисплей.
● Датчики: відеокамери, дальномір, спідометр, система навігації і визначення
положення, одометр, акселерометр, датчики двигуна, клавіатура
Показники ефективності
● Метрики ефективності втілюють критерії оцінки успішної поведінки
агента.
● Після занурення в навколишнє середовище агент виробляє послідовність дій,
відповідну отриманим ним сприйняттям.
● Ця послідовність дій змушує навколишнє середовище проходити через
послідовність станів.
● Якщо послідовність така, як потрібно, значить, засіб функціонує добре.
● Звичайно, не може бути однієї постійної метрики, яка підходить для всіх
агентів.
● Можна було б запитати у агента його суб'єктивну думку про те, наскільки
він задоволений власною роботою, але деякі агенти не зможуть
відповісти, а інші схильні до самообману.
● Тому необхідно використовувати об'єктивні показники ефективності, і,
як правило, проектувальник агента передбачає такі показники.
Агентські програми

● Всі програми-агенти, які будуть розроблені нами, мають однакову структуру:


вони приймають на вхід результати сприйняття сигналів від датчиків і
повертають обраний набір дій виконавчим механізмам.
● Необхідно вказати на різницю між програмою агента, яка приймає на вхід
результати поточного сприйняття, і функцією агента, яка приймає на вхід
всю історію перцептивних актів.
● Програма агента отримує в якості вхідних даних тільки результати поточного
сприйняття, так як вона не може навчитися чомусь іншому зі свого оточення.
● Якщо дії агента залежать від всієї послідовності перцептивних актів, то агент
повинен пам'ятати про результати цих перцептивних актів.
● Програми-агенти будуть описуватися за допомогою простої псевдокодової
мови
Агентські програми

● Наприклад, наступний лістинг буде висвітлювати досить просту програму-


агента, яка реєструє послідовність перцептивних актів, а потім використовує
отриману послідовність для доступу по індексу до таблиці дій і визначення
того, що потрібно зробити.
● У таблиці явно відображається функція агента, втілена програмою агента.
● Щоб створити раціонального агента таким чином, дизайнери повинні
сформувати таблицю, яка містить відповідну дію для будь-якої можливої
послідовності перцептивних актів.
Агентські програми

● Лістинг кодів програми Table-Driven-Agent, яка викликається після кожного


сприйняття нових даних і щоразу повертає опцію дії.
● Програма фіксує послідовність перцептивних актів за допомогою власної
замкнутої таблиці даних.
Агентські програми

● Повчальним є аналіз того, чому цей табличний підхід до створення агента


приречений на провал.
● Припустимо, що Р - це множина можливих актів сприйняття, а Т - час життя
агента (загальна кількість актів сприйняття, які можуть бути ним отримані).
● Таблиця пошуку міститиме таку кількість записів:
● Розглянемо автоматизоване таксі: візуальне введення з однієї камери
надходить зі швидкістю близько 27 мегабайт в секунду (30 кадрів в секунду,
640x480 пікселів з 24 бітами колірної інформації).
● Згідно з цими даними, пошукова таблиця, розрахована на 1 годину водіння,
повинна містити кількість записів, що перевищує
Логічні агенти
● Опишемо, як розробити агентів, які мають здатність
формувати уявлення про світ, використовувати
умовиводи для створення нових уявлень про світ і
застосовувати ці нові переконання для визначення того,
що слід робити.
● Спочатку зробимо вступний опис агентів, заснованих на
знаннях (або просто агентів).
● Концепції, які тут обговорюються (представлення знань і
процеси міркування, які пов'язують знання з реальністю),
займають центральне місце у всій галузі штучного
інтелекту.
Логічні агенти
● Знання і міркування дуже важливі для штучних агентів,
оскільки забезпечують формування успішних способів
поведінки.
● Знання про результати дій дозволяють агентам,
вирішувати завдання, успішно діяти в складних варіантах
середовища.
● Агенти, засновані на знаннях, здатні скористатися
знаннями, вираженими в дуже загальних формах,
комбінуючи і рекомбінуючи інформацію відповідно до
безлічі зовнішніх умов.
● Часто цей процес може бути дуже далеким від потреб
поточного моменту; це можна порівняти з тим, як
математик доводить абстрактну теорему або астроном
обчислює очікувану тривалість існування Землі.
Логічні агенти
○ Знання і міркування відіграють вирішальну роль, коли
доводиться діяти в частково спостережуваних варіантах
середовища.
○ Агент, заснований на знаннях, здатний поєднувати загальні
знання з результатами поточних сприйнять, щоб мати
можливість виявити приховані аспекти поточного стану, перш
ніж вибирати дії.
○ Наприклад, терапевт діагностує пацієнта (тобто виявляє
хворобливий стан, який недоступний безпосередньому
спостереженню), перш ніж вибрати спосіб лікування.
○ Деяка частина знань, які використовуються терапевтом,
знаходиться в формі правил, отриманих за допомогою
підручників і вчителів, а ще одна частина представлена ​в
формі асоціативних образів, які терапевт не завжди може
описати словами. Але якщо ці асоціації складаються в розумі
терапевта, вони також відносяться до галузі знань.
Логічні агенти
● Для розуміння природної мови потрібно також виявлення
прихованих аспектів стану, зокрема намірів мовця.
● Почувши фразу: "Джон побачив алмаз через вікно і
пристрасно побажав його отримати", ми знаємо, що слово
"його" відноситься до алмазу, а не до вікна; ми
розмірковуємо, можливо навіть підсвідомо, за допомогою
наявних у нас знань про відносну цінність цих предметів.
● Міркування дозволяють нам впоратися практично з
безліччю форм вираження думки, використовуючи
кінцевий запас повсякденних знань.
● Стикаючись з неоднозначністю подібного роду, агенти, які
вирішують завдання, відчувають труднощі, оскільки спосіб
представлення завдань, які застосовується в них, з
непередбаченими ситуаціями обумовлює експоненціальне
зростання кількості розглянутих варіантів.
Логічні агенти. Логіка
● Логіка буде служити основним засобом представлення знань у цьому
розділі.
● Знання логічних агентів завжди певне — кожне твердження в цьому
світі або істинне, або хибне, хоча агент може не знати про існування
деяких висловлювань.
● З точки зору викладу навчального матеріалу, логіка має перевагу в
тому, що є простим прикладом способу представлення агентів,
заснованих на знаннях, але логіка має деякі серйозні обмеження.
● Очевидно, що значна частина міркувань, що здійснюються людьми та
іншими агентами в частково спостережуваних середовищах,
ґрунтується на знаннях, які є непевними.
● Логіка не дозволяє правильно представити таку невизначеність, тоді в
пригоді стає ймовірність та нейронні мережі й інші представлення.
Логічні агенти. Логіка
● Далі ми нагадаємо логіку висловлювань.
● Хоча вона набагато менш виразна, ніж логіка першого порядку,
вона може служити для ілюстрації всіх основних понять логіки.
● Крім того, в логіці висловлювань існує добре розроблена техніка
міркування
● Потім обговоримо поєднання поняття логічних агентів з технологією
логіки висловлювань для створення деяких простих агентів, які діють
у світі вампусів.
● Цей розділ вказує на деякі обмеження логіки висловлювань, які
стимулювали розвиток більш потужних версій логіки
Агенти, засновані на знаннях
● Центральним компонентом будь-якого агента,

заснованого на знаннях, є його база знань, або


скорочено KB (Knowledge Base).
● Неформально базу знань можна визначити як
множину висловлювань.
● Кожне висловлювання виражено мовою представляє
деяке твердження про світ.
● Повинен існувати певний спосіб додавання нових
висловлювань до бази знань, а також спосіб вилучення з
цієї бази тих знань, які в ній містяться.
● Стандартними назвами для цих операцій є відповідно
Tell і Ask.
● Обидві такі операції можуть бути пов'язані з
проведенням логічного висновку, тобто можуть
зажадати отримання нових висловлювань зі старих.
Агенти, засновані на знаннях
● У логічних агентів логічний висновок повинен

підкорятися тій фундаментальній вимозі, що відповідь


на запит до бази знань, переданий за допомогою
операції Ask, повинен випливати з того, що було
повідомлено базі знань (або точніше, введено з
допомогою операції Tell) раніше.
● Більш точне визначення важливого поняття «логічний
наслідок» буде дано пізніше.
● Поки що припустимо, що, згідно з цією концепцією,
процес виведення не повинен виконувати операції,
які не підкоряються суворим правилам.
Агенти, засновані на знаннях
● Загальна схема програми агента, заснованого на знаннях, приведена тут:

● Як і всі агенти, описані в цьому розділі, цей агент приймає на вході


результати акту сприйняття percept і повертає дію action.
● Агент підтримує базу знань, КВ, яка може спочатку містити деякі фонові
знання.
● Після кожного виклику програма агента виконує три етапи.
● По-перше, програма вводить в базу знань за допомогою операції Tell
результати акту сприйняття, а по-друге, передає в базу знань за допомогою
операції Ask запит про те, яку дію потрібно застосувати.
Агенти, засновані на знаннях
● Загальна схема програми агента, заснованого на знаннях, приведена тут:

● В процесі пошуку відповіді на цей запит можуть бути проведені вичерпні


міркування щодо поточного стану світу, результатів можливих
послідовностей дій і т.п.
● По-третє, агент реєструє свій вибір за допомогою операції Tell і виконує
дію.
● Друга операція Tell необхідна для передачі в базу знань інформації про
те, що гіпотетичне дію action дійсно було виконано.
Агенти, засновані на знаннях
● Детальна інформація про мову представлення прихована в трьох функціях,
що реалізують інтерфейс між датчиками і виконавчими механізмами, а
також між основним представленням і системою міркувань.
● Функція Make-Percept-Sentence генерує твердження, яке підтверджує, що
агент отримав результати цього конкретного акту в поточний момент часу.
● Функція Make-Action-Query генерує оператор, який є запитом про те, яку
дію слід виконати в поточний момент часу.
● Нарешті, функція Make-Action-Sentence генерує твердження, яке
підтверджує, що вибрана дія була виконана.
● Детальна інформація про механізм виведення прихована всередині
функцій Tell і Ask.
● В силу наведених вище визначень операцій Tell і Ask, агент, заснований на
знаннях, вже не може розглядатися як довільна програма для обчислення
дій.
● Він більше підходить для опису на тому рівні знань, в якому, щоб
зафіксувати його поведінку, необхідно вказувати тільки те, що знає
агент і які його цілі
Агенти, засновані на знаннях
● Агент, заснований на знаннях, може бути створений шляхом передачі йому
за допомогою операції Tell тої інформації, яка йому необхідна.
● Початкова програма агента, що застосовується до того, як агент починає
отримувати результати актів сприйняття, створюється шляхом додавання
по черзі тих висловлювань, які представляють знання дизайнера про дане
середовище.
● А якщо можна спроектувати репрезентативну мову, що дозволяє легко
висловлювати ці знання у вигляді висловлювань, то завдання створення
агента значно спрощується.
● Описаний вище підхід називається декларативним підходом до
побудови системи.
● На противагу цьому, процедурний підхід вимагає представлення потрібних
правил поведінки безпосередньо у вигляді програмного коду. Але
мінімізація ролі явних форм представлення і міркування дозволяють
створювати набагато більш ефективні системи.
● У 1970-х і 1980-х роках прихильники цих двох підходів вступили в запеклу
дискусію. Однак тепер стало зрозуміло, що успішний агент повинен
поєднувати в своєму оформленні як декларативні, так і процедурні
елементи.
Агенти, засновані на знаннях
● На додаток до надання агенту, заснованому на знаннях, інформації, яку він
повинен знати, за допомогою операції Tell, також може знадобитися надати
йому механізми для самостійного навчання.
● Ці механізми забезпечують загальне пізнання навколишнього середовища
за допомогою ряду перцептивних актів.
● Такі знання можуть бути включені в базу знань агента і використані для
прийняття рішень.
● Завдяки цьому агент може стати повністю автономним.
● Всі ці можливості для сприйняття, міркування і навчання засновані на
результатах накопичених протягом багатьох століть теорії і практики логіки
як розділу математики.
● Перш ніж перейти до опису теорії і практики, створимо простий світ, за
допомогою якого ми зможемо проілюструвати їх застосування.
Світ вампуса
● Світ вампуса - це печера, що складається із залів, з'єднаних переходами. Десь
у цій печері бродить вампус, страшний звір, який поїдає кожного, хто заходить
до зали, де він знаходиться.
● Вампус може бути вбитий агентом, але агент має лише одну стрілу.
● У деяких залах є бездонні ями, в які потрапляють всі, хто проходить через них
(всі, крім вампуса, який занадто великий, щоб впасти).
● Єдиною втіхою для тих, хто живе в цьому середовищі, є можливість знайти
купу золота.
● Незважаючи на те, що світ вампуса досить скромний з точки зору сучасних
стандартів комп'ютерних ігор, він забезпечує відмінне середовище для
тестування інтелектуальних агентів.
● Першим, хто запропонував використовувати світ вампуса з такою метою, був
Майкл Генезерет.
Світ вампуса
● Приклад світу вампуса показаний тут:
Світ вампуса
Точне визначення середовища для цього завдання забезпечується наступним
описом PEAS.
● Показники ефективності: За знаходження золота агент отримує +1000
очок, за те, що агент впав у яму або був з'їдений вампусом, йому дається -
1000 очок, за кожну виконану дію він дає -1 бал, а за використання стріли -
10 очок.
● Середовище:
● Зали влаштовані у вигляді решітки 4х4.
● Агент завжди починає рух з квадрата, позначеного [1,1], і дивиться
праворуч.
● Місця розташування золота і вампуса вибираються випадковим чином з
рівномірним розподілом від кількості клітинок, відмінних від початкової
клітинки.
● Крім того, в кожному квадраті може бути яма, окрім початкової, з
ймовірністю 0,2.
Світ вампуса
Точне визначення середовища для цього завдання забезпечується наступним
описом PEAS.
● Виконавчі механізми:
● Агент може рухатися вперед, повертаючи ліворуч і праворуч на 90°.
● Агент помирає жалюгідною смертю, якщо заходить на площу, де є яма
або живий вампус. (Безпечно заходити на площу з мертвим вампусом,
але ви повинні відчути неприємний запах.)
● Спроба просунутися виявляється невдалою, якщо перед агентом стоїть
стіна.
● Щоб захопити об’єкт (золото), який знаходиться в тому ж квадраті, що і
агент, можна скористатися дією «Захопити».
● За допомогою дії «Стріляти» ви можете пустити стрілу по прямій лінії в
напрямку, куди дивиться агент. Стріла продовжує рухатися до тих пір,
поки не влучить у вампуса (і не вб'є його) або не вдариться об стіну.
Агент має лише одну стрілу, тому лише перша дія Shoot має ефект.
Світ вампуса
Точне визначення середовища для цього завдання забезпечується наступним
описом PEAS.
● Датчики: Агент має п'ять датчиків, кожен з яких повідомляє лише одну
порцію інформації:
● • У квадраті, де знаходиться вампус, а також у квадратах, що
безпосередньо (а не по діагоналі) примикають до цього квадрата, агент
відчуває неприємний запах (сморід) -сприйняття Stench;
● • У квадратах, що безпосередньо примикають до ями, агент відчує вітерець
(сприйняття Breeze);
● • У квадраті, де знаходиться золото, агент бачить блиск (сприйняття Glit
ter);
● • Коли агент вдаряється об стіну, він відчуває удар (сприйняття Bump).
● • Перед тим, як у вампуса влучить стріла, він видає жалібний крик, який
лунає по всій печері (сприйняття Scream).
● Результати актів сприйняття повідомляються агенту у вигляді
п'ятисимвольного списку; наприклад, якщо є неприємний запах і вітерець,
але немає блиску, удару або крику, агент сприймає результати акту
сприйняття [Stench, Breeze, None, None, None].
Світ вампуса
● Прослідкуємо за заснованим на знаннях агентом для світу вампусів, який вивчає
навколишнє середовище, показане раніше.
● Початкова база знань агента містить правила існування в даному середовищі, які
були описані вище; Зокрема, агент знає, що знаходиться в квадраті [1,1] і що квадрат
[1,1] безпечний.
● Ми побачимо, як розширюються знання агента в міру надходження результатів нових
актів сприйняття і здійснення дій.
● Першим сприйняттям є [None, None, None, None, None], з якого агент може зробити
висновок, що сусідні квадрати безпечні.
● На малюнку показаний стан знань агента в цей момент. Ми перерахуємо (деякі)
твердження з бази знань, використовуючи літерні позначення, такі як B (feel the
breeze) і OK (safe – без ям, без вампуса) у відповідних полях.

Світ вампуса
● Виходячи з того, що в квадраті [1,1] не було неприємного запаху або
вітерця, агент може зробити висновок, що квадрати [1,2] і [2,1] вільні від
небезпеки. Щоб позначити це, їх маркують позначенням ОК. Обережний
агент переміщається тільки на клітинку, яка, як відомо, позначена ОК
Припустимо, що агент вирішив переміститися вперед до квадрата [2,1] і
сцени, показаної на рисунку.
● Агент виявляє вітерець у квадраті [2,1], тому в одному з сусідніх квадратів
має бути отвір. За правилами гри яма не може бути зведена в квадрат [1,1],
тому вона повинна бути в квадраті [2,2], або [3,1], або і те, і інше.
Позначення Р? вказує на можливість ями в цих квадратах. На даний момент
відомий лише один квадрат з позначкою ОК, який ще не був відвіданий.
Тому завбачливий агент розвертається і повертається на квадрат [1,1], а
потім йде на квадрат [1,2].
Світ вампуса
● Нове сприйняття в квадраті [1,2] - [ Stench, None, None, None, None], що
призводить до стану знань, показаного на рисунку.
Світ вампуса

● Наявність неприємного запаху в квадраті [1,2] означає, що десь поблизу є


вампус. Однак, згідно з правилами гри, вампус не може знаходитися в
квадраті [1,1], і він не може знаходитися в квадраті [2,2] (оскільки агент
виявив би неприємний запах, якби він знаходився в квадраті [2,1]). Таким
чином, агент може зробити висновок, що вампус знаходиться в квадраті
[1,3]. На це вказує позначення W!. Крім того, з відсувтності сприйняття
Breeze в квадраті [1,2] випливає, що в квадраті [2,2] немає ями. Однак ми
вже прийшли до висновку, що яма повинна бути в квадраті [2,2] або [3,1], а
значить, вона дійсно в квадраті [3,1]. Це дуже складний логічний висновок,
тому що він об'єднує знання, отримані в різний час в різних місцях, і
приймає рішення про важливий крок на основі нестачі сприйняття. Такий
умовивід характерний для того типу міркувань, які виконуються логічними
агентами.
Світ вампуса

● Тепер агент довів собі, що в квадраті [2,2] немає ні ями, ні вампуса, тому
він може позначити цей квадрат міткою ОК, щоб увійти в нього. Ми не
показуємо стану знань агента в квадраті [ 2, 2 ], а просто припустимо, що
агент розвернувся і перемістився в квадрат [2, 3 ], в результаті чого вийшов
стан показаного на рис. б.
● У квадраті [2,3] агент виявляє блиск, тому він повинен схопити золото і
таким чином завершити гру.
● У кожному випадку, коли агент робить висновок з наявної у нього
інформації, правильність цього висновку гарантується, якщо наявна
інформація правильна. Це фундаментальна властивість логічних
міркувань. Решта цього розділу покаже вам, як створити логічні агенти, які
можуть представити необхідну інформацію та зробити висновки.
Трішки логіки
● Трішки нагадаємо основні поняття, що стосуються
логічних задань і міркувань.
● Для цього використаємо неформальні приклади зі світу
вампуса і арифметики.
● Ми вже зазначали, що бази знань складаються з
тверджень.
● Ці висловлювання виражаються відповідно до
синтаксису мови задання, який визначає форму всіх
висловлювань, які вважаються побудованими
правильно.
● Поняття синтаксису досить очевидне в звичайній арифметиці:
"x+y=4" є правильно побудованим твердженням, а "x2y+=" - ні.
Синтаксис
● Синтаксис логічних мов (в тому числі і арифметичних)
зазвичай формується таким чином, щоб з його допомогою
було зручно описувати різні ситуації.
● Існують різні форми представлення синтаксису.
● Однак у всіх випадках висловлювання в базі знань агента
представляють реальні фізичні конфігурації (частини)
агента.
● Міркування зводиться до опрацювання цих конфігурацій і
маніпулювання ними.
Семантика мови
● Неформально кажучи, семантика пов'язана зі «значенням»
висловлювань.
● У логіці це визначення стає більш точним.
● Семантика мови визначає істинність кожного
висловлювання по відношенню до кожного з можливих
світів.
● Наприклад, звичайна семантика арифметики визначає, що
твердження «x+y=4» є істинним у світі, де x дорівнює 2, а
y дорівнює 2, але є хибним у світі, де x дорівнює 1, а y
дорівнює 1.
Семантика мови
● Неформально, наприклад, ми можемо розглядати x і y як
кількість чоловіків і жінок, які сидять за столом для
бриджу, і твердження x+y=4 стає істинним, коли загальна
кількість гравців дорівнює чотирьом.
● У цьому випадку формально допустимими моделями є
всі можливі присвоєння цілочисельних значень
змінним x і y. Кожне таке присвоєння встановлює
істинність будь-якого твердження, змінними якого є x і y.
● Тепер, коли ми розглянули поняття істини, ми можемо
перейти до предмета логічних міркувань.
● Для цього необхідно визначити поняття логічного
наслідку між висловлюваннями - ідею про те, що одне
висловлювання може логічно випливати з іншого
висловлювання.
Виведення
● У математичній нотації використовується наступне
позначення:
● … істинно, тоді і тільки тоді, коли в будь-якій моделі, в
якій висловлювання «альфа» істинно, «бета» також
істинно.
● Наприклад, вираз x+y=4 наслідує вираз 4=x+y.
● Очевидно, що в будь-якій моделі, в якій x+y=4 (наприклад, у моделі,
в якій x дорівнює 2, а y дорівнює 2), також вірно, що 4=x+y.
● Будь-яку базу знань можна розглядати як твердження, і
ми часто обговорюватимемо, як певне твердження
випливає з якоїсь бази знань.
Виведення
● Цей же тип аналізу може бути застосований до прикладу
обговорення світу вампуса, наведеного раніше.
● Розглянемо ситуацію: Агент нічого не знайшов у
квадраті [ 1,1 ], але в квадраті [ 2 ,1 ] дув вітерець.
Моделі

● Ці сприйняття, в поєднанні зі знанням агентом правил світу вампусів


складають його базу знань.
● Агент повинен знати, серед іншого, чи є ямки в сусідніх квадратах,
[1,2], [2,2] і [3,1].
● У кожному з цих трьох квадратів може бути, а може і не бути ями,
тому (в даному конкретному прикладі) існує 2^3 = 8 можливих
моделей.
● У моделях, які суперечать тому, що знає агент, база знань стає хибною.
Наприклад, база знань хибна в будь-якій моделі, в якій квадрат [1,2] має яму,
оскільки в квадраті [1,1] немає вітру.
Моделі

● Рис.1.
● Насправді існує всього три моделі, в яких база знань вірна, і вони показані
на рисунку 1 як підмножина моделей.
● Тепер розглянемо два можливих висновки: Рис.1. (а) і Рис.1. (б).
● Можливі моделі, що описують наявність ямок у квадратах [1,2], [2,2] та
[3,1], які ґрунтуються на спостереженнях, що у квадраті [1,1] нічого немає, а
у квадраті [2,1] є вітерець : моделі з базою знань та твердженням a1 (у
квадраті [1,2]немає отвору) (a); Моделі з базою знань і твердженням А2 (яма
в квадраті [2,2]відсутня) (б)
Умовивід
● .
Умовивід
● Алгоритм умовиводу, проілюстрований на рис. 1 називається модельним
тестуванням, тому що в ньому перераховані всі можливі моделі, щоб
переконатися, що твердження «альфа1» істинно у всіх моделях, в яких
база знань істинна.
● Щоб краще зрозуміти, що таке логічний наслідок і умовивід, ми можемо
уявити, що множина всіх логічних умовиводів, отриманих з бази даних, є
копицею сіна, а пропозиція А - голкою.
● Логічний наслідок схожий на твердження про те, що в копиці сіна є
голка, а логічний висновок можна порівняти з її пошуком.
Умовивід
● Алгоритм побудови висновку, що продукує лише твердження, які насправді
випливають з бази знань, називається послідовним, або істинним.
● Консистенція (непротиріччя) - дуже бажана властивість. В ході своєї роботи
суперечлива процедура умовиводу по суті створює те, чого не існує: вона
сповіщає про відкриття неіснуючих голок.
● Можна легко показати, що алгоритм валідації моделі, якщо він
застосовний, є послідовним.
● Бажана і властивість повноти: алгоритм умовиводу називається повним, якщо
він допускає виведення будь-якого твердження, що випливає з бази знань.
● У випадку з реальними копицями сіна з кінцевим об'ємом цілком очевидно,
що систематичне обстеження завжди дає можливість визначити, чи
є голка в даній копиці сіна.
● Але існує нескінченно велика копиця сіна наслідків, пов'язаних з багатьма
базами знань, тому забезпечення повноти стає важливим питанням.
● На щастя, для багатьох форм логіки існують повні процедури висновків,
які є достатньо виразними, щоб вони могли працювати з багатьма базами
знань.
Умовивід
● По суті, вищеописане є процесом формування міркувань, висновки
якого гарантовано справедливі в будь-якому світі, в якому засновки
істинні.
● Зокрема, якщо база знань істинна в реальному світі, то будь-яке
твердження, логічно виведене з цієї бази знань за допомогою
послідовної процедури побудови висновків, також є істинним в
реальному світі.
● Таким чином, незважаючи на те, що процес побудови висновків має
справу з «синтаксисом» (і фактично з внутрішніми фізичними
конфігураціями, такими як біти в регістрах або патерни електричних
збуджень в структурах мозку), цей процес відповідає зв'язкам
реального світу, згідно з якими деякі аспекти реального світу мають
місце, тому що мають місце інші аспекти реального світу.
Умовивід
● .
Умовивід
● .
Умовивід
● .
Логічні агенти
● Почнемо з опису агента, який логічно думає про те, де знаходяться ями,
вампуси та безпечні квадрати.
● Агент починає свою роботу з бази знань, яка описує «закони» світу
вампусів. Він знає, що в квадраті [1,1] немає ями або вампуса. Це означає,
що

● Для кожного квадрату [x,y] агент знає твердження, що вказує на те, як


виникає вітерець:

● Для кожного квадрата [x, y] агент знає твердження, що вказує на те, як


виникає неприємний запах:

● Нарешті він знає, що у світі вампусів є рівно один вампус. Відповідна заява
складається з двох частин. Перш за все, необхідно вказати на те, що існує
як мінімум один вампус
Логічні агенти
○ Потім необхідно уточнити, що існує не більше одного вампуса.
○ Один із способів сформулювати це твердження полягає в тому, що якщо є будь-які
два квадрати, один з них повинен бути вільним від вампуса.
○ При наявності n квадратів ми отримуємо
○ висловлювань, схожі за формою з твердженням

○ Програма агента має повідомляти про кожен новий вітерець і сприйняття запахів у
свою базу знань за допомогою операції Tell
○ Вона також повинна оновлювати деякі звичайні змінні програмного забезпечення,
щоб відстежувати, де знаходиться агент і де він був.
○ Потім програма вибирає серед периферійних квадратів (тобто квадратів, які є
сусідніми з тими, які вже відвідав агент) квадрат, який слід перевірити далі.
○ Агент може довести, що периферійний квадрат [i,j] безпечний, якщо з бази знань
випливає твердження:

○ На другому місці за своєю привабливістю знаходиться квадрат, який, безпечний.


○ Це квадрат, для якого агент не може довести що в ньому знаходиться яма
або вампус, тобто квадрат,для якого із бази знань не випливає висловлення
Логічний агент

○Нехай процедура Route_Problem породжує задачу пошуку, рішенням якої є


послідовність дій, що ведуть тільки через раніше відвідані квадрати.
○Тоді можемо представити програму, в якій задається агент світу вампусів,
який використовує логіку висловлювань для ідентифікації ям, вампусів та
безпечних квадратів.

.

.
Заключення
● Однак деякі особливості бази знань агента залишаються вкрай
незадовільними.
● База знань містить «буквальні» твердження в загальному вигляді,
наведеному в 2-х рівняннях для кожного окремого квадрата.
● Чим більше середовище, тим більшою має бути початкова база
знань.
● Набагато краще було б мати лише два висловлювання, які
спілкуються, що викликає вітерець і неприємні запахи на будь-яких
площах.
● Але такі виразні можливості виходять за рамки логіки
висловлювань.
● У наступному розділі ми покажемо більш виразну логічну мову, в
якій можна легко представити такі висловлювання
○ Дякую за увагу.

You might also like