них у квадратні дужки, причому терми будь-які, не обов'язково атоми або списки.
Наприклад, [a, b, c], [ця, маленька (шапка), [для, кюре]]
Непорожнє список допускає дві еквівалентні запису В«з точкамиВ» і В«в квадратних дужкахВ». Наприклад, [a]?. (A, []) [a, b, c]?. (A,. (B,. (C, [])))
В
Представлення деревами - одне і те ж для обох позначень (див. рис. 6.3). Позначення [T | Q] являє собою список із заголовком Т і хвостом Q. [A, B, C | Q] являє собою список із заголовком А, В, С і хвостом Q. Ці позначення, використані для задоволення цілей, придатні для аналізу списків:
? - [T | Q] = [a]. p align="justify"> -> T = a, Q = []
? - [A1, A2, _, A4 | Q] = [прекрасна, маркіза, ваші, прекрасні, очі]
-> А1 = прекрасна, А2 = маркіза, А4 = прекрасні, Q = [очі]
35. Зчіпки. Фрейми і слоти. Явні фрейми. Функціональні фрейми
Зчіпки.
Припустимо, що ми хочемо представити фрази
: Жак пише книгу.
: Жак посилає цю книгу Марі.
: Марі читає цю книгу (яку Жак їй послав).
В БД з цими фразами використовувалися конкретизації Жак_2, Марі_4, Посилка_8 і Кніга_22 для посилань в об'єктних мовою на імена концептів метамови, згадані в цих фразах. Якщо розширити БД, то додадуться нові концепти і додаткова інформація про них. p align="justify"> Для використання знань корисно зібрати всі факти про даний концепті в одне безліч, зване зчіпкою (по-англійськи Unit). У нашому елементарному прикладі зчіпка Жак_2, Марі_4 і Кніга_22 будуть відповідати логічні формули:
Жак_2
Пише (Жак_2, Кніга_22)
Посилає (Жак_2, Марі_4, Кніга_22)
Марі_4
Посилає (Жак_2, Марі_4, Кніга_22)
Читаю (Марі_4, Кніка_22)
Кніга_22
Пише (Жак_2, Кніга_22)
Посилає (Жак_2, Марі_4, Кніга_22)
Читаю (Марі_4, Кніка_22)
Фрейми і слоти.
Якщо виразити ці фрази бінарними предикатами, то зчіпки будуть називатися фреймами. Нам відомо, що тернарний предикат
Посилає (Жак_2, Марі_4, Кніга_22)
Перетворюється на витвір бінарних предикатів
Відправник (Посилає, Жак_2)
Одержувач (Посилає, Марі_4)
Об'єкт (Посилає, Кніга_22).
концепту В«посилаєВ» відповідає наступний фрейм:
ФРЕЙМ
Посилає (об'єкт)
Відправник Жак_2 (слот_1)
Одержувач Марі_4 (слот_2)
Об'єкт Кніга_22 (слот_3)
(атрибути або (значення або
імена слотів) значення слотів)
Кожна пара (атрибут, значення) фрейму називається слотом або (імя_слота, значеніе_слота). Сам фрейм по-англійськи - slot-and-filter notation. У цих позначеннях різні слоти згруповані навколо об'єкта, охарактеризованого фреймом. p align="justify"> Явні фрейми.
Ми знаємо, що часто буває корисно уявлення знань з явним зазначенням всіх посилань. Саме тому ми постулювали у нашому прикладі існування цілком певної Посилкі_8. Фраза В«Жак посилає книгу МаріВ» бінарними предикатами представляється так:
Посилка_8
Елем посилки
Відправник Жак_2
Одержувач Марі_4
Об'єкт Кніга_22
Отже, у процесі виявлення посилань можна не тільки дати явні значення аргументів і імена предикатів, але також імена, що представляють висловлювання логічних формул. Наприклад, Посилка_8 - ім'я висловлювання Посилає (Жак_2, Марі_4, Кніга_22). Такий формалізм називається явним фреймом. (По-англійськи case-frame). p align="justify"> Функціональні фрейми.
Ми вже показували, що подання бінарними предикатами легко можна виразити у функціональній формі. Відносини між Посилка_8 та первісними аргументами для посилає можна виразити функціями на безлічі посилок. Введемо наступні функціональні позначення для фреймів:
Посилка_8
елем: (елем_із посилок)
відправник: Жак_2
одержувач: Марі_4
об'єкт: Кніга_22
Форма В«елемент_ізВ» у слоті має ім'я В«елемВ» для зазначення того, що описаний фреймом об'єкт є елементом деякого безлічі (у нашому прикладі це безліч посилок). В...