чтобы проверить по правилу Пc, что d, и

Я могу использовать y,

  чтобы проверить по правилу Пy, что z, и

z — это ваш исходный вопрос.

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

Рис. 14.8. Объяснение типа 'почему'. На вопрос 'Почему вас интересует текущая цель?' дается объяснение в виде цепочки правил и целей, соединяющей текущую цель с исходным вопросом пользователя, находящимся в верхушке дерева. Эта цепочка называется трассой.

Будем называть такую цепочку трассой. Трассу можно себе представлять как цепочку правил, соединяющую в И/ИЛИ-дереве вопросов текущую цель с целью самого верхнего уровня так, как это показано на рис. 14.8. Таким образом, для формирования ответа на вопрос 'почему' нужно двигаться в пространстве поиска от текущей цели вверх вплоть до самой верхней цели. Для того, чтобы суметь это сделать, нам придется в процессе рассуждений сохранять трассу в явном виде. 

14.4.3. Формирование ответа на вопрос 'как'

Получив ответ на свой вопрос, пользователь возможно захочет увидеть, как система пришла к такому заключению. Один из подходящих способов ответить на вопрос 'как' — это представить доказательство, т.е. те правила и подцели, которые использовались для достижения полученного заключения. Это доказательство в случае нашего языка записи правил имеет вид решающего И/ИЛИ-дерева. Поэтому наша машина логического вывода будет не просто отвечать на вопрос, соответствующий цели самого верхнего уровня — этого нам недостаточно, а будет выдавать в качестве ответа решающее И/ИЛИ-дерево, составленное из имен правил и подцелей. Затем это дерево можно будет отобразить на выходе системы в качестве объяснения типа 'как'. Объяснению можно придать удобную для восприятия форму, если каждое поддерево печатать с надлежащим отступом, например:

питер это хищник

 было выведено по прав3 из

  питер это млекопитающее

   было выведено по прав1 из

    питер имеет шерсть

     было сказано

  и

  питер ест мясо

   было сказано

14.5. Реализация

Теперь мы приступим к реализации нашей оболочки, следуя тем идеям, которые обсуждались в предыдущем разделе. На рис. 14.9 показаны основные объекты, которыми манипулирует оболочка. Цель — это вопрос, подлежащий рассмотрению; Трасса — это цепочка, составленная из 'целей-предков' и правил, находящихся между вершиной Цель и вопросом самого верхнего уровня; Ответ — решающее дерево типа И/ИЛИ для вершины Цель.

Рис. 14.9. Отношение рассмотреть( Цель,  Трасса,  Ответ).

Ответ — это И/ИЛИ решающее дерево для целевого утверждения Цель.

Основными процедурами оболочки будут:

рассмотреть( Цель, Трасса, Ответ)

Эта процедура находит ответ Ответ на вопрос Цель. Процедура

ответпольз( Цель, Трасса, Ответ)

порождает решения для тех вопросов Цель, которые можно задавать пользователю. Она спрашивает пользователя об истинности утверждения Цель, а также отвечает на вопросы 'почему'. Процедура

выдать( Ответ)

выводит результат и отвечает на вопросы 'как'. Все эти процедуры приводятся в действие процедурой-драйвером эксперт.

14.5.1. Процедура рассмотреть

Центральной процедурой оболочки является процедура

рассмотреть( Цель, Трасса, Ответ)

которая будет находить ответ Ответ на заданный вопрос Цель, используя принципы, намеченные в общих чертах в разд. 14.4.1: найти Цель среди фактов базы знаний, или применить правило из базы знаний, или спросить пользователя, или же обработать Цель как И/ИЛИ-комбинацию подцелей.

Аргументы имеют следующий смысл и следующую структуру:

Цель

 вопрос, подлежащий рассмотрению, представленный как И/ИЛИ-комбинация простых утверждений, например

 X имеет перья или X летает или

 X откладывает яйца

Трасса

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

 Цель  по  Прав

 что означает: Цель рассматривалась с использованием правила Прав. Например, пусть исходной целью будет 'питер это тигр', а текущей целью — 'питер ест мясо'. В соответствии с базой знаний рис. 14.5 имеем трассу

 [( питер это хищник) по прав3,

  ( питер это тигр) по прав5 ]

 Смысл ее можно выразить так:

 Я могу использовать 'питер ест мясо' для того, чтобы проверить по прав3, что 'питер это хищник'.

 Далее, я могу использовать 'питер это хищник' для того, чтобы проверить по прав5, что 'питер это

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату