В интеллектуальных системах с фреймовым представлением знаний используются три способа управления логическим выводом: демоны, присоединенные процедуры и механизм наследования.
Управленческие функции механизма наследования заключаются в автоматическом поиске и определении значений слотов фреймов нижележащих уровней по значениям слотов фреймов верхних уровней, а также в запуске присоединенных процедур и демонов.
Присоединенные процедуры и демоны позволяют реализовать любой механизм вывода в системах с фреймовым представлением знаний. Однако эта реализация имеет конкретный характер и требует значительных затрат труда проектировщиков и про-фаммистов. Рассмотрим простой пример. В табл 1.1.показана структура фрейма «Научная конференция»
Таблица 1.1 Фрейм «Научная конференция»
Имя слота | Значение слота | If-needed | If-added | If-removed |
Дата | 1.02. 10: 10 | |||
Место проведения | Аудитория 209 | ЗАКАЗ | ||
Тема доклада | Прогнозирование | |||
тенденций в эко- | ||||
номике | ||||
Докладчик | Иванов И.И.
|
КТО? |
Демон ЗАКАЗ — это процедура, которая автоматически запускается при попытке подстановки значения в слот с именем Место проведения. Ее главное назначение состоит в проверке возможности заказа аудитории на нужное время. Такая процедура на языке LISP может выглядеть примерно так:
Демон КТО? автоматически запускается при обращении к слоту Докладчик, если значение этого слота не определено. Основное содержание данной процедуры — генерация запроса к пользователю типа «Кто выступает?», получение ответа и его запись в качестве значения слота.
Реализация вывода с помощью присоединенных процедур требует наличия механизма обмена информацией между фреймами. В качестве такого механизма обычно используется механизм сообщений.
На рис. 1.2 схематично показан обмен информацией между фреймами АА и ВВ во время исполнения присоединенной процедуры CALC, при этом вызывается процедура MEAN, расположенная в фрейме ВВ.
Фрейм ВВ |
Фрейм АА
Имя слота | Тип | Значение | Имя слота | Тип | Значение | ||
ISA | Frame | A | ISA | Frame | В | ||
Объект 1 | Integer | 125 | X | Integer | 10, 20, 30 | ||
Объект 2 | Real | 8.5 | MSG | Y | Real | 8.0, 12.6 | |
Расчет | LISP | CALC | Среднее | LISP | MEAN | ||
Ответ |
Рис 1.2 Обмен информацией между фреймами
Допустим, что процедура CALC(result) выполняет расчет, в процессе которого происходит обращение к фрейму ВВ с использованием команды MSG, реализующей передачу сообщения в другой фрейм.
LISPproc CALC(result) MSGiCpednee, BB, X) end.
Команда MSG имеет три параметра: 1 — имя слота, к которому происходит обращение (в данном случае значением слота Среднее является присоединенная процедура MEAN); 2 — имя фрейма, в котором содержится необходимая информация (ВВ); 3 — имя слота-параметра, в котором находятся данные для расчета (X).
MSG |
MSG |
Рис. 1.3. Средства управления выводом в интеллектуальной системе фреймового типа |
Итак, в интеллектуальных системах с фреймовым представлением знаний невозможно четко отделить процедурные знания от декларативных, поскольку присоединенные процедуры и демоны одновременно являются и знаниями, и средствами управления логическим выводом. На рис. 1.3 схематично показаны средства управления выводом во фреймовой системе. Возможность организации выводов любого типа является существенным преимуществом фреймовых систем по сравнению с продукционными и логическими. Не менее важным достоинством является большее сходство этой модели представления знаний со структурой знаний в памяти человека. Вместе с тем практическая реализация фреймовых систем сопряжена со значительной трудоемкостью как на этапе проектирования, так и при реализации. Поэтому стоимость промышленных экспертных систем фреймового типа на порядок превосходит стоимость продукционных систем.