Фреймова модель представления знаний
Самая старая модель, предложенная американским Марвином Минским в
В наиболее общем виде фрейм - конструкция следующего вида:
{имя_фрейма, (имя_слота1, значение_слота1, [<имя присоединенной процедуры >], ….) }
фрейм - прототип - интенсиональное описание (аналог структурного шаблона в С) и фрейм - экземпляр (заполненной конкретной информацией) - экстенсиональное описание (аналог структурной переменной в С).
Фреймы можно объединить в сети по иерархическому принципу (для этого используются слоты с именами AKO - для ссылки на вышестоящий, INSTANCE - для ссылки на нижестоящий уровень).
Горизонтальные связи образуются при использовании в качестве данных стек других слотов с соответствующей пометкой.
Во фреймовых системах впервые была реализована идея использования присоединённых к конкретным данным процедур. Процедуры могут запускаться автоматически либо при любом обращении к данным, либо привыполнении определённых условий или совершения определённых действий.
В СИИ работающих на фреймах можно выделить несколько типовых процессов:
1)В создании фрейм экземпляров и наполнении их информацией;
2)Активизация фреймов. В случае, если фрейм считается подходящим к данной ситуации, осуществляется его активизация к глобальным процессам. Если фрейм не достаточно соответствует ситуации, он может содержать ссылки на другие нужные.
3)Организация вывода, последовательный поиск и организация фреймов обработки. Выполняется также глобальным процессом.
Существует большое количество фреймовых языков. Большая часть базируется на LISPе (LISP - язык обработки списков). В качестве примера рассмотрим некоторые конструкции языка.
FRL - язык представления фреймов.
(F <S1> <S2>…)
(S <A1> <A2>…)
F - фрейм; S - слот; A - аспект.
Есть зарезервированные аспекты
$ VALUE <…> - значение;
$ DEFAULT <…> - значение по умолчанию;
$ IF_ADDED(имя присоединённой процедуры(параметры)) - запускается при добавлении значения.
Данные тоже список.
(D <имя комментария> : <комментарий>) (…)
Фрейм
(Яблоко *1
(сорт
($ VALUE (антоновка))
)
(вкус
($ VALUE
(кислый (когда: лето))
(кисло-сладкий (когда: осень))
)
…