Искусственный интеллект и экспертные системы

       

Фреймы


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

Фрейм = <слот 1><слот 2>…<слот N>.

Слот представляет собой пару атрибут (имя слота) — значение. В качестве значения могут выступать константные факты, выражения, содержащие переменные, ссылки на другие слоты, ссылки на фреймы и т. п.

Поэтому фрейм является рекурсивной структурой.

Рассмотрим в качестве примера фрейм "Битва". Цепочка этого фрейма выглядит так:

Битва = <кто?><с кем?><когда?><где?><результат>.

Представленный фрейм называется фреймом-прототипом. Во фреймах такого вида слоты имеют переменные значения. Например:

Битва = <Герой><Антигерой><утром><в чистом поле><победил>.

В этом случае, по крайней мере, слоты Герой и Антигерой - переменные, их значения могут уточняться. В результате такого уточнения получается фрейм-экземпляр:

Битва = <Царевич><Кощей Бессмертный><утром><в чистом поле><победил>.

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

Для автоматизированной обработки фреймов создан ряд языков, таких, например, как KPL, FPL. Близкое к понятию фрейма понятие объекта реализовано в объектно-ориентированном программировании.

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



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