Механизм логического вывода в продукционных системах
Из всех известных механизмов вывода данный механизм является наиболее формализованным (предопределенным).
Различают два типа логического вывода: прямой вывод (прямая цепочка рассуждений); обратный вывод (обратная цепочка рассуждений).
Сущность прямого логического вывода в продукционных ЭС состоит в построении цепочки выводов (продукций или правил), связывающих начальные факты с результатом вывода.
В терминах “факты — правила” формирование цепочки вывода заключается в многократном повторении элементарных шагов “сопоставить — выполнить”.
Рассмотрим следующий пример [54]. В базе знаний некоторой ЭС содержатся три правила, а в рабочей памяти до начала вывода — пять фактов: В, С, Н, G, E (см. рис. 4.4.1, а). Пусть на вход системы (в РП) поступил факт А. Механизм вывода “просматривает” левые части правил с целью нахождения таких из них, которые позволяют извлечь новые факты (процедура “сопоставить”). В нашем примере на основе третьего правила выводится факт D. Происходит элементарный шаг “выполнить” — данный факт заносится в РП (рис. б). Процедура “сопоставить” по фактам ChD выявляет факт F. После шага “выполнить” в РП попадает этот факт (рис. 4.4.1, в). По фактам FhB выводится факт Z, и дальнейший “просмотр” правил БЗн новой информации не дает.
Таким образом, прямая цепочка рассуждений состоит из следующих фактов: А — D — F — Z. Иными словами, из факта А на основе имеющихся в БЗн правил “получен” факт Z.
Рис. 4.4.1. Иллюстрация прямой цепочки рассуждений
Отметим, что, несмотря на очевидную простоту прямого вывода для пользователя ЭС, от которого требуется лишь сообщить системе о вновь поступивших или интересующих его фактах, для БЗн со значительным числом правил могут возникнуть две проблемы: когда завершить вывод; как обеспечить непротиворечивость правил.
Последнее обстоятельство требует формирования и хранения в ЭС так называемых метаправил — правил “работы с правилами”. Кроме того, прямая цепочка рассуждений иногда требует значительного времени.
Механизм обратного вывода имеет совершенно иной алгоритм. Его идея заключается в проверке справедливости некоторой гипотезы (некоторого суждения, факта), которая выдвигается пользователем и проверяется ЭС. При этом осуществляется проверка истинности не левых, а правых частей продукций, а вопрос формулируется так: “Что нужно, чтобы правая часть данного правила была справедлива, и есть ли необходимые суждения в рабочей памяти?” На рис. 4.4.2 показана работа механизма обратного вывода для того же примера, что для прямой цепочки рассуждений (в предположении, что факт А занесен в РП).
При реализации данного механизма пополнения РП новыми (выведенными) фактами не производится, а лишь прове
ряется наличие необходимых суждений на очередном шаге алгоритма. Как следует из рис. 4.4.2, а, поскольку непосредственно факта Z в РП нет, производится анализ правых частей правил до поиска такого правила, которое обосновывает справедливость суждения Z. Чтобы факт Z был истинным, необходимы факты FhB. Факт В есть, факта F — нет (рис. 4.4.2, б). Чтобы факт F был истинным, необходимы факты ChD. Факт С есть, факта D — нет (рис. 4.4.2, в). Наконец, чтобы был справедлив факт D, нужно наличие факта А, и так как он в РП имеется, обратный вывод закончен. Окончательный результат — на основании имеющихся в ЭС правил и фактов гипотеза о справедливости факта Z подтверждается.
Очевидно, что обратная цепочка рассуждений предъявляет к квалификации пользователя ЭС определенные требования — он должен уметь формулировать “правдоподобные” гипотезы. В противном случае легко представить весьма непродуктивную работу ЭС, проверяющей и отвергающей одну гипотезу за другой (в качестве примера аналогичной ситуации представим себе врача, ставящего один диагноз за другим и пользующего пациента лекарствами от самых разных болезней).
Платой за выполнение данного требования служит, как правило, сокращение времени реакции ЭС на запрос пользователя.
Для обеспечения уверенности пользователя в получаемых ЭС суждениях после обратного вывода часто прибегают к прямой цепочке рассуждений. Совпадение результатов работы обоих механизмов служит гарантией получения истинного вывода.
На рис. 4.4.3 представлен фрагмент блока “Контроль” ЭС (решающей задачи обучения), позволяющий оценивать ответы студентов на зачетах и экзаменах по следующей схеме: обучаемый получает три основных вопроса и отвечает на них. ЕСЛИ по одному из вопросов получена оценка 2 ТО итоговая оценка не может быть выше 3. ЕСЛИ по двум и более вопросам получены оценки 2 ТО итоговая оценка — 2. ЕСЛИ по итогам ответов на основные вопросы обучаемый набрал 14 баллов
ТО необходимо задать дополнительный вопрос.
ЕСЛИ ответ на дополнительный вопрос оценивается 5 ТО итоговая оценка — 5.
ЕСЛИ ответ на дополнительный вопрос оценивается 4 ТО итоговая оценка — 4.
ЕСЛИ ответ на дополнительный вопрос оценивается 3 ТО итоговая оценка — 4. ЕСЛИ по итогам ответов на основные вопросы обучаемый набрал 8 баллов
ТО необходимо задать дополнительный вопрос.
ЕСЛИ ответ на дополнительный вопрос оценивается 5 ТО итоговая оценка — 3.
ЕСЛИ ответ на дополнительный вопрос оценивается 4 ТО итоговая оценка — 3.
ЕСЛИ ответ на дополнительный вопрос оценивается 3 ТО итоговая оценка — 3. ЕСЛИ по одному из вопросов получена оценка 3 ТО итоговая оценка не может быть выше 4. ЕСЛИ по итогам ответов на основные вопросы набрано 9—10 баллов
ТО итоговая оценка — 3. ЕСЛИ по итогам ответов на основные вопросы набрано 11—13 баллов
ТО итоговая оценка — 4.
Рис. 4.4.3. Фрагмент продукционной базы правил блока “Контроль” автоматизированной обучающей системы
Преподаватель оценивает каждый ответ по четырехбалльной шкале.
Экспертная система либо сразу рекомендует выставить итоговую оценку, либо “советует” задать дополнительный вопрос и уже по результату ответа на него рекомендует итоговую оценку. В ЭС хранятся знания о существующих в институте правилах оценивания уровня подготовленности обучаемых. Так, например, если на экзамене некий студент на “отлично” ответит два вопроса билета, а третий будет оценен на “хорошо”, рекомендуется задать ему дополнительный вопрос. Если на него дается отличный ответ, общая оценка — “отлично”; хороший или удовлетворительный ответ — “хорошо”; неудовлетворительный ответ — “удовлетворительно”.
Еще по теме Механизм логического вывода в продукционных системах:
- ВВЕДЕНИЕ
- Классификация методов представления знаний
- Механизм логического вывода в продукционных системах
- 4.4.4. Механизм логического вывода в диагностических системах байесовского типа