В принципе для использования в экспертной системе можно взять любую непротиворечивую формальную систему, позволяющую представлять знания о некоторой проблемной области. Но по своей популярности язык правил вывода, называемых также порождающими правилами (или продукциями), намного превосходит другие формальные системы представления знаний. В целом такие правила представляют собой условные выражения, но они могут иметь разные интерпретации, например, как показано ниже.
• if (если) предварительное условие Р then (то) заключение С;
• if ситуация S then действие А;
• if соблюдаются условия С1 и С2 then условие С не соблюдается.
Обычно правила вывода оказываются наиболее естественной формой представления знаний, а также обладают перечисленными ниже дополнительными положительными свойствами.
• Модульность. Каждое правило определяет небольшой, относительно независи
мый фрагмент знаний.
• Наращиваемость. Новые правила могут вводиться в базу знаний относительно
независимо от других правил.
• Модифицируемость (как следствие модульности). Существующие правила можно изменять относительно независимо от других правил.
• Прозрачность. Использование правил обеспечивает прозрачность системы.
328 Часть II. Применение языка Prolog в области искусственного интеллекта
Последнее свойство является одним из важных отличительных свойств экспертных систем. Под прозрачностью системы подразумевается ее способность объяснять свои решения и заключения. Правила вывода позволяют легко найти ответ на описанные ниже основные типы вопросов пользователя.
1. Вопросы, в ответ на которые необходимо предоставить объяснение последовательности рассуждений: "Как было получено это заключение?"
2. Вопросы, в ответ на которые необходимо предоставить объяснение предпосылок конкретного действия: "Для чего потребовалась эта информация?"
Механизмы получения ответов на такие вопросы, основанные на использовании правил вывода, рассматриваются ниже.
Правила вывода часто определяют логические отношения между понятиями в проблемной области. Чисто логические отношения можно охарактеризовать как принадлежащие к категорическим знаниям. Под словом "категорический" подразумевается, что эти знания всегда рассматриваются как абсолютно истинные. Но в некоторых областях, таких как медицинская диагностика, в основном преобладают неполные или вероятностные знания. Они являются "неполными" в том смысле, что установленные опытным путем закономерности обычно являются истинными только до определенной степени (они чаще всего оправдываются, но не всегда). В таких случаях правила вывода можно изменить, введя оценку вероятности в их логическую интерпретацию, например, следующим образом; if условие A then следует заключение В с достоверностью F
Программы, приведенные в листингах 15.] -15.3. позволяют понять, какие разнообразные способы представления знаний могут быть реализованы с помощью правил вывода. В них показаны примеры правил из трех различных систем, основанных на знаниях: система MYCIN для медицинских консультаций, система AL/X для диагностики неисправности оборудования и система AL3 для решения задач в шахматах.
Листинг 15.1. Одно из правил вывода из системы MYCIN для медицинских консультаций [148]. Параметр 0,7 указывает, до какой степени можно доверять ЭТОМуправилу
If
1. инфекция относится к типу первичной бактериемии, и
2. культура локализуется на одном из стерильных участков, и
3. есть основания полагать, что путь проникновения инфекции в организм - желудочно-кишечный тракт-then
эти факты могут (с достоверностью 0,7) свидетельствовать о том, что рассматриваемый микроорганизм является Йахтерсидным.
Листинг 15.2. Два правила из демонстрационной базы знаний AL/Хдля диагностики неисправностей [130]. Здесь Ни s - критерии "необходимости" и "достаточности". Критерий s оценивает, до какой степени условная часть правила является достаточной для вывода части с заключением. Критерий N оценивает, до какой степени условная часть является необходимой для того, чтобы заключение было истинным
If
давление в клапане на участке V-01 достигло уровня'срабатывания
перепускного клапана then
перепускной клапан на участке V-01 сработал [К - 0,005, S = 400] if
давление на участке V-01 не достигло уровня срабатывания перепускного
клапана, и перепускной клапан на участке V-01 сработал then
перепускной клапан на участке V-01 сработал преждевременно {из-за
... неконтролируемого изменения уставки,.давления!............................................. [N..=...0. 001 r..-.S_.=..2.0.0.0] -....._■.
Глава 15. Представление знаний и экспертные системы
Листинг 15.3. Правило для уточнения плана решения шахматной задачи из системы AL3 [14]
if
X. есть гипотеза К, что план Р ведет к выигрышу, и
2. есть две гипотезы,
Hi, что план R- опровергает план Pf и Hz, что план Яг опровергает план Р, к
3. есть факты, что Hi является ложной и Я; является ложной
then
1. сформировать гипотезу, Н3, что объединенный план "Ri or Кг" опровергает план Р, и
2. сформировать факт, что Нэ влечет за собой not(H)
Вообще говоря, чтобы разработать практически применимую экспертную систему для некоторой выбранной проблемной области, необходимо проконсультироваться со специалистами в этой области и много узнать о ней самому. Получение определенного представления о проблемной области от экспертов и из литературы, а также преобразование этой информации в выбранное формальное представление знаний называется выявлением знаний. Это, как правило, сложное занятие, описанию которого мы не можем уделить здесь внимания. Но нам для изучения примеров, приведенных в данной главе, в качестве материала требуются определенная проблемная область и небольшая база знаний. Рассмотрим учебную базу знаний, показанную на рис, 15.2. В ней рассматривается задача определения причин появления утечки воды в квартире. Проблема может возникнуть в ванной или в кухне. В любом случае эта утечка также может вызвать проблемы в гостиной (появление воды на полу). Эта база знаний не только в целом является слишком простой, но и допускает наличие лишь одной неисправности; это означает, что проблема может возникнуть только в ванной или в кухне, но не в обоих этих помещениях одновременно. Рассматриваемая база знаний представлена на рис. 15.2 как сеть логического вывода. Узлы в этой сети соответствуют высказываниям, а связи — правилам в базе знаний. Кривые линии, которые соединяют некоторые из связей, обозначают конъюнктивную зависимость между соответствующими высказываниями. Таким образом, правило, касающееся проблемы в кухне, в этой сети формулируется следующим образом:
if hall_wet and bathroom_dry then probleiti_ia_kitchen % Если в гостиной вола,
% а в ванной сухо, то неисправность - в кухне