- •Лекція №6 Об'єктне представлення знань (фреймові моделі) Вcтуп
- •Зчеплення
- •Фрейми і слоти
- •Явні фрейми
- •Функціональні фрейми
- •Міркування, що використовують об'єктне уявлення
- •Паропоєднання
- •Функціональні атрибути
- •Автоматичні міркування, що використовують фрейми
- •Ієрархічні міркування, що використовують фрейми
- •Міркування з винятками
Функціональні фрейми
Представлення бінарними предикатами легко можна виразити у функціональній формі. Відносини між Посилк_8 і первинними аргументами для посилає можна виразити функціями на множині посилок. Введемо наступні функціональні позначення для фреймів:
Посилка_8
елем : (элем_із посилок)
відправник : Петро_2
одержувач : Марія_4
об'єкт : Книга_22
Форма «элемент-із» в слоті має ім'я «елем» для вказівки того, що описаний фреймом об'єкт є елементом деякої множини (у нашому прикладі це множина посилок). Визначений у такий спосіб фрейм називається функціональним.
–квантифікація
Подивимося, як можна здійснювати -квантифікацію змінних при операції з фреймами. Фраза «Петро посилає книгу кожній жінці» записується бінарними предикатами в наступному вигляді:
xyz [Відправник (z, Петро_2) Одержувач (х, у) Об'єкт (z, у) Елем (z, посилки) Конкр (у, книга) Конкр (х, жінка)].
Множина представлених змінною z посилок описано функціональним фреймом:
z(х)
елем : (элем_із посилок)
відправник : Петро_2
одержувач : х
об'єкт : у(х)
Цей фрейм цілком утворює область дії квантора узагальнення. Важливо відзначити, що всі представлені фреймами логічні формули записані передваренній сколемівській формі: заперечення виражені явно, змінні стандартизовані окремо, змінні, які були зв'язані кванторами існування, заміщені і квантори узагальнення застосовуються до всієї формули.
Міркування, що використовують об'єктне уявлення
Об'єктні представлення були введені фактично з прагматичних причин. Ці представлення часто пов’язані з цілком певними класами проблем. Об'єктно-орієнтовані мови (відомий з них Смолток) характеризуються взаємопроникненням структур даних і процедур. Пов'язані з цими представленнями закони висновку, взагалі кажучи, позбавлені формальній строгості правил виведення логіки предикатів. Концепція об'єктних уявлень більше прямувала турботою про ефективність числення, ніж прагненням до його повноти. Очевидно, можна було б розвинути для них системи висновків, еквівалентні використаним в логіці предикатів. Такий синтаксис був би вельми громіздкий, і його застосування позбавило б об'єктне представлення його прагматичних достоїнств. Замість того щоб базуватися на повній множині законів дедукції, різні використовувані в ШІ системи використовують скорочені версії класичних законів висновку. Пізніше ми дамо декілька прикладів.
Паропоєднання
Визначити (аналогічну уніфікації в логіці предикатів) операцію паропоєднання (по-англійськи matching operation) настійно необхідно, якщо ми хочемо використовувати об'єктне уявлення як БД для запитальної системи (query system). До завдання властивостей операції парооб’єднання нагадаємо, що об'єктне представлення – альтернатива логічному формалізму.
Нільсон [83] запропонував наступне визначення.
Два об'єктні представлення паропоєднані тоді і тільки тоді, коли логічну формулу для першого можна уніфікувати з логічною формулою для другого. Слово «уніфікувати» означає тут, що існують підстановки для змінних, що роблять логічні формули ідентичними.
Якщо наша мета – побудувати «мову запитів» (query language) для витягання інформації з БД, то потрібне більш обмежене визначення парооб’єднання. Операція парооб’єднання взагалі не повинна бути симетричною в тому сенсі, що вона пов'язує висновок (об'єкт-мета) з гіпотезами (об'єктами-фактами). Об'єкт-мета «паропоєднується» з об'єктом-фактом, якщо логічна формула, що відповідає об'єкт-метІ, уніфікується з одним із співмножників об'єкту-факту (представленого кон'юнкцією гіпотез і аксіом).
В термінах доведення теорем це означає, що операція паропоєднання може здійснюватися тоді і тільки тоді, коли мету можна довести з гіпотез і аксіом (фактів).
Розглянемо фрейм-факт (гіпотезу):
Посилка_8
елем : (элем_із посилок)
відправник : Петро_2
одержувач : Марія_4
об'єкт : Книга_22
Можна встановити паропоєднання цього фрейма-факту з фреймом-метою:
z(х)
елем : (элем_из посилок)
відправник : Петро_2
одержувач : х
об'єкт : у(х)
Фрейм-мета інтерпретується як питання: «Кому Петро послав книгу?» Паропоєднання фрейма-мети і фрейма-факту приводить до підстановки {(z, Посилка_8), (х, Марія_4), (у, Книга-22)}, яку можна интерпритувати як відповідь на питання.