Professional Documents
Culture Documents
Лекція - 5 - А - М. Логічний аген - 1 - 02 - 11 - 23
Лекція - 5 - А - М. Логічний аген - 1 - 02 - 11 - 23
Інтелектуальні
агенти
Глибовець М.М.
Логічні агенти
● У цьому розділі розглянемо, як проектувати
агентів, які мають здатність формувати:
● уявлення про світ,
● використовують процес логічного висновку
для отримання нових уявлень про світ,
● застосовують їх для визначення того, що
слід робити.
● У цьому розділі наведемо опис агентів, що
діють на основі знань.
● Ці поняття є центральними у всій сфері
штучного інтелекту.
Агенти та варіанти середовища
● Агент - це все, що можна розглядати як щось, що сприймає навколишнє
середовище за допомогою датчиків і діє на це середовище за допомогою
виконавчих механізмів.
● Ця проста ідея проілюстрована так:
Агенти
● Робот, який виступає в ролі агента, може мати в якості датчиків
відеокамери та інфрачервоні далекоміри, а його виконавчими
механізмами можуть бути різні двигуни.
● Програмне забезпечення, що діє як агент, отримує коди натискань
клавіш, вміст файлів і мережеві пакети як вхідні датчики, і його вплив
на навколишнє середовище виражається в тому, що програмне
забезпечення відображає дані, записує файли та передає мережеві
пакети.
● Ми приймаємо загальне припущення, що кожен агент може
сприймати власні дії (але не завжди їх результати).
● Ми використовуємо термін «сприйняття» для позначення
сенсорних даних, отриманих агентом у будь-який момент часу.
● Послідовність актів сприйняття агента - це повна історія всього, що
коли-небудь було сприйнято агентом.
Агенти. Зовнішній опис
● Взагалі кажучи, вибір дії агента в будь-який момент часу може залежати від
всієї послідовності перцептивних актів, що спостерігалися до цього
моменту часу.
● Якщо можна визначити, яка дія буде обрана агентом у відповідь на будь-
яку можливу послідовність можливих актів сприйняття, то можна дати
більш-менш точне визначення агента.
● З математичної точки зору, це рівнозначно твердженню, що поведінка агента
може бути описана певною функцією агента, яка відображає будь-яку певну
послідовність можливих актів сприйняття з деякою дією.
● Можна розглянути задачу створення табуляційної функції агента.
● Для більшості агентів це була б дуже велика таблиця (практично нескінченна),
якщо немає обмеження на довжину послідовностей перцептивних актів.
Проводячи експерименти з агентом, таку таблицю в принципі можна
побудувати, перевіривши всі можливі послідовності перцептивних актів і
записавши, які дії агент виконує у відповідь.
● Така таблиця – є зовнішнім описом агента.
●
Агенти. Внутрішній опис
● Внутрішній опис полягає у визначенні того, яка функція агента для даного
штучного агента реалізована програмою агента.
● Важливо розрізняти два поняття.
● Агентна функція — це абстрактний математичний опис, а програма-агент — це
конкретна реалізація, яка функціонує в архітектурі агента.
● Для ілюстрації цих ідей скористаємося дуже простим прикладом: розглянемо
той світ, що зображений на рис. 2. (Світ, в якому працює пилосмок).
●
Світ пилососів
● Цей світ настільки простий, що можна описати все, що в ньому
відбувається.
● Крім того, це рукотворний світ, тому способів його організації можна
придумати безліч.
● У цьому конкретному світі всього дві локації: квадрати А і В.
● Пилосос, виконуючи роль агента, сприймає, в якому квадраті він
знаходиться і чи є в цій площі сміття.
● Агент може вибирати такі дії, як рух вліво, вправо, всмоктування сміття
або нічого не робити.
● Одна з дуже простих функцій агента полягає в наступному: якщо в
поточному квадраті є сміття, то всмоктувати його, в іншому випадку
переміщати в інший квадрат.
●
Світ пилососів
● Часткова табуляція цієї функції агента наведена в таблиці 1.
●
Агенти орієнтовані на меті
● Знання поточного стану оточення не завжди достатньо, щоб вирішити, що
робити.
● Наприклад, на перехресті доріг таксі може повернути ліворуч, повернути
праворуч або поїхати прямо. Правильне рішення залежить від того,
куди потрібно їхати таксі.
● Іншими словами, агенту потрібен не тільки опис поточного стану, а й
якась цільова інформація, яка описує бажані ситуації, наприклад,
доставити пасажира до пункту призначення.
● Програма агента може об'єднувати цю інформацію з інформацією про
результати можливих дій (тією ж інформацією, що використовується для
оновлення внутрішнього стану рефлекторного агента) для вибору дій, які
дозволять досягти поставленої мети.
● Підгалузями штучного інтелекту, які присвячені розробці послідовностей дій,
що дозволяють агенту досягати своїх цілей, є пошук і планування
● Структура цільового агента показана на рис. 3.
●
Агенти орієнтовані на меті
● Структура цільового агента показана на рис. 3.
● Він стежить за станом світу, а також за багатьма цілями, яких він намагається
досягти, і вибирає дії, які (в кінцевому підсумку) досягнуть цих цілей
● Слід мати на увазі, що такого роду процедура прийняття рішень принципово
відрізняється від описаної вище процедури обумовлення-дії, оскільки
передбачає роздуми про майбутнє, відповідаючи на два питання: «Що буде,
якщо я зроблю так-то?» і «Чи дозволить це мені досягти задоволення?».
Агенти орієнтовані на меті
● У конструкціях рефлекторних агентів така інформація явно не представлена,
оскільки вбудовані правила встановлюють пряму відповідність між
сприйняттям і діями.
● Рефлекторний агент зразу гальмує, коли бачить гальмівні сигнали
транспортного засобу, що рухається попереду, а цільовий агент може
припустити, що якщо стоп-сигнали на автомобілі, що рухається попереду,
горять, він сповільнюється.
● З огляду на принцип, за яким зазвичай змінюється цей світ, для нього єдиною
дією, здатним досягти такої мети, як уникнення зіткнень з іншими
автомобілями, є гальмування.
● Хоча на перший погляд здається, що агент, заснований на цілі, менш
ефективний, він більш гнучкий, оскільки знання, на яких ґрунтуються його
рішення, явно представлені і можуть бути змінені.
● Якщо почнеться дощ, агент може оновити свої знання про те, наскільки
ефективно тепер працюватимуть його гальма;
● Це автоматично призводить до того, що всі відповідні правила поведінки
змінюються відповідно до нових умов. З іншого боку, для рефлекторного
агента довелося б переписати ряд правил умовно-дії.
Агенти засновані на корисності
● Насправді, в більшості середовищ недостатньо враховувати лише мету, щоб
створити якісну поведінку.
● Наприклад, зазвичай існує багато послідовностей дій, які дозволяють таксі
дістатися до місця призначення (і тим самим досягти своєї мети), але деякі з
цих послідовностей забезпечують швидшу, безпечнішу, надійнішу або
недорогу поїздку, ніж інші.
● Цілі допускають лише жорстке бінарне розмежування між станами
«задоволення» і «незадоволеності», тоді як більш загальні показники
ефективності повинні забезпечувати порівняння різних станів світу в
точній пропорції до того, наскільки задоволеним буде агент, якщо вони
можуть бути досягнуті.
● Оскільки поняття «задоволення» не є цілком науковим, частіше
використовується термінологія, згідно з якою стан світу, який є кращим за інший,
розглядається як такий, що має вищу корисність для агента.
Агенти засновані на корисності
● Зрозуміло, що будь-який раціональний агент повинен поводитися так, що б він
намагався максимізувати функцію корисності.
● Таким чином, агент з явно заданою функцією корисності має здатність приймати
раціональні рішення і може робити це за допомогою алгоритму загального
типу.
● Таким чином, «глобальне» визначення раціональності (згідно з яким функції
агента з найвищою продуктивністю вважаються раціональними)
трансформується в «локальне» обмеження на проекти раціональних агентів, яке
може бути виражено у вигляді простої програми.
● Структура такого агента показана на рис. 3
●
Навчання
● Наше визначення агента на основі корисності вимагає, щоб раціональний
агент не тільки збирав інформацію, а й вчився на базі якомога більше
даних, які він сприймає в процесі роботи.
● Початкова конфігурація агента може відображати деякі попередні знання
про навколишнє середовище, але в міру того, як агент набуває досвіду, ці
знання можуть бути змінені і вдосконалені.
● Бувають крайні випадки, коли навколишнє середовище заздалегідь повністю
відоме.
● У таких випадках агенту не потрібно сприймати інформацію або вчитися;
Просто він відразу діє правильно. Звичайно, такі агенти дуже вразливі.
Навчання
● В успішних агентах завдання обчислення функції агента поділяється на три
окремі періоди:
● коли агент проектується, деякі обчислення виконуються його
розробниками;
● агент виконує додаткові розрахунки, вибираючи одну зі своїх наступних
дій;
● в міру того, як агент вчиться на досвіді, він виконує інші допоміжні
обчислення, щоб вирішити, як змінити свою поведінку.
● Якщо ступінь, в якій агент покладається на попередні знання свого творця, а
не на його сприйняття, занадто висока, то такий агент вважається таким, що
має недостатню автономію.
● Раціональний агент повинен бути автономним - він повинен навчитися
всьому, чого може навчитися, щоб компенсувати неповне або неправильне
апріорне знання.
● Наприклад, засіб для пилососа, який навчений передбачати, де і коли
з'явиться додаткове сміття, безумовно, працюватиме краще, ніж той, який не
може.
Навчання
● З практичної точки зору, від агента рідко вимагається повна автономія з
самого початку: якщо агент має мало або зовсім не має досвіду, він змушений
діяти випадковим чином, якщо тільки дизайнер не надав йому певної
допомоги.
● Після достатнього досвіду існування в навколишньому середовищі поведінка
раціонального агента може стати істотно незалежним від його апріорного
знання.
● Таким чином, включення в конструкцію можливостей навчання дозволяє
проектувати прості, раціональні агенти, які можуть успішно працювати в
виключно широкому спектрі середовищ.
●
Навчання
● Коротко викладемо основи навчання агентів.
● Тепер агент довів собі, що в квадраті [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.
● Насправді існує всього три моделі, в яких база знань вірна, і вони показані
на рисунку 1 як підмножина моделей.
● Тепер розглянемо два можливих висновки: Рис.1. (а) і Рис.1. (б).
● Можливі моделі, що описують наявність ямок у квадратах [1,2], [2,2] та
[3,1], які ґрунтуються на спостереженнях, що у квадраті [1,1] нічого немає, а
у квадраті [2,1] є вітерець : моделі з базою знань та твердженням a1 (у
квадраті [1,2]немає отвору) (a); Моделі з базою знань і твердженням А2 (яма
в квадраті [2,2]відсутня) (б)
Умовивід
● .
Умовивід
● Алгоритм умовиводу, проілюстрований на рис. 1 називається модельним
тестуванням, тому що в ньому перераховані всі можливі моделі, щоб
переконатися, що твердження «альфа1» істинно у всіх моделях, в яких
база знань істинна.
● Щоб краще зрозуміти, що таке логічний наслідок і умовивід, ми можемо
уявити, що множина всіх логічних умовиводів, отриманих з бази даних, є
копицею сіна, а пропозиція А - голкою.
● Логічний наслідок схожий на твердження про те, що в копиці сіна є
голка, а логічний висновок можна порівняти з її пошуком.
Умовивід
● Алгоритм побудови висновку, що продукує лише твердження, які насправді
випливають з бази знань, називається послідовним, або істинним.
● Консистенція (непротиріччя) - дуже бажана властивість. В ході своєї роботи
суперечлива процедура умовиводу по суті створює те, чого не існує: вона
сповіщає про відкриття неіснуючих голок.
● Можна легко показати, що алгоритм валідації моделі, якщо він
застосовний, є послідовним.
● Бажана і властивість повноти: алгоритм умовиводу називається повним, якщо
він допускає виведення будь-якого твердження, що випливає з бази знань.
● У випадку з реальними копицями сіна з кінцевим об'ємом цілком очевидно,
що систематичне обстеження завжди дає можливість визначити, чи
є голка в даній копиці сіна.
● Але існує нескінченно велика копиця сіна наслідків, пов'язаних з багатьма
базами знань, тому забезпечення повноти стає важливим питанням.
● На щастя, для багатьох форм логіки існують повні процедури висновків,
які є достатньо виразними, щоб вони могли працювати з багатьма базами
знань.
Умовивід
● По суті, вищеописане є процесом формування міркувань, висновки
якого гарантовано справедливі в будь-якому світі, в якому засновки
істинні.
● Зокрема, якщо база знань істинна в реальному світі, то будь-яке
твердження, логічно виведене з цієї бази знань за допомогою
послідовної процедури побудови висновків, також є істинним в
реальному світі.
● Таким чином, незважаючи на те, що процес побудови висновків має
справу з «синтаксисом» (і фактично з внутрішніми фізичними
конфігураціями, такими як біти в регістрах або патерни електричних
збуджень в структурах мозку), цей процес відповідає зв'язкам
реального світу, згідно з якими деякі аспекти реального світу мають
місце, тому що мають місце інші аспекти реального світу.
Умовивід
● .
Умовивід
● .
Умовивід
● .
Логічні агенти
● Почнемо з опису агента, який логічно думає про те, де знаходяться ями,
вампуси та безпечні квадрати.
● Агент починає свою роботу з бази знань, яка описує «закони» світу
вампусів. Він знає, що в квадраті [1,1] немає ями або вампуса. Це означає,
що
● Нарешті він знає, що у світі вампусів є рівно один вампус. Відповідна заява
складається з двох частин. Перш за все, необхідно вказати на те, що існує
як мінімум один вампус
Логічні агенти
○ Потім необхідно уточнити, що існує не більше одного вампуса.
○ Один із способів сформулювати це твердження полягає в тому, що якщо є будь-які
два квадрати, один з них повинен бути вільним від вампуса.
○ При наявності n квадратів ми отримуємо
○ висловлювань, схожі за формою з твердженням
○ Програма агента має повідомляти про кожен новий вітерець і сприйняття запахів у
свою базу знань за допомогою операції Tell
○ Вона також повинна оновлювати деякі звичайні змінні програмного забезпечення,
щоб відстежувати, де знаходиться агент і де він був.
○ Потім програма вибирає серед периферійних квадратів (тобто квадратів, які є
сусідніми з тими, які вже відвідав агент) квадрат, який слід перевірити далі.
○ Агент може довести, що периферійний квадрат [i,j] безпечний, якщо з бази знань
випливає твердження: