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