Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ИИ_ВСЕ.doc
Скачиваний:
20
Добавлен:
04.12.2018
Размер:
293.38 Кб
Скачать

Сетевые модели Представление знаний с помощью фреймов (фреймовые модели)

Фреймовые модели называют языками представления знаний. Идея принадлежит М.Минскому.

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

Структура протофрейма:

(имя фрейма, имя слота1 (значение слота1), имя слота2 (значение слота 2) ….имя слота n (значение слота N))

Фрейм-структура данных для представления некоторого концептуального объекта.

- имеет имя, т.е. идентификатор, описываемого фреймом понятия. Пример: фрейм «комната»

-содержит ряд описаний слотов, с помощью которых уточняются некоторые структурные компоненты этого понятия Пример: у фрейма «комната» компоненты «двери», «потолок», «пол».

Слот- это описание с помощью которого определяются основные структурные элементы фрейма.

-может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислять это значение по заданному алгоритму. Пример: имя слота «возраст»

-может быть заполнен также правилами продукции, которые дают конкретные значения

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

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

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

Значением слота может быть фрагмент текста и арифметическое выражение (возраст).

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

У каждого фрейма есть один предок. На верхнем уровне иерархии - фрейм, содержащий наиболее общую информацию (она истинная для всех остальных фреймов).

Фреймы обладают способностью наследовать значения характеристик своих родителей. Значение характеристик в дочернем фрейме может отличаться от родительского.

Над фреймами можно выполнять операции: пересечение, объединение.

При объединении фреймов в итоговом фрейме будут содержаться все слоты, которые встречались в нескольких фреймах. Если какие-то слоты не являются общими, то некоторые значения их будут сохранены. Если в объединяемых фреймах одноименные слоты, то в результирующем фрейме останется один слот с таким именем.

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

Вычисление значения осуществляется двумя способами:

1-в результирующем фрейме только те значения, которые совпадают (имя значения)

2-находят путем объединения значений

Т.к. система меняет свое состояние, то фрейм системы распределяется на статические и динамические.

Динамические допускают изменение фреймов в процессе решении задачи.

Пример:

фрейм «директор»

имя слота «имя» «Иванов»

«возраст» процедура (дата, год рождения)

«образование» высшее

«адрес» «домашний адрес» (фрейм)

«зар.плата» 20 000

«специальность» экономист

«год рождения» 1947 год

Д/З построить систему фрейма «Комната»

Система фрейма «Комната»

имя слота

«ширина» -4 м

«длина» 10 м

«высота» 3 м.

«площадь» процедура (ширина, длина)

«пол» паркет

«наличие окон» есть

«количество окон» 4 окна, стеклопакеты

«дверь» деревянная

«наличие мебели» есть

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

1-имя фрейма (служит для идентификации фрейма должно быть уникальным в системе фреймов). Фрейм является совокупностью слотов, число которых может быть произвольным (в зависимости от необходимости и предметной области). Часть слотов определяется самой системой (системные слоты) и используются они для выполнения некоторых специфических функций.

Системный слот: а) указатель родителя IS-A б) для указания имени пользователя, для ввода дат и т.д.

2-имя должно быть уникальным в пределах фрейма – это идентификатор, это может быть произвольный текст.

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

В конкретных системах указатели наследования могут быть организованы различными способами и имеют обозначение

1)уникальное (не наследуется) И (unique)

2) наследуются s (same)

3) находятся в определенных рамках (планируется) R (range). Интервал находится в лоте «родителей».

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

5) значение слота должно соответствовать указанному типу данных и условию наследования

Логическим выводом во фреймовых системах управляют присоединенные процедуры, демоны, механизмы наследования (основной механизм вывода).

Демон – присоединенная процедура автоматически запускаемая при выполнении условий.

Типы демонов связаны с условиями запуска процедуры.

Если тип IF-NEEDED, то он запускается, если к моменту обращения к слоту его значения не было установлено.

Если тип IF-ADDED запускается если осуществляется попытка изменять знания.

Если тип IF-REMOVED запускается при попытке удаления.

Возможны и другие типы демонов, демон связанная процедура.

6)Присоединенная процедура которая называется служебной процедурой (метод)

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

Демон и присоединенная процедура по сути дела является процедурными знаниями, объединенными с декларативными (составляет единую систему).

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

В общем случае структуру фрейма можно изобразить

Фрейм с заполненными слотами называется «экземпляр» фрейма.

Пример: слот «Взятие»:

(субъект, Х1); (объект, Х2), (место, Х3); (время, Х4); (условия, Х5)

«робот», «коробки», «магазин», «с 9:00 до 18:00», «в магазине есть коробка, а у робота ее нет».

Полученный фрейм называется экземпляром фрейма или экзофреймом. Т.к. в состав фрейма могут входить слоты с именами действий, то фреймы годятся для представления как декларативных так и процедурных знаний. В данном случае декларативный тип знания.

Пусть имеется система фреймов и соответствующие слоты

Фреймы: человек, ребенок, ученик

Слоты: мыслить, млекопитающее, возраст, рост, учится в школе,

Фреймовое представление знаний реализуется языками объектно-ориентированного программирования. Также существуют специализированные языки представления знаний на основе фреймовой модели: FRL, KRL, KAPPA, TRISTAN,MODYC