- •5. Объектные интеллектуальные системы.
- •5.1. Системы на семантических сетях.
- •4.2. Системы на сетях фреймов
- •6. Обучаемые интеллектуальные системы
- •6.1. Логические обучаемые системы
- •6.2 Ассоциативные системы на нейронных сетях
- •7. Когнитивные системы
- •7.1. Логические когнитивные системы.
- •7.3. Нейрологические когнитивные системы.
- •7.2. Нейронные когнитивные системы.
- •Список литературы
- •5. Объектные интеллектуальные системы 54
- •5.1. Системы на семантических сетях 54
- •6. Обучаемые интеллектуальные системы 62
- •7. Когнитивные системы 70
4.2. Системы на сетях фреймов
Системы на сетях фреймов основаны на объектном подходе с процедурными знаниями внутри объектов и строятся, как правило, с использованием специальных языков представления знаний (FMS, KRL, FRL).
Сети фреймов (СФ) развиваются с 1975 года. М. Минским как один из способов описания сцен и повседневной речи [1].
Описания сложных объектов строятся как сети фреймов, имеющие в вершинах фреймы-описания или ролевые фреймы. Они полностью характеризуют объект и его связи и формально представлены структурой вида
{i, (V1, g1, P1), (V2, g2, P2), …, (Vn, gn, Pn)},
где: i - имя фрейма, Vi - имена слотов - составных частей фреймов, между которыми также существует соотношение, gi - значение слотов (например, имена других фреймов, связанных с i-м), Pi - присоединенная процедура, выполняемая над слотом.
Дуги сетей фреймов показывают отношения между вершинами, поэтому сеть фреймов можно рассматривать как сеть сетей или дерево деревьев, описывающих систему знаний об объектах.
Система на сети фреймов реализуется на специализированных языках и состоит из программ, описывающих все действия, которые должны быть
57
выполнены для каждого фрейма. Они вызываются из соответствующего фрейма, а при работе системы активизируют нужные фреймы, осуществляют
обмен
данными между ними или передают
управление другим фреймам. При этом
знание о проблеме представляется
процедурно.
Языки описания фреймов, как правило,
являются расширениями языка LISP
и представляют собой фреймовую систему,
включающую средства написания и
редактирования фреймов, интерпретатор
(фрейм-процессор), библиотеку присоединенных
п
роцедур
и пр. Пример фреймовой системы FMS
представлен
на
рис. 5.4.
Фрейм в имеет структуру, показанную на рис. 5.5.
Имя фрейма |
Указатель наследования |
Указатель атрибута |
Значение слота |
Демоны и присоединенные процедуры |
Слот 1 |
|
|
|
|
Слот 2 |
|
|
|
|
. . . |
|
|
|
|
Слот N |
|
|
|
|
Рис.5.5. Структура фрейма
58
Фрейм состоит из N слотов, в том числе: слот IS-A, который указывает на корневой фрейм системы (наследование); слот указателей дочерних фреймов (содержит список указателей на них); слот для ввода имени пользователя, даты определения, изменения, текста комментария; другие слоты (HAS-PART и др.).
Рассмотрим содержание полей фрейма подробнее.
Имя фрейма. Идентификатор, присваиваемый фрейму (уникален в системе).
Имя слота. Идентификатор, присваиваемый слоту (уникален во фрейме).
Специфические имена:
IS-A - слот наследования (подчиненности);
DDESEN DANTS - слот указателя дочернего фрейма;
FINEDBY - слот пользователя, определяющий фрейм;
DEFINDON - слот идентификации (дата определения, модификации и пр.);
COMMENT - слот комментариев;
RELATTONS - слот отношений для представления структуры фреймов.
Указатели наследования. Используются для фреймовых систем иерархического типа, основанных на отношениях АКО (абстрактное -конкретное). Показывают, какую информацию об атрибутах во фрейме верхнего уровня наследуют слоты с такими же именами: IS-A (есть), KIND-OF (разновидность), PART-OF (часть от), HAS-PART (имеет частью).
Типовые указатели наследования:
Unigue (U - уникальный) - фрейм может иметь слоты с разными значениями;
Same (S - такой же) – все слоты имеют одинаковые значения;
Range (R - установленные границы) - значение слота фрейма нижнего уровня устанавливается в пределах, указанных значениями слотов фрейма верхнего уровня);
Overridge (O - игнорировать) - при отсутствии значения слота (значение слота фрейма верхнего уровня становится значением слота фрейма нижнего уровня.
4. Указатели атрибутов слота. Это указатели типа данных: либо слот имеет числовое значение, либо является указателем другого фрейма.
59
Типовые указатели:
FRAME - указатель фрейма;
АТОМ - элемент списка;
INTEGER, REAL, BOOL - тип данных (целые, действительные, булевы);
LIST, TABLE, EXPESSION - список, таблица, выражение;
TEXT - текст комментариев и пр.;
LISP - присоединенная процедура (PROC).
5. Значение слота. Вводит значение слота (оно должно совпадать с указанным типом данных этого слота).
6. Демон . Процедура, автоматически запускаемая при выполнении некоторого условия при обращении к некоторому слоту.
Типы демонов:
IF-NEDDED (если нужно) - запускается, если при обращении его значение не было установлено;
IF-ADDED (если добавлено) - запускается при подстановке в слот значения;
IF-REMOVED (если убрано) - запускается при стирании значения слота.
Демон является разновидностью присоединенных процедур.
7. Присоединенная процедура. Служебная процедура на языке LISP или метод на языке SMALLTALK (запускается по сообщению, переданному из другого фрейма).
Присоединение процедуры - основное средство управления выводом. Однако их написание накладывает дополнительную нагрузку на пользователя. Поэтому язык представления фреймов можно называться языком специалистов по интеллектуальным системам.
Исходя их сказанного, можно выделить три средства управления выводом в системах на сети фреймов: Демон, Служебная присоединенная процедура и Механизм наследования типа АКО (Абстрактное-Конкретное).
Управление обменом в таких системах осуществляется через сообщение (MESSAGE). При этом осуществляется запуск соответствующей присоединенной процедуры. Механизм наследования производит автономный поиск и определение значений слотов фреймов верхнего уровня и присоединенных процедур.
На рис. 5.6 в качестве примера представлен фрейм АУДИТОРИЯ,
60
описывающий учебную аудиторию. Этот фрейм является корневым в сети фреймов, описывающих компоненты аудитории (потолок, пол, стены). Для определения того, кто и при каком состоянии использует аудиторию, введены две присоединенные процедуры по типу демонов (Кто?, Состояние).
Процедуры запускаются автоматически при подстановке в слот значения "аудитория". Значение заносится заранее путем передачи сообщения, и, если оно занесено, процедура инициализируется и работает при обращении к фрейму.
Т
акие
системы являются самыми простыми и
интуитивно понятными. На практике
системы на СФ могут быть значительно
более сложными. Их
61
создание требует очень хорошего знания программной среды проектирования фреймов и управления ими. Хорошо спроектированная система на СФ может решать задачи распознавания, управления и пр., которые затруднительно решаются простыми продукционными системами.
