Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(2010-2011) БДиЭС - ЭС.doc
Скачиваний:
1
Добавлен:
27.10.2018
Размер:
261.12 Кб
Скачать

Фреймовая модель знаний

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

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

В состав слота входят

  1. имя слота,

  2. указатель наследования,

  3. указатель типа данных,

  4. значение слота,

  5. определения демонов,

  6. присоединенная процедура.

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

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

  2. слот со списком дочерних фреймов,

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

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

Указатель типа данных определяет тип значения слота:

  1. integer, real, bool, text,

  2. list, table, expression – список, таблица, выражение,

  3. LISP – присоединенная процедура,

  4. frame –указатель (имя) другого фрейма,

  5. и т.д.

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

Демон – это процедура, разрабатываемая пользователем, но вызываемая автоматически при выполнении различных операций над значением слота. Типичные демоны:

  1. if-needed – вызывается, если в момент обращения к слоту его значение не было определено,

  2. if-added – вызывается при подстановке в слот значения,

  3. if-removed – вызывается при стирании значения слота.

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

Приведем упрощенный пример фрейма:

Служащий

( ФИО (Иванов И. И.),

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

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

)

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

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

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

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

Из систем программирования, поддерживающих концепцию фреймов, отметим язык представления знаний KRL (Knowledge Representation Language) и язык представления фреймов FRL (Frame Representation Language).

Преимущества фреймовых систем над продукционными:

  1. знания организованы на основе концептуальных объектов;

  2. допускается комбинация представления декларативных (как устроен объект) и процедурных (как взаимодействует объект) знаний;

  3. иерархия фреймов вполне соответствует классификации понятий, привычной для восприятия человеком;

  4. система фреймов легко расширяется и модифицируется.

Трудности применения фреймовой модели знаний в основном связаны с программированием присоединенных процедур.