Page 61 - 6109
P. 61
функціональний вираз є атрибутом «відправника»:
Посилка_9
елем: (елем_із посилок)
відправник: одержувач (Посилка_8)
одержувач: Павло_6
об'єкт: Лист_3
Марія_4 і одержувач(Посилка_8) – два різних способу представлення
однієї і тієї ж особи.
Якщо намагаємося встановити паропоєднання між фреймами, що містять
функціональні вирази як атрибути, то слід припустити, що ці вирази набудуть
значення відразу, як тільки це буде можливо. Привласнення значень
здійснюється за допомогою посилання на об'єкт, вказаний аргументом цієї
функції.
Припустимо, що поставлене питання: «Чи посилала Марія що-небудь
кому-небудь?», що представляється фреймом-метою:
z(x)
елем: (елем_із посилок)
відправник: Марія_4
одержувач: х
об'єкт: у
Множина фреймів-фактів містить Посилку_8 і Посилку_9. Оскільки
одержувач (Посилка_8) може набути значення Марія_4, то фрейм Посилка_9
одержить Марія_4 як значення функції відправник. Відповідь на питання дасть
паропоєднання фрейма Посилка_9 з фреймом z.
З допомогою підстановка {(х, Павло_6), (у, Лист_3)} можна одержати
відповідь «так, Марія відправила лист Павлу».
6.4 Автоматичні міркування, що використовують фрейми
Як відомо, атрибути функцій у фреймах це не обов'язково константи або
конкретизації, але можуть також бути функціональними виразами. Зробимо ще
крок і розглянемо ще одну можливість для атрибутів (представляючих
множину пов'язаних з об'єктами характеристик) – бути процедурами або
підпрограмами. Це приводить нас до поняття об'єктно-орієнтованих мов,
предназначених для автоматичних міркувань на основі об'єктного
представлення.
Мова KRL – об'єктно-орієнтована, заснований на представленні знань
фреймами. У ній всі знання описані в термінах UNITS-KRL. Обмежимося
двома прикладами:
[Подорож UNIT Абстрактна
(SELF (Подія)) (спосіб (АБО Авіа Авто Потяг))
(призначення (Місто))]
[Подорож UNIT Абстрактна
(SELF (Взаємодія)) (візитер (Людина))
(візит (Множина з (Людина)))]
Першу частину можна інтерпретувати таким чином: «Подорож –
61