» » »

Функциональные атрибуты. Автоматические рассуждения, использующие фреймы. Иерархические рассуждения, использующие фреймы. Рассуждения с умолчаниями.

Функциональные атрибуты. Автоматические рассуждения, использующие фреймы. Иерархические рассуждения, использующие фреймы. Рассуждения с умолчаниями

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

Атрибуты описывают множество характеристик связанных с функциями функционального фрейма. Атрибут не обязательно является конкретизацией некоторых данных вродеЖак_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 материализует некоторый процесс рассуждений, управляемый правилом паросочетания.

Иерархические рассуждения, использующие фреймы.

Операция паросочетания аналогична унификации из логики предикатов. Можно также связать объектное представление с более мощными правилами вывода, такими как теорема дедукции.

Рассмотрим лишь частный случай одного нередко используемого закона дедукции, в соответствии с которым с помощью импликации приписываются свойства каждому элементу определенного множества. Речь идет о свойстве наследования, который мы уже рассматривали. Займемся иерархией, где типы «профессор университета» и «профессор» заменены соответствующими множествами. Концептуальный граф, окружающий узел Жак_2, представляется объектно и логически следующим образом:

Объектные обозначения

Жак_2

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

возр : 45_лет

адр : ул_буля_7

сем_пол : холост

Логические обозначения (Факт)

Элем (Жак_2, проф_унив)

Возр (Жак_2, 45_лет)

Адр (Жак_2, ул_буля_7)

Сем_пол (Жак_2, холост)

Мы видели вопросы наподобие «Сколько лет Жаку?» или «Кто проживает по улице Буля дом 7?» представимы фреймом целью или логическим заключением:

Объектные обозначения Логические обозначения

(Цель)

· Жак_2

возр:х Возр(Жак_2,х)

· у

адр: ул_буля_7 Адр(у, ул_буля_7)

Мы уже знаем, как получить ответы на эти вопросы, используя операцию паросочетания (для объектных обозначений) или унификацию (для логических).

Далее рассмотрим вопрос «Какой диплом у Жака?», формализованный следующим образом:

Объектные обозначения Логические обозначения

(Цель)

Жак_2

дипл: у Дипл(Жак_2, у)

Нельзя получить немедленного ответа на этот вопрос. Придется обратиться к объектным и логическим обозначениям, описывающим свойства индивида х из множества преподавателей университета:

Объектные обозначения Логические обозначения

(Правило)

{х| проф_унив} Элем(х, проф-унив)

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

место: унив Место (х, унив))

Осуществим паросочетание и унификацию целей с правилами для получения новой цели

Объектные обозначения Логические обозначения

(Цель)

Жак_2

элем: Элем(Жак_2,

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

Эта новая фраза точно соответствует фразе «Жак - профессор университета», что является фактом. Ответ «Жак имеет степень доктора» также найден. Такой вид доказательства отвечает системе прямой индукции.

Если нельзя ответить на вопрос, рассматривая свойства индивида (Жак_2) или содержащего его множества (проф_унив), то обратимся к новому множеству (проф), подмножеством которого является прежнее. Подмножество профессоров университета связано с множеством профессоров следующим образом:

Объектные обозначения Логические обозначения

Проф_унив

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

Рассуждения с умолчаниями

Используемые экспертами в большинстве областей правила лишь приблизительно точны и не всегда применимы. Многочисленные описания вида «все х имеют свойство Р» надо считать лишь приблизительно истинными. Например, можно говорить, что все птицы летают (за исключением страусов, пингвинов и т.д.).

Вообще интересно использовать знания, вроде «все птицы летают», и подвергать рассуждения сомнению лишь в некоторых заранее известных исключительных случаях. Это называется рассуждением с умолчаниями. Предложены многочисленные формализации для выражения «все х имеют свойство Р, за исключением тех случаев, когда явно указано противное для некоторых конкретизаций переменной х»

Изложим формализм, основанный на объектном представлении и допускающий построение рассуждения с умолчаниями. Рассматриваемый нами подход сохраняет определенную простоту рассуждений. Он состоит в разрешении осуществлять исключения в рассуждениях Утверждение вида «все преподаватели университета имеют степень доктора» можно поначалу сделать без всяких исключений. Из него выводим, что «Жак имеет степень доктора, если Жак преподает в университете». Если в дальнейшем выяснится, что Жак не имеет степени доктора, то мы аннулируем нашу дедукцию и так изменим универсальное утверждение о преподавателях университета, чтобы Жак оказался исключенным.

Способ, которым операция паросочетания использует наследственное свойство, может дать автоматический механизм обработки исключений такого рода. Управляющий операцией паросочетания механизм может использовать наследственное свойство для вывода некоторого свойства объекта, только если специфическая информация об этом свойстве не появится в соответствующем этому объекте фрейме. Например, мы интересуемся, какой диплом у Жака. Для ответа на вопрос сначала попробуем установить паросочетание фрейма-цели с фреймом фактом. Если фрейм факт по Жаку имеет вид

Жак_2

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

дипл : магистр

то паросочетание вовлекает унификацию (у, магистр) и ответ таков: магистр (Жак имеет диплом магистра). Наоборот, если фрейм-факт по Жаку говорит лишь, что он профессор университета:

Жак_2

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

то механизм паросочетания использует фрейм

{х| проф_унив}

дипл: доктор

и ответ - доктор.


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.