Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
05.03.2016
Размер:
133.12 Кб
Скачать

Функціональні атрибути

Атрибути описують множину характеристик, пов'язаних з функціями функціонального фрейма. Атрибут не обов'язково є конкретизацією деяких даних типу Павло_2; з тим же успіхом він може бути функціональним виразом. Розглянемо фразу «Павло посилає книгу Марії, а Петро одержує лист від людини, якій Павло послав книгу». Її перша частина виражається фреймом:

Посилка_8

елем : (элем_із посилок)

відправник : Петро_2

одержувач : Марія_4

об'єкт : Книга_22

Друга частина представляється фреймом, для якого деякий функціональний вираз є атрибутом «відправника»:

Посилка_9

елем : (элем_із посилок)

відправник : одержувач (Посылка_8)

одержувач : Павло_6

об'єкт : Лист_3

Марія_4 і одержувач(Посилка_8) – два різних способу представлення однієї і тієї ж особи.

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

Припустимо, що поставлене питання: «Чи посилала Марія що-небудь кому-небудь?», що представляється фреймом-метою:

z(x)

елем : (элем_із посилок)

відправник : Марія_4

одержувач : х

об'єкт : у

Множина фреймів-фактів містить Посилку_8 і Посилку_9. Оскільки одержувач (Посилка_8) може набути значення Марія_4, то фрейм Посилка_9 одержить Марія_4 як значення функції відправник. Відповідь на питання дасть паропоєднання фрейма Посилка_9 з фреймом z.

З допомогою підстановка {(х, Павло_6), (у, Лист_3)} можна одержати відповідь «так, Марія відправила лист Павлу».

Автоматичні міркування, що використовують фрейми

Як відомо, атрибути функцій у фреймах це не обов'язково константи або конкретизації, але можуть також бути функціональними виразами. Зробимо ще крок і розглянемо ще одну можливість для атрибутів (представляючих множину пов'язаних з об'єктами характеристик) – бути процедурами або підпрограмами. Це приводить нас до поняття об'єктно-орієнтованих мов, предназначених для автоматичних міркувань на основі об'єктного представлення.

Мова KRL – об'єктно-орієнтована, заснований на представленні знань фреймами. У ній всі знання описані в термінах UNITS-KRL. Обмежимося двома прикладами:

[Подорож UNIT Абстрактна

(SELF (Подія)) (спосіб (АБО Авіа Авто Потяг))

(призначення (Місто))]

[Подорож UNIT Абстрактна

(SELF (Взаємодія)) (візитер (Людина))

(візит (Множина з (Людина)))]

Першу частину можна інтерпретувати таким чином: «Подорож – абстрактне поняття, що пов'язане з літаком, машиною або поїздом і має якесь місто пунктом призначення». Другу частину можна інтерпретувати аналогічно. KRL матеріалізує деякий процес міркувань, керований правилом паропоєднання.

Ієрархічні міркування, що використовують фрейми

Операція паропоєднання аналогічна уніфікації з логіки предикатів. Можна також пов'язати об'єктне представлення з могутнішими правилами висновку, такими як теорема дедукції. Нільсон і Сова запропонували загальні операції дедукції, що використовують об'єктний формалізм і що базуються на логічній імплікації і правилі modus ponens. Розглянемо лише окремий випадок одного нерідко використовуваного закону дедукції, відповідно до якого за допомогою імплікації приписуються властивості кожному елементу певної множини. Йдеться про властивість спадкоємства. Займемося ієрархією, приведеною на мал. 1, де типи «професор університету» і «професор» замінені відповідними множинами. Концептуальний граф, що оточує вузол Степан_2, представляється об'єктно і логічно таким чином:

Об'єктні позначення

Степан_2

елем : (елем_із проф_унів)

вік : 60_років

адр : Північний_бульвар_3

сім_стан : одружений

Логічні позначення (Факт)

Елем (Степан_2, проф_унів)

Вік (Степан_2, 60_років)

Адр(Степан_2, Північний_бульвар_3)

Сім_стан (Степан_2, одружений)

Рисунок 1

Ми бачили, що питання на зразок «Скільки років Степану?» або «Хто проживає на Північному бульварі будино 3?» представляються фреймом-метою або логічним висновком:

Об'єктні позначення Логічні позначення

(Мета)

Степан_2

вік: х Вік(Павло_2, х)

у

адр: Північний_бульвар_3 Адр(у, Північний_бульвар_3)

Раніше було показано, як одержати відповіді на ці питання, використовуючи операцію паропоєднання (для об'єктних позначень) або уніфікацію (для логічних).

Далі розглянемо питання «Який диплом у Степана?», формалізований натупним чином:

Об'єктні позначення Логічні позначення

(Мета)

Степан_2 (1)

дипл: у Дипл(Степан_2, у)

Не можна одержати негайної відповіді на це питання. Доведеться звернутися до об'єктних і логічних позначень, що описують властивості індивіда х з множиниі викладачів університету (рис.1):

Об'єктні позначення Логічні позначення

(Правило)

{ х | проф__унів} Елем (х, проф_унів) (2)

дипл: доктор (Дипл (х, доктор)

місце : унів Місце (х, унів))

Здійснимо паропоєднання і уніфікацію цілей (1) з правилами (2) для отримання нової мети (3):

Об'єктні позначення Логічні позначення

(Мета)

Степан_2

елем: Елем(Степан_2,

(елем_із проф_унів) проф_унів)

Ця нова мета точно відповідає фразі «Степан – професор університету», що є фактом. Відповідь «Степан має ступінь доктора» також знайдено. Такий вид доведення відповідає системі прямої дедукції

Якщо не можна відповісти на питання, розглядаючи властивості індивіда (Степан_2) або множини (проф_унів), що містить його, то звернемося до нової множини (проф), підмножиною якої є попередня множина. Підмножина професорів університету пов'язана множиною професорів наступним чином:

Об'єктні позначення Логічні позначення

проф_унів

елем: (підмнож в проф) Подмн (проф_унів, проф)

Соседние файлы в папке Lec