Функционирование базы знаний экспертной системы
Обычно при описании баз знаний (как правило продукционных) экспертных систем правила представляются в наглядном виде, например:
ПРАВИЛО 1:
ЕСЛИ Образование=Высшее И Возраст=Молодой И
Коммуникабельность=Высокая
ТО Шансы найти работу=Высокие КД=0.9.
При срабатывании этого правила в базу данных интеллектуальной системы (например, экспертной системы) добавляется факт, означающий, что шансы найти работу высоки с достоверностью 0.9 или 90 % (значение коэффициента достоверности КД). Понятия "Образование", "Возраст", "Коммуникабельность" служат для задания условия (в данном случае, конъюнкции), при котором срабатывает правило.
Факты хранятся в базе данных продукционной системы в форме
(Объект, значение, коэффициент достоверности)
или
(Объект, атрибут, значение, коэффициент достоверности).
Кроме правил в продукционных базах знаний могут использоваться метаправила для управления логическим выводом. Пример метаправила для гипотетической базы знаний:
ЕСЛИ Экономика = развивается
ТО Увеличить приоритет правила 1
При интерпретации (выполнении) правила в ходе проверки условия система проверяет факты, находящиеся уже в базе данных, и, если соответствующего факта нет, обращается за ним к источнику данных (пользователю, базе данных и т.д.) с вопросом (или запросом).
В БЗ ЭС могут использоваться и другие структуры для хранения фактов, такие как семантические сети или фреймы. В этом случае говорят о комбинации разных методов представления знаний или о гибридных интеллектуальных экспертных системах.
Для представления нечетких знаний факты и правила в продукционных системах снабжаются коэффициентами достоверности (или уверенности), которые могут принимать значения из разных интервалов в разных системах
(например, (0, 1), (0, 100), (-1, +1) ).
Обратный метод логического дедуктивного вывода
Для решения задач в продукционной интеллектуальной системе существует два основных метода дедуктивного логического вывода: обратный и прямой. Может использоваться и комбинация этих двух методов.
При обратном логическом выводе процесс интерпретации правил начинается с правил, непосредственно приводящих к решению задачи. В них в правой части находятся заключения с фактами, являющимися решением (целевыми фактами). При интерпретации этих правил в процесс решения могут вовлекаться другие правила, результатом выполнения которых являются факты, участвующие в условиях конечных правил и т.д.
Метод обратного логического вывода можно применять тогда, когда необходимо минимизировать количество обращений к источнику данных (например, пользователю), исключив из рассмотрения заведомо ненужные для решения задачи факты.
В самом общем виде алгоритм обратного логического вывода, записанный на псевдокоде в виде функции, выглядит так (условие ограничено конъюнкцией элементарных условий).
функцияДоказана_Цель(Цель): boolean;Поместить Цель в стек целей.
покастек целей не пустциклВыбор цели из стека целей и назначение ее текущей.
Поиск множества правил, в правой части которых находится текущая цель (множества подходящих правил).
Считать, что Цель не доказана.
покамножество походящих правил не пустои Цель не доказана
Цикл
Выбор из этого множества одного текущего правила с использованием определенной стратегии. Считать текущим элементарным условием первое.
покане проверены все элементарные условия правила и ненадо прервать проверку условия
Цикл
еслив текущем элементарном условии участвуетфакт, встречающийся в правой части какого-то правила
то
еслине Доказана_Цель(Этот факт)тоНадо прервать проверку условия
конец_если иначе
Запросить информацию о факте. Проверить элементарное условие. еслиэлементарное условие истинното
Добавить факт в базу данных. Перейти к следующему элементарному Условию.
Иначе
Надо прервать проверку условия.
конец_если конец_если конец_цикла еслиусловие правила истинното
Выполнить заключение. Исключить Цель из стека целей. Считать, что Цель доказана.
конец_если конец_цикла конец_цикла конец_функции.
Существует много различных стратегий выбора правила из подходящих. Наиболее простой и часто встречающейся стратегией является «первая попавшаяся». При этой стратегии решение задачи зависит от порядка расположения (перебора) правил в базе знаний.