Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к экзамену.doc
Скачиваний:
69
Добавлен:
16.03.2015
Размер:
1.59 Mб
Скачать

23. Фреймовые модели представления знаний. Понятие фрейма и его структура. Примеры.

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

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

Рисунок 1 - Структура фрейма

С каждым слотом можно связать любое число процедур. Три типа процедур, чаще всего связывающиеся со слотами: 1. IF – ADDED: процедура ЕСЛИ – ДОБАВЛЕНО. Выполняется, когда новая информация помещается в слот.

2. IF – DELETED: процедура ЕСЛИ –УДАЛЕНО. Выполняется, когда информация удаляется из слота.

3. IF – NEEDED: процедура ЕСЛИ – НУЖНО. Выполняется, когда запрашивается информация из слота, а он пустой.

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

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

Пример: Предметная область “Составление расписания приёма” предполагает построение фреймовой модели. Необходимо три фрейма-прототипа: больной, участок и врач.

Фрейм “Больной” состоит из следующих слотов:

  • ФИО больного.

  • Дата и время приёма больного.

  • Состояние здоровья.

  • Номер участка (слот АКО).

Фрейм “Участок” состоит из следующих слотов:

  • Номер участка.

  • Адрес (слот АКО).

Фрейм “Врач” состоит из следующих слотов:

  • ФИО.

  • Специальность.

  • Номер врача.

  • Закреплённый участок(слот АКО).

  • Длительность смены.

Визуальное представление сети фреймов-прототипов на рисунке 1. На рисунке 2 представлен пример сети фреймов-экземпляров.

Рисунок 2 – Сеть фреймов-прототипов

Рисунок 3 – Пример сети фреймов-экземпляров

24. Реализация фреймовых систем. Связь с объектно-ориентированным программированием. Язык описания фреймов rll.

f=<S1 V1, S2 V2, …, Si Vi, …, Sn Vn> - общая структура фрейма, где Si –имя i-го слоя, Vi – его значение

Впервые реализован на LISP.

Фрейм может быть представлен как контейнер класса, а слот представлен классом. Слоты кроме имени имеют методы (от 1 до 3). Хранение экземпляров фреймов осуществляется в текстовом формате.

Язык RLL (Representation Language Language) разработан в 1980 г. Ленот

Вводятся базовые конструкции в виде RLL элемента – фрейм прототип, содержащий несколько слотов (зависит от предметной области). Вводится ряд системных слотов, которые являются обязательными:

  • is_a – слот, задает родовидовые отношения

  • examples - примеры

  • to_compute - вычисления

  • generalization - обобщение

  • description – описание

В качестве примера рассмотрим описание предметных областей

Пример 1 Водопроводная сеть города

М6-3

Is_a : люк

К_нему: М6-2

Распол.ход: (Улица А ориентир 1)

Люк

Is_a: Set(множество физ. объектов)

Generalization: (физический объект,…)

Examples: M6-2, M6-3,…

Description:Предназначен для….

Prototype: Типовой люк

NewSlots: (К нему, от него, расположен под)

М6-2

Is_a : люк

От_него: М6-7

Распол.ход: (Улица А ориентир 6)

К_нему

Is_a: Slot

Description: втекающий поток

Inverse: от него

To_compute (Lambda(m)(one…)…)

  1. Фреймовые системы. Язык представления знаний FRL. Структура описания фрейма. Типы данных и процедур. Операторы создания и модификации фрейма. Примеры.

FRL (Frame Representation Language). Разработан в 1974. В 1987 создан компиляторLISP.

Фрейм – 5-ти уровневая конструкция следующего вида:

...

Аспект – правило работы с данными. Всего 2 основных:

  • ¤Value– данные используются в обычном понимании значения (м.б. добавлены, удалены, отредактированы)

  • ¤Default– значения аспектов используются по умолчанию.

Каждый слот одновременно может иметь несколько аспектов. С каждым слотом связанно от 1 до 3-х процедур:

  • if_added

  • if_needed

  • if_deleted

Структура описания фрейма:

(Имя фрейма

[имя 1-го слота

(имя 1-го аспекта

(1-е данное

(1-й комментарий)

(l-й комментарий))

(2-е данное

(1-й комментарий)

(m-й комментарий))

(j-е данное

(…)

(…)))

(имя 2-го аспекта

(…)

(…))]

[имя 2-го слота

…])

Основные функции FRL:

FASSERT– создание фрейма

fassert(иванов

(имя(¤Value(Петр)))

(адрес(¤Value(Общага7)))

(группа(¤Value(651)))

(хобби(¤Value(спорт))))

FPUT(F S A Z)– добавление информации во фрейм, гдеF– имя фрейма,S– имя слота,A– имя аспекта,Z– имя значения.

FPUT(Иванов хобби ¤Valueмузыка)=>(хобби(¤Value(спорт)

(музыка))))…

FGET(F S A)– извлечение информации из фрейма

FGET(Иванов хобби ¤Value)=>(спорт)(музыка)

FREMOVE(F[S[A[Z]]])– удаление информации

FPRINT(F1,F2,F3)– вывод на печать

FPUT(Иванов хобби ¤Default не занимается)– добавление значения по умолчанию.