Информационные технологии

Объектно-ориентированное представление знаний фреймами

Фреймовая модель представления знаний основана на теории фреймов М. Минского, которая представляет собой системати­зированную психологическую модель памяти человека и его со­знания.

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

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

Фрейм имеет имя, служащее для идентификации описывае­мого им понятия, и содержит ряд описаний — слотов, с помощью которых определяются основные структурные элементы этого понятия. За слотами следуют шпации, в которые помещают дан­ные, представляющие текущие значения слотов. Слот может со­держать не только конкретное значение, но также имя процеду­ры, позволяющей вычислить это значение по заданному алгорит­му. Например, слот с именем возраст может содержать имя про­цедуры, которая вычисляет возраст человека по дате рождения, записанной в другом слоте, и текущей дате. Процедуры, распола­гающиеся в слотах, называются связанными или присоединен­ными процедурами. Вызов связанной процедуры осуществляется при обращении к слоту, в котором она помещена. Заполнителями слота могут быть также правила продукций, используемые для определения конкретного значения. В слоте может содержаться не одно, а несколько значений, т. е. в качестве структурных со­ставляющих фреймов могут использоваться данные сложных ти­пов, а именно: массивы, списки, множества, фреймы и т. д. На­пример, в слоте с именем брат может содержаться список имен, если объект, описываемый данным фреймом, имеет нескольких братьев. Значение слота может представлять собой некоторый диапазон или перечень возможных значений, арифметическое выражение, фрагмент текста и т.д.

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

Такая система имеет, как правило, иерархическую структуру, в которой фреймы соединены друг с другом с помощью родо-видовых связей. На верхнем уровне ие­рархии находится фрейм, содержащий наиболее общую инфор­мацию, истинную для всех остальных фреймов. Фреймы облада­ют способностью наследовать значения характеристик своих ро­дителей. Например, фрейм АФРИКАНСКИЙ_СЛОН наследует от фрейма СЛОН значение характеристики цвет=«серый». Значе­ние характеристики в дочернем фрейме может отличаться от ро­дительского, например, значением данного слота для фрейма АЗИАТСКИЙ_СЛОН является цвет=«коричневый».

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

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

Пример фрейма РУКОВОДИТЕЛЬ Имя слота Значение слота

Тип значения слота

  • Имя
  • Рожден
  • Возраст
  • Специальность
  • Отдел
  • Зарплата
  • Адрес
  • Иванов И. И.
  • 01.01.1965
  • age(дama, рожден)
  • Юрист
  • Отдел кадров
  • 80000
  • ДОМ_АДРЕС
  • Строка символов
  • Дата
  • Процедура
  • Строка символов
  • Строка символов
  • Число
  • Фрейм

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

Имя фрейма. Оно служит для идентификации фрейма в систе­ме и должно быть уникальным. Фрейм представляет собой сово­купность слотов, число которых может быть произвольным. Чис­ло слотов в каждом фрейме устанавливается проектировщиком системы, при этом часть слотов определяется самой системой для выполнения специфических функций (системные слоты), при­мерами которых являются: слот-указатель родителя данного фрейма (IS-A), слот-указатель дочерних фреймов, слот для ввода имени пользователя, слот для ввода даты определения фрейма, слот для ввода даты изменения фрейма и т.д.

Имя слота. Оно должно быть уникальным в пределах фрейма. Обычно имя слота представляет собой идентификатор, который наделен определенной семантикой. В качестве имени слота мо­жет выступать произвольный текст. Например, = Главный герой романа Ф. М. Достоевского «Идиот», Значение слота>= Князь Мышкин. Имена системных слотов обычно заре­зервированы, в различных системах они могут иметь различные значения. Примеры имен системных слотов: IS-A, HASPART, RELATIONS и т.д. Системные слоты служат для редактирования базы знаний и управления выводом во фреймовой системе.

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

  • U (Unique) — значение слота не наследуется;
  • S (Same) — значение слота наследуется;
  • R (Range) — значения слота должны находиться в пределах интервала значений, указанных в одноименном слоте родитель­ского фрейма;
  • О (Override) — при отсутствии значения в текущем слоте оно наследуется из фрейма верхнего уровня, однако в случае опреде­ления значения текущего слота оно может быть уникальным. Этот тип указателя выполняет одновременно функции указате­лей U и S.

Указатель типа данных. Он показывает тип значения слота. Наиболее употребляемые типы: frame — указатель на фрейм; real — вещественное число; integer — целое число; boolean — логичес­кий тип; text — фрагмент текста; list — список; table — таблица; expression — выражение; lisp — связанная процедура и т.д.

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

Демоны. Демоном называется процедура, автоматически за­пускаемая при выполнении некоторого условия. Демоны автома­тически запускаются при обращении к соответствующему слоту. Типы демонов связаны с условием запуска процедуры. Демон с условием IF-NEEDED запускается, если в момент обращения к слоту его значение не было установлено. Демон типа IF-ADDED запускается при попытке изменения значения слота. Демон IF-REMOVED запускается при попытке удаления значения слота. Возможны также другие типы демонов. Демон является разно­видностью связанной процедуры.

Присоединенная процедура. В качестве значения слота может использоваться процедура, называемая служебной в языке Лисп или методом в языках объектно-ориентированного программи­рования. Присоединенная процедура запускается по сообщению переданному из другого фрейма. Демоны и присоединенные про­цедуры являются процедурными знаниями, объединенными вместе с декларативными в единую систему. Эти процедурные знания являются средствами управления выводом во фреймовых системах, причем с их помощью можно реализовать любой меха­низм вывода. Представление таких знаний и заполнение ими ин­теллектуальных систем — весьма нелегкое дело, которое требует дополнительных затрат труда и времени разработчиков ИИС. Поэтому проектирование фреймовых систем выполняется, как правило, специалистами, имеющими высокий уровень квалификации в области искусственного интеллекта.

Пример сети фреймов приведен на рисунке. На нем поня­тие УЧЕНИК наследует свойства фреймов РЕБЕНОК и ЧЕЛО­ВЕК, которые находятся на более высоких уровнях иерархии. Ес­ли будет задан вопрос «Любят ли ученики сладкое?», то следует ответ «да», так как этим свойством обладают все дети, что указа­но во фрейме РЕБЕНОК. Наследование свойств может быть час­тичным, например «возраст» для учеников не наследуется из фрейма «ребенок», так как явно указан в собственном фрейме.

В последние годы термин «фреймовый» часто заменяют тер­мином «объектно-ориентированный». Шаблон фрейма можно рассматривать как класс, экземпляр фрейма — как объект. Языки объектно-ориентированного программирования (ООП) предо­ставляют средства создания классов и объектов, а также средства для описания процедур обработки объектов (методы). Языки ООП, не содержащие средств реализации присоединенных про­цедур, не позволяют организовать гибкий механизм логического вывода, поэтому разработанные на них программы либо пред­ставляют собой объектно-ориентированные базы данных, либо требуют интеграции с другими средствами обработки знаний (например, с языком PROLOG).

Существуют также специализированные языки представле­ния знаний на основе фреймовой модели, примерами которых являются: FRL (Frame Representation Language), KRL (Knowledge Representation Language), фреймовая «оболочка» Kappa и др. Из­вестны также экспертные системы фреймового типа- ANALYST TRISTAN, ALTERID, МОДИС.

content_editor

Share
Published by
content_editor

Recent Posts

Магнитное поле тока. Магнитные силовые линии

Разница между энергией электрического поля и энергией магнитного поля примерно такая же, как между энергией,…

12 месяцев ago

Постоянные магниты

Когда-то легендарный пастух Магнес, нашел природный магнитный камень, притягивающий железо. В последствии этот камень назвали магнетит или магнитный…

12 месяцев ago

Соединение конденсаторов

В электрических цепях применяются различные способы соединения конденсаторов. Соединение конденсаторов может производиться: последовательно, параллельно и последовательно-параллельно (последнее иногда называют смешанное соединение конденсаторов). Существующие…

1 год ago

Обозначение конденсаторов

Обозначение конденсаторов на схемах определено ЕСКД ГОСТ 2.728-74. Обозначения условные графические в схемах. Резисторы, конденсаторы. Итак,…

1 год ago

Виды конденсаторов

Узнав, что же такое конденсатор, рассмотрим, какие бывают виды конденсаторов. Итак, виды конденсаторов можно классифицировать по…

1 год ago

Энергия поля конденсатора

Вся энергия заряженного конденсатора сосредотачивается в электрическом поле между его пластинами. Энергию, накоп­ленную в конденсаторе, можно определить…

1 год ago