Организация процесса формирования рассуждений
В системе для поиска ответа на некоторый вопрос (сформулированный в виде высказывания) может применяться несколько способов в соответствии с описанными ниже принципами.
Чтобы найти ответ Answ на вопрос 0, необходимо воспользоваться одним из следующих правил.
• Если ответ на вопрос ; можно найти в виде факта в базе знаний, то ответ Answ состоит Б том, что "Q is true" (высказывание Q является истинным).
• Если в базе знаний имеется правило в форме
'if Condition then Q'
то проверить условие Condition и использовать полученный результат для формирования ответа Answ на вопрос Q.
• Если Q — вопрос, обозначенный как "askable" (запрашиваемый), то передать пользователю запрос, касающийся Q.
• Если С' имеет формуй! and 02, то проверить Q1, а затем
Глава 16. Командный интерпретатор экспертной системы 363
• если высказывание Q1 является ложным, то сформировать ответAnsw, что"0
is false", иначе проверить Q2 и выполнить соответствующую логическую
операцию над ответами на вопросы Q1 и Q2 для получения ответа Answ.
Если Q имеет форму Ql or Q2, то проверить Q1, а затем
• если высказывание Q1 является истинным, то вернуть в качестве ответа Answ
ответ на вопрос Q1; в противном случае проверить Q2 и, если высказывание
Q2 является истинным, вернуть в качестве ответа Answ ответ на вопрос Q2.
Задача поиска ответов на вопросы в форме not Q является более сложной и будет рассматриваться позже.
Формирование ответов на вопросы, требующие обоснования необходимости получения запрашиваемой информации
Пользователь может задать вопрос, для чего системе нужна информация (в форме "Why?"), если система запрашивает у него некоторые сведения и он хочет получить обоснование такой необходимости. Предположим, что система вывела следующий запрос: Is a true?
Пользователь может в ответ ввести следующее: Why?
Соответствующее объяснение может быть сформировано примерно так, как показано ниже. Поскольку г
Я могу использовать а, чтобы проверить b в соответствии с правилом Ra, и Я могу использовать Ъ, чтобы проверить с в соответствии с правилом КЬ, и
Я могу использовать у, чтобы проверить z в соответствии с правилом Ry, и Z был вашим первоначальным вопросом.
Это объяснение представляет собой описание назначения информации, затребованной от пользователя. Объяснение демонстрируется в виде цепочки термов (состоящих из правил и целей), которая соединяет данный фрагмент информации с первоначальным вопросом пользователя. Такую цепочку принято называть трассировкой. Любая трассировка может быть наглядно представлена в виде цепочки правил, которая соединяет цель, исследуемую в данный момент, и главную цель в дереве вопросов AND/OR (рис. 16.2). Поэтому формирование ответа на запросы "Why?" осуществляется путем перемещения по дереву поиска вверх от текущей к главной цели. Чтобы иметь возможность решить задачу формирования такого объяснения, необходимо явно сохранять трассировку в течение всего процесса обратного логического вывода.
Часть II.Применение языка Prolog в области искусственного интеллекта
цель верхнего уровне (острое пользователя] |
пространство поиска |
Рис. 16.2. Объяснение необходимости предоставления затребованной информации- В ответ на вопрос пользователя. для чего системе требуется информация, косою щаяся текущей цели, формируется цепочка правил и целей, соединяющая текущую цель и первоначальный вопрос пользователя, который находится в начале цепочки. Такую цепочку принято называть трассировкой
Формирование ответов на вопросы, касающиеся описания последовательности рассуждений
После того как система выдаст ответ на вопрос пользователя, последний может пожелать узнать, как система пришла к такому выводу, введя вопрос в форме "How?". На подобные вопросы, касающиеся описания последовательности рассуждений, следует отвечать, показывая действительные результаты, т.е. промежуточные правила и подцели, с помощью которых было получено данное заключение. При использовании в системе языка правил, подобного описанному в данной главе, соответствующая демонстрация последовательности рассуждений представляет собой дерево доказательства. Программа формирования деревьев доказательстаа в определенной форме уже рассматривалась в главе 15, а в этой главе такой же принцип применяется в более развитом виде. Одним из удобных способов представления деревьев доказательства в качестве объяснения последовательности рассуждений является использование отступов в тексте, показывающих структуру дерева, например, следующим образом:
peter isa carnivore
was derivedby rule3 from peter isa mammal was derived byrulel fr o m peter has hair
was told and
peter eats meat was told
Глава 16. Командный интерпретатор экспертной системы