чтобы проверить по правилу
…
Я могу использовать
чтобы проверить по правилу
Объяснение — это демонстрация того, как система намерена использовать информацию, которую она хочет получить от пользователя. Намерения системы демонстрируются в виде цепочки правил и целей, соединяющей эту информацию с исходным вопросом.
Рис. 14.8. Объяснение типа 'почему'. На вопрос 'Почему вас интересует текущая цель?' дается объяснение в виде цепочки правил и целей, соединяющей текущую цель с исходным вопросом пользователя, находящимся в верхушке дерева. Эта цепочка называется трассой.
Будем называть такую цепочку
14.4.3. Формирование ответа на вопрос 'как'
Получив ответ на свой вопрос, пользователь возможно захочет увидеть,
14.5. Реализация
Теперь мы приступим к реализации нашей оболочки, следуя тем идеям, которые обсуждались в предыдущем разделе. На рис. 14.9 показаны основные объекты, которыми манипулирует оболочка. Цель
— это вопрос, подлежащий рассмотрению; Трасса
— это цепочка, составленная из 'целей-предков' и правил, находящихся между вершиной Цель
и вопросом самого верхнего уровня; Ответ
— решающее дерево типа И/ИЛИ для вершины Цель
.
Рис. 14.9. Отношение рассмотреть( Цель, Трасса, Ответ).
Ответ
— это И/ИЛИ решающее дерево для целевого утверждения Цель
.
Основными процедурами оболочки будут:
рассмотреть( Цель, Трасса, Ответ)
Эта процедура находит ответ Ответ
на вопрос Цель
. Процедура
ответпольз( Цель, Трасса, Ответ)
порождает решения для тех вопросов Цель
, которые можно задавать пользователю. Она спрашивает пользователя об истинности утверждения Цель
, а также отвечает на вопросы 'почему'. Процедура
выдать( Ответ)
выводит результат и отвечает на вопросы 'как'. Все эти процедуры приводятся в действие процедурой-драйвером эксперт
.
14.5.1. Процедура рассмотреть
Центральной процедурой оболочки является процедура
рассмотреть( Цель, Трасса, Ответ)
которая будет находить ответ Ответ
на заданный вопрос Цель
, используя принципы, намеченные в общих чертах в разд. 14.4.1: найти Цель
среди фактов базы знаний, или применить правило из базы знаний, или спросить пользователя, или же обработать Цель
как И/ИЛИ-комбинацию подцелей.
Аргументы имеют следующий смысл и следующую структуру:
Цель
вопрос, подлежащий рассмотрению, представленный как И/ИЛИ-комбинация простых утверждений, например
X имеет перья или X летает или
X откладывает яйца
Трасса
цепочка, составленная из целей-предков и правил, расположенных между Цель
и исходной целью самого верхнего уровня. Представляется как список, состоящий из элементов вида
Цель по Прав
что означает: Цель
рассматривалась с использованием правила Прав
. Например, пусть исходной целью будет 'питер это тигр', а текущей целью — 'питер ест мясо'. В соответствии с базой знаний рис. 14.5 имеем трассу
[( питер это хищник) по прав3,
( питер это тигр) по прав5 ]
Смысл ее можно выразить так:
Я могу использовать 'питер ест мясо' для того, чтобы проверить по прав3, что 'питер это хищник'.
Далее, я могу использовать 'питер это хищник' для того, чтобы проверить по прав5, что 'питер это