Основы современных компьютерных технологий

Фреймы


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

293

факты, относящиеся к нему, описываются в слотах - структурных элементах данного фрейма. Все фреймы взаимосвязаны и образуют единую фреймовую систему, в которой объединены и процедурные знания.

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

Фрейм определяется как структура следующего вида:

(ИМЯ ФРЕЙМА;

ИМЯ СЛОТА1 (ЗНАЧЕНИЕ СЛОТА1)

ИМЯ СЛОТА2 (ЗНАЧЕНИЕ СЛОТА2)

.......................................................................

ИМЯ СЛОТА N (ЗНАЧЕНИЕ СЛОТА N))

Определим, например, фрейм для объекта "Служащий":

(Служащий

ФИО (Петров И.П.)



Должность (инженер)

Категория (2)

................................... ))

Если значения слотов не определены, то фрейм называют фреймом-прототипом, в противном случае - конкретным фреймом или экземпляром фрейма.

В теории фреймов ничего не говорится о методах реализации фрейма. Вслед за появлением теории фреймов появилось целое семейство систем программирования, поддерживающих концепцию фрейм-подхода: KRL, GUS, FRL, OWL и другие.

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


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

Процедуры связываются со слотами и обычно именуются демонами и слугами. Демон - это процедура, которая активизируется автоматически, когда в ее слот подставляется значение или проводится сравнение значений. Слуга - это процедура, которая активизируется по запросу - при возникновении определенного события.

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

294

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

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

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


Содержание раздела