Помощь в написании студенческих работ
Антистрессовый сервис

Вывод на фреймах

РефератПомощь в написанииУзнать стоимостьмоей работы

Имя фрейма — уникальный идентификатор. Для каждого фрейма определяется слот IsA — родитель данного фрейма — и слот дочерних фреймов, задаваемый списком имен (указателей). В список слотов включается ряд слотов, необходимых для организации интерфейса с пользователем, для организации внутрисистемных процессов и т. п. В их число входят, например, слоты для определения имени пользователя, даты… Читать ещё >

Вывод на фреймах (реферат, курсовая, диплом, контрольная)

Для организации процесса вывода используются механизмы наследования информации и присоединенных процедур. Наиболее системная структура фрейма, удобная для описания, приведена на рис. 4.33.

Структура данных слота.

Рис. 433. Структура данных слота.

Здесь:

  • 1) имя фрейма — уникальный идентификатор. Для каждого фрейма определяется слот IsA — родитель данного фрейма — и слот дочерних фреймов, задаваемый списком имен (указателей). В список слотов включается ряд слотов, необходимых для организации интерфейса с пользователем, для организации внутрисистемных процессов и т. п. В их число входят, например, слоты для определения имени пользователя, даты определения, даты изменения текста, комментария и т. п.;
  • 2) имя слота также служит его идентификатором, т. е. уникальным именем во фрейме, к которому он принадлежит. Могут вводиться специальные идентификаторы, отождествляемые с отношениями Is A, Part-of, причина — следствие и др. Кстати, в качестве слота может выступать слот «Условие», а его значением может быть продукционное правило. Таким образом, реализуется возможность использования продукций для организации вывода. Вводятся также слоты типа: «Дата модификации фрейма», «Комментарий», «Отношение» и др. Такие слоты называются системными и используются для редактирования БЗ и управления выводом;
  • 3) указатели наследования необходимы только для фреймовых систем иерархического типа. Типичными указателями могут служить: «уникальный» (unique: U), «такой же» {same: S), «установить» (range: R), «игнорировать» {override/. О) и т. п. Метка U показывает, что каждый фрейм может иметь слоты с различными значениями; S все слоты должны иметь одинаковое значение; R значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фреймов верхнего уровня; О при отсутствии указания значение слотов фрейма верхнего уровня становится значением слота фрейма нижнего уровня;
  • 4) указатель атрибутов слота показывает тип данных — число, указатель другого фрейма, т. е. является именем (FRAME (указатель на другой фрейм), INTEGER (целый), REAL (действительный), BOOL (логический), TEXT (текстовый), LIST (список), TABLE (таблица), EXPRESSION (выражение) и др.);
  • 5) значение слота, очевидно, должно совпадать с указанным типом данных этого слота, а также должно выполняться условие наследования;
  • 6) демон присоединенная процедура. Примеры таких ПП: If-needed, If-added, If-removed и т. д. Эти процедуры запускаются автоматически при выполнении некоторого условия.

ПП-слуга обычно программы процедурного типа, называемые служебными (в языке LISP), методами (в языке Smalltalk). Процедура запускается по сообщению из другого фрейма.

Как таковой формальный механизм вывода отсутствует и реализуется с помощью механизма наследования и присоединенных процедур. Это позволяет объединять возможности сетевого и иерархического представления знаний.

Из данного примера видно, насколько разнообразными могут быть конкретные реализации СИИ фреймового типа, а также их достоинства.

Приведем пример записи иерархии фреймов по отношению IsA с указанием фрейма более высокого уровня, из которого наследуются свойства (рис. 4.34).

Значение слота ЛЕТАЕТ по умолчанию означает, что если нет специальной оговорки, все подмножества ПТИЦ и отдельные ПТИЦЫ летают.

Остальные свойства {ИМЕЕТ КРЫЛЬЯ), {ИМЕЕТ ПЕРЬЯ) наследуются всеми элементами, связанными отношением IsA.

Функция значений «по умолчанию» очень популярна в представлении фреймов, поскольку позволяет однозначно определять значения слотов на иерархии.

Фрейм ПТИЦА.

Рис. 4.34. Фрейм ПТИЦА.

Например, если задать вопрос к базе фреймов: умеет ли Джо охотиться, система обращается к фрейму СОКОЛ и выясняет, что сокол умеет охотиться. Иными словами, это свойство наследуется из фрейма более высокого уровня. Если мы хотим получить ответ на вопрос: летает ли ПИККОЛО, то системе приходится разрешать коллизию, возникающую при анализе фреймов ПТИЦА {ПИНГВИН есть ПТИЦА) и ПИНГВИН. Свойство ЛЕТАТЬ не определено во фрейме ПИККОЛО, поэтому система обращается к фрейму ПИНГВИН но указателю IsA. И здесь есть прямое указание, что пингвин не летает. Это свойство наследуется во фрейме ПИККОЛО. И хотя указатель нас отправляет к фрейму ПТИЦА, где по умолчанию стоит значение ДА, предпочтение отдается значению в слоте ПИНГВИН, откуда была последняя ссылка.

Очень часто языки фреймового тина называют объектно-ориентированными. Таким языком является Smalltalk. Другими примерами языков программирования фреймового типа являются языки FML (Frame Manipulation Language), FRL {Frame Representation Language), KRL {Knowledge Representation Language), являющиеся надстройками над LISP-системами. Очень часто такие языки также называют объектно-ориентированными, но, для предотвращения путаницы с языком Smalltalk, обычно сохраняют название «язык фреймового типа».

Показать весь текст
Заполнить форму текущей работой