Функционирование базы знаний экспертной системы

Обычно при описании баз знаний (как правило продукционных) экспертных систем правила представляются в наглядном виде, например:

ПРАВИЛО 1:

ЕСЛИ Образование=Высшее И Возраст=Молодой И

Коммуникабельность=Высокая

ТО Шансы найти работу=Высокие КД=0.9.

При срабатывании этого правила в базу данных интеллектуальной системы (например, экспертной системы) добавляется факт, означающий, что шансы найти работу высоки с достоверностью 0.9 или 90 % (значение коэффициента достоверности КД). Понятия "Образование", "Возраст", "Коммуникабельность" служат для задания условия (в данном случае, конъюнкции), при котором срабатывает правило.

Факты хранятся в базе данных продукционной системы в форме

(Объект, значение, коэффициент достоверности)

или

(Объект, атрибут, значение, коэффициент достоверности).

Кроме правил в продукционных базах знаний могут использоваться метаправила для управления логическим выводом. Пример метаправила для гипотетической базы знаний:

ЕСЛИ Экономика = развивается

ТО Увеличить приоритет правила 1

При интерпретации (выполнении) правила в ходе проверки условия система проверяет факты, находящиеся уже в базе данных, и, если соответствующего факта нет, обращается за ним к источнику данных (пользователю, базе данных и т.д.) с вопросом (или запросом).

В БЗ ЭС могут использоваться и другие структуры для хранения фактов, такие как семантические сети или фреймы. В этом случае говорят о комбинации разных методов представления знаний или о гибридных интеллектуальных экспертных системах.

Для представления нечетких знаний факты и правила в продукционных системах снабжаются коэффициентами достоверности (или уверенности), которые могут принимать значения из разных интервалов в разных системах

(например, (0, 1), (0, 100), (-1, +1) ).

Обратный метод логического дедуктивного вывода

Для решения задач в продукционной интеллектуальной системе существует два основных метода дедуктивного логического вывода: обратный и прямой. Может использоваться и комбинация этих двух методов.

При обратном логическом выводе процесс интерпретации правил начинается с правил, непосредственно приводящих к решению задачи. В них в правой части находятся заключения с фактами, являющимися решением (целевыми фактами). При интерпретации этих правил в процесс решения могут вовлекаться другие правила, результатом выполнения которых являются факты, участвующие в условиях конечных правил и т.д.

Метод обратного логического вывода можно применять тогда, когда необходимо минимизировать количество обращений к источнику данных (например, пользователю), исключив из рассмотрения заведомо ненужные для решения задачи факты.

В самом общем виде алгоритм обратного логического вывода, записанный на псевдокоде в виде функции, выглядит так (условие ограничено конъюнкцией элементарных условий).



функцияДоказана_Цель(Цель): boolean;Поместить Цель в стек целей.

покастек целей не пустциклВыбор цели из стека целей и назначение ее текущей.

Поиск множества правил, в правой части которых находится текущая цель (множества подходящих правил).

Считать, что Цель не доказана.

покамножество походящих правил не пустои Цель не доказана

Цикл

Выбор из этого множества одного текущего правила с использованием определенной стратегии. Считать текущим элементарным условием первое.

покане проверены все элементарные условия правила и ненадо прервать проверку условия

Цикл

еслив текущем элементарном условии участвуетфакт, встречающийся в правой части какого-то правила

то

еслине Доказана_Цель(Этот факт)тоНадо прервать проверку условия

конец_если иначе

Запросить информацию о факте. Проверить элементарное условие. еслиэлементарное условие истинното

Добавить факт в базу данных. Перейти к следующему элементарному Условию.

Иначе

Надо прервать проверку условия.

конец_если конец_если конец_цикла еслиусловие правила истинното

Выполнить заключение. Исключить Цель из стека целей. Считать, что Цель доказана.

конец_если конец_цикла конец_цикла конец_функции.

Существует много различных стратегий выбора правила из подходящих. Наиболее простой и часто встречающейся стратегией является «первая попавшаяся». При этой стратегии решение задачи зависит от порядка расположения (перебора) правил в базе знаний.



Наши рекомендации