Объектное (фреймовое) представление
Основные понятия. Теорию фреймов опубликовал в 1975г. М.Минский. Эта теория относится к психологическим понятиям и касается способов понимания того, как мы воспринимаем (видим, слышим) явления, процессы, объекты и т.п.
В основе теории фреймов лежит восприятие фактов посредством полученной извне информации о некотором явлении с уже имеющимися данными, накопленными опытным путем или полученными в результате вычислений. Когда человек попадает в новую ситуацию, он вызывает из своей памяти основную структуру, называемую фреймом. Фрейм (рамка) - это единица представления знаний, запомненная в прошлом, детали которой могут быть изменены согласно текущей ситуации. Класс некоторых объектов (процессов) может определяться одним типичным (базовым) объектом, который включает наиболее существенные характеристики объектов данного класса. Так некоторую характеристику объекта можно представить тройкой (Объект, атрибут_ j, значение_ j).
Собрав все тройки, касающиеся данного объекта, получим объектное представление области рассуждений, относительно данного объекта. Общая форма этого представления такова:
Объект(атрибут _ j значение _ j), j= 1 ,...,m
Таким образом, вместо построения различных независимых формул строим более крупную структуру полной информации об объекте, которую называют фреймом. Если требуется информация о некотором объекте, то обращаются к соответствующему фрейму, внутри которого находятся свойства и факты относительно рассматриваемого объекта. Заметим, что объектное представление можно получить как из логического, так и из других представлений знаний.
Пример
Фрейм, соответствующий понятию,
~поставка(Интеграл,Луч,Схема_14)~ имеет следующий вид:
ФРЕЙМ | (объект) | |
Поставка | Интеграл | (Слот-1) |
Потребитель | Луч | (Слот-2) |
Товар | Схема_14 | (Слот-3) |
(атрибуты (значение (имена) слотов) слотов)
Здесь каждая пара (атрибут, значение) является слотом. Нетрудно заметить, что фрейм содержит различные (наиболее важные) слоты, характеризующие данный объект "поставка".
Фрейм содержит как информационные, так и процедурные элементы, которые обеспечивают преобразование информации внутри фрейма и связи его с другими фреймами. Элементами фрейма являются так называемые слоты (от англ. slot - щель), которые могут быть пустыми и заполняться в процессе активизации фрейма в соответствии с определенными условиями. Таким образом, фреймы представляют собой декларативно-процедурные структуры, т.е. совокупность описаний и (возможно) связанных с ними процедур, доступ к которым выполняется прямо из фрейма.
Фрейм состоит из произвольного числа слотов, среди которых имеются системные слоты и слоты, определяемые пользователем. Каждый слот характеризуется определенной структурой и уникальным именем внутри данного фрейма. В качестве системных могут, например, быть определены следующие слоты: указатель фрейма-родителя, указатель прямого дочернего фрейма, пользователь фрейма, дата определения фрейма и его последней модификации, а также некоторые другие. Системные слоты используются при редактировании БД и управлении выводом.
Понятие “наследование свойств” позволяет фреймам заимствовать свойства, которые имеют другие фреймы. УКАЗАТЕЛИ НАСЛЕДОВАНИЯ касаются только фреймовых систем иерархического типа, основанных на отношениях “абстрактное - конкретное”. Они показывают, какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами во фрейме нижнего уровня. Типичные указатели наследования:
U (unique-уникальный); S (same-такой-же); R (range-установление границ); O (override-переопределить) и др. Указатель наследования U показывает, что каждый фрейм должен иметь слоты с различными значениями; S - все слоты имеют одно значение; R - значения слотов фрейма нижнего уровня должны находиться в пределах указанных значений слотов фрейма верхнего уровня; О - при отсутствии указания значение слота фрейма верхнего уровня становится значением слота фрейма нижнего уровня.
Структура данных фрейма.Фрейм можно представить в виде таблицы (отношения), строки которой соответствуют слотам фрейма, а столбцы - атрибутам (характеристикам) объекта. Имя таблицы является именем фрейма, и оно уникально. Каждый слот содержит следующие атрибуты: имя слота, указатель наследования, тип данных, значение слота, демон.
ТИП ДАННЫХ определяет, что слот либо имеет численное значение, либо является именем другого фрейма. К типам данных относится: FRAМE (указатель); INTEGER (целый); REAL (действительный); ВООL (булев); LISP (присоединенная процедура); TEXT (текст); LIST (список); ТАBLЕ (таблица); EXPRESSION (выражение) и др.
ЗНАЧЕНИЕ СЛОТА соответствует указанному типу данных этого слота; кроме того, должно выполняться условие наследования. Значениями слотов могут быть имена других фреймов, что обеспечивает связь (вложенность) между фреймами.
ДЕМОН - автоматически запускаемая процедура при обращении к слоту и выполнении некоторого условия. Например, демон типа IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено; IF-ADDED запускается при подстановке в слот значения, IF-REMOVED - при стирании значения слота.
Присоединенная процедура может использоваться в качестве значения слота и запускаться по сообщению, переданному из другого фрейма. Когда мы говорим, что фреймы, как модели представления знаний, объединяют декларативные и процедурные знания, то считаем демоны и присоединенные процедуры процедурными знаниями.
Свойства фреймов. Рассмотрим основные свойства фреймов.
1. Базовый тип. Базовые фреймы используются для указания наиболее важных объектов, позволяют добиться быстрого понимания сущности данного предмета. На основании базовых фреймов строятся фреймы для новых состояний. При этом каждый фрейм содержит слот-указатель подструктуры, что позволяет различным фреймам совместно использовать одинаковые части.
2. Процесс сопоставления. Во фреймовой системе осуществляется поиск фрейма, который соответствует (релевантен) цели (данной ситуации). Другими словами, сопоставляются значения (ограничения) слота фрейма во фреймовой системе со значениями атрибутов цели. Процесс сопоставления осуществляется следующим образом:
а) Сначала с помощью предложения и интуиции выбирается некоторый базовый фрейм с учетом выявленных особенностей, релевантности, т.е. посредством подфреймов, данный фрейм подтверждает или нет свою релевантность. При этом в соответствии с текущей целью определяется какое ограничение слота следует использовать при сопоставлении. Если фрейм подходит, то процесс сопоставления завершается, в противном случае выполняется пункт б).
б) Если в данном фрейме имеется слот, значение которого отрицательно влияет на сопоставление, то нужно присвоить слоту надлежащее значение.
в) Если два предыдущих шага не дают результата, то управление передается другому надлежащему фрейму этой или другой фреймовой системы. Если последнее сопоставление заканчивается безрезультатно, то задача не имеет решения.
Рис. 10.6. Пример фрейма |
3. Иерархическая структура. Фрейм обычно соответствует некоторой иерархической структуре, особенность которой состоит в том, что значения атрибутов фрейма верхнего уровня совместно используются всеми фреймами нижних уровней, связанных с верхними (рис. 10.6). Такая структура позволяет удобно систематизировать и записать схожие понятия, добавлять новые понятия или знания в соответствующие позиции иерархии, упрощает обнаружение противоречий в знаниях, просмотр знаний и делает фреймовую систему более гибкой.
В заключение рассмотрим пример фрейма в системе моделирования процесса выдачи банковского кредита под залог (рис. 10.6). Эта система содержит фрейм “заемщика”, который представляет собой класс клиентов и принадлежит к суперклассу заемщиков кредита. Он содержит характеристики, относящиеся к человеку-клиенту, такие как цель использования кредита, информацию об обеспечении клиента, его ответственности, имуществе и т.д.
Наследование свойств у фреймов представляется отношениями каждого фрейма с другими фреймами. Например, фрейм "индивидуальный клиент" имеет в качестве его суперкласса фрейм "клиент" и наследует его характеристики.
Важным является то, что фреймы имеют сложную структуру данных, в которой атрибуты фрейма сами являются фреймами. Например, "индивидуальный клиент" для фрейма "кредит под залог" сам является фреймом с присущими ему атрибутами.
Процедурный характер фрейма"кредит под залог" состоит в том, что значение в слоте "плата залога" может быть результатом вычисления по формуле, в которой используются слоты "количество", "процентная ставка" и "продолжительность" .
Трудности работы с фреймамиФреймы первоначально появились как метод представления типичных данных. Важной характеристикой стереотипа является то, что у него настолько хорошо определены возможности, что многие из их слотов имеют значения по умолчанию. Математические понятия являются хорошим примером стереотипов, подходящих для фреймов. Парадигма фрейма интуитивно более понятна, так как его структурное представление данных намного проще, чем логическое или производственных систем со многими правилами.
Тем не менее, большинство проблем во фреймах возникает с необходимостью неограниченного изменения слотов. Примером этой проблемы может быть фрейм, описывающий слонов:
Название | Слон |
Тип | Вид млекопитающего |
Цвет | Серый |
Ноги | |
Туловище | Цилиндрическое |
На первый взгляд, фрейм слона выглядит разумно, как характерное описание слонов. Тем не менее, предположим, создаётся специфический трёхногий слон. В этом примере слон может потерять ногу в несчастном случае или просто солгать о потере ноги, чтобы получить своё имя в книге. Важно то, что во фрейме слона говориться, что у слона четыре ноги, а не три. Таким образом, мы не можем полагать, что фрейм слона является определением слона.
Конечно, фрейм может быть модифицирован так, чтобы слон был трёхногим или двуногим или одноногим или даже безногим как исключение. Однако это не обеспечивает очень хорошее определение. Дополнительные проблемы возникают с другими слотами. Предположим, у слона тяжёлый случай желтухи и его кожа пожелтела. Разве он перестал быть слоном?
Альтернативой представления фрейма как определения является рассмотрение его как описания типичного слона. Тем не менее, это ведёт к другим проблемам из-за наследования свойств. Заметим, что фрейм слона утверждает, что слон - вид млекопитающего. С тех пор как мы интерпретировали фрейм как типичный, наша система фрейма утверждает, что типичный слон – типичное млекопитающее. Хотя слон млекопитающее, он возможно не типичное млекопитающее. Исходя из перечня: люди, коровы, овцы или крысы возможно найдутся более типичные представители млекопитающих.
Большинство систем фреймов не обеспечивают способ определения устойчивых слотов. После того, как слот может быть изменён, свойства, которые наследует фрейм, могут быть изменены или отменены где-нибудь в иерархии. Это означает, что каждый фрейм в действительности - примитивный фрейм, потому что нет гарантий, что свойства являются общими. Каждый фрейм пополняет свои собственные правила и поэтому каждый фрейм примитивен. Ничего действительно определённого в такой неограниченной системе нет, и невозможно создать универсальные формулировки, такие как определение слона. Так же, из более простых определений, таких как слон, невозможно построить композицию объектов, таких как слон с тремя ногами.
Такого же типа проблемы касаются семантических сетей с наследованием. Если свойства любой вершины могут быть изменены, то ничего не ясно.
Упражнения
10.1. Описать с помощью продукционных правил процесс принятия решения о кредитоспособности заемщика.
10.2. Преобразовать ТР с расширенными входами в ТР с ограниченными входами.
10.3. Преобразовать ТР с ограниченными входами в граф.
10.4. Преобразовать ТР со смешанными входами в продукционное правило.
10.5. Разработать метод получения решения из ТР без использования условного оператора ЕСЛИ
10.6. Построить семантическую сеть для процесса принятия решения о кредитоспособности заемщика.
10.7. Представить с помощью фреймов процесс выполнения покупателем платежа через банк в адрес продавца.
Дата добавления: 2016-10-26; просмотров: 2399;