18.2.3.
Система HEARSAY-III— оболочка для создания систем с доской объявлений
Система HEARSAY-III
— это оболочка системы с доской объявлений, созданная на базе HEARSAY-II точно
так же, как оболочка продукционной системы EMYCIN была создана на базе MYCIN
[Erman et al, 1983]. В структуру HEARSAY-III, помимо источников знаний
и доски объявлений, включена еще и реляционная база данных, с помощью которой
выполняется обслуживание объектов доски объявлений и планирование. Это позволило
существенно упростить механизм выбора записей активизации источников знаний.
Язык управления базой данных АРЗ основан на языке InterLISP и позволяет программировать
выполнение ряда функций оболочки [Goldman, 1978].
Источник знаний
в экспертной системе, создаваемой на базе оболочки HEARSAY-I1I, должен состоять
из пускового образца (trigger), первичной программы (immediate code) и
тела (body). Обнаружив соответствие между текущим содержимым доски объявлений
и пусковым образцом, оболочка создает узел записи активизации для этого источника
знаний и запускает на выполнение первичную программу. Спустя некоторое время
запись активизации источника знаний выбирается планировщиком и тогда запускается
на выполнение тело источника знаний, которое представляет собой программу на
языке LISP. В состав HEARSAY-III входит простейший планировщик, который выполняет
базовые функции планирования в экспертной системе: выбор очередной записи в
списке актуальных и запуск на выполнение программного кода соответствующего
источника знаний.
Пусковой образец
имеет вид шаблона на языке АРЗ и представляет собой предикат, примитивами которого
являются шаблоны фактов и произвольные предикаты языка LISP. Всякий раз, когда
база данных модифицируется и оказывается, что текущие данные в ней сопоставимы
со всеми шаблонами в образце, создается узел записи активизации, который хранит
название источника знаний, пусковой контекст и значения переменных, полученные
в результате сопоставления. При создании записи активизации выполняется первичная
программа источника знаний. Эта программа, написанная на языке LISP, может связывать
с узлом записи активизации некоторую информацию, которая позже может быть использована
при выполнении тела источника. Первичная программа выполняется в пусковом контексте
и в ней могут использоваться конкретизированные в этом контексте переменные
образца. Значение, возвращаемое первичной программой после завершения, — это
имя какого-либо из классов узлов доски объявлений. Затем запись активизации
помещается на доску объявлений в качестве узла этого класса.
Некоторое
время спустя базовый планировщик системы, который входит в состав оболочки
HEARSAY-III, инициирует выполнение какой-либо операции с записью активизации.
Как правило, это выполнение тела источника знаний в пусковом контексте с означенными
переменными. Каждый сеанс выполнения тела источника знаний неделим — это аналог
транзакции в системах управления базами данных. Сеанс продолжается до полного
завершения и не может быть прерван для активизации любого другого источника
знаний.
При проектировании
прикладной экспертной системы на базе оболочки HEARSAY-III нужно самостоятельно
разработать процедуру базового планировщика, которая будет вызываться оболочкой
после запуска. Эта процедура может быть достаточно простой, поскольку большая
часть знаний о планировании может быть включена в планирующие источники знаний.
Например, базовый планировщик может представлять собой простейшую циклическую
процедуру, которая извлекает первый элемент из очереди, организованной планирующими
источниками знаний, и запускает его выполнение. Если обнаруживается, что очередь
пуста, базовый планировщик завершает работу системы.
Основные достоинства среды HEARSAY-III — это, во-первых, использованный в ней режим управления, который предоставляет разработчикам прикладных экспертных систем большую свободу в выборе способов представления и применения эвристик отбора активизируемых записей источников знаний, а во-вторых, структуризация множества объектов доски объявлений.