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

Во фреймовых системах используют три способа управления выводом:

  • с помощью механизма наследования;
  • с помощью демонов;
  • с помощью присоединённых процедур.

1) На рис. 3.8 показан простой пример иерархической структуры интеллектуальной системы планирования.

Эта структура базируется на отношениях IS-А между фреймами, описывающими некоторую конференцию,

Предполагается, что все эти фреймы должны содержать такие пункты, как дата и место проведения конференции, название темы и фамилии выступающих. Таким образом, на самом верхнем уровне иерархии определен фрейм “конференция”, содержащий четыре указанных слота. В данном случае конференции разделяются на конференции по коммерческим вопросам и конференции по развитию, которые определены в качестве соответствующих дочерних фреймов. Далее, общей темой конференций по коммерческим вопросам является торговля, а общей темой конференций по развитию является освоение новых технологий, которые подставляются в качестве значений в соответствующие слоты. Кроме того, во фрейме “конференция по коммерческим вопросам” необходим слот “цель”, а во фрейме “конференция по развитию” – слот “бюджет”.

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

В момент обращения к слоту “тема” из фрейма 3 запускается механизм управления наследованием, с помощью которого осуществляется поиск и применение значения этого слота в соответствующий фрейм верхнего уровня.

Если оно отсутствует, обращение осуществляется к фрейму более верхнего уровня.

2) На рис. 3.9 приведен пример управления выводом с помощью демонов.

Демон If–added с именем “забронировать” автоматически запускается при подстановке в слот значения “конференц-зал”. Демон IF–NEEDED с именем “Кто?”, присоединён к слоту “выступающие”. Если при обращении к данному слоту его значение было равно нулю, генерируется запрос “Кто выступает на международной конференции по нейрокомпьютерам?”. Ответ передаётся при подстановке входных данных пользователя в качестве значения слота. Демоны запускаются автоматически при обращении к ним.

3) На рис. 3.10 представлен пример управления выводом с помощью присоединенных процедур.

Присоединённая процедура – служебная функция (команда) MSG служит для передачи сообщений.

Структура: MSG(имя фрейма, имя слота, параметр, …)

Механизм передачи/приёма сообщений

Если по сообщению от другого фрейма инициируется процедура “вычислить” фрейма AA, то с помощью MSG фрейму BB передаётся сообщение, которое инициирует процедуру MEAN. С её помощью вычисляется d – среднее арифметическое. Результат передаётся во фрейм AA.

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