Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Conspekt.doc
Скачиваний:
11
Добавлен:
31.08.2019
Размер:
1.39 Mб
Скачать

3.10.1 Продукционные системы

Продукционные системы – наиболее широко используемая модель представления знаний. Продукционные системы были предложены в 1942г. Постом, впервые использованы в начале 70-х Мьюннем, Самюэлем.

Продукционные системы представляют собой правила из двух частей: “посылка-следствие”, ”ситуация-действие”. Часто такое правило записывают  (если , то ). Продукционные правила отличаются от импликации, тем что в правой части может находиться не просто логическое следствие, а действие. Левая часть называется предпосылкой, а правая часть заключением. Предпосылка может состоять из нескольких условий

1  2  3  …  n  

1  nнекоторые части условия, которые обычно представляются, как предикаты. Имеются процедуры для вычисления предикатов.

Продукционная система, как программная система состоит из 3-х основных блоков:

Здесь: база данных - объекты и их состояния;

база знаний - набор правил - продукций.

Управляющему модулю известно конечное состояние БЗ, к которому необходимо привести БЗ.

Если представить решаемую задачу в пространстве состояний,то начальному состоянию задачи соответствует некоторое состояние S0. Управляющий модуль сравнивает S0 с целевым состоянием Sg. Если существуют различия, то ищется подходящее правило в базе знаний, которое сможет уменьшить расстояние между S0 и Sg. Когда оно найдено, оно применяется к базе данных, к состоянию S0 и получаем новое состояние Si и т.д. до тех пор, пока не приведет БД в состояние Sg. Достижение состояние Sg – решение задачи. Данные методы применяются на этапе взаимодействия управляющего модуля с базой данных. Поиск S0-> Sg - прямой, Sg -> S0 - обратный поиски. Оценочная функция h(n) применяется в части "если". "Если" условие выполняется, то переход к следующему состоянию.

В управляющем модуле заложены стратегии поиска решения, обычно, экспертные системы применяют поиск в глубину.

В продукционных системах используется два механизма вывода:

  • прямой, который называют выводом управляемым данными;

  • обратный, который называют выводом управляемым целью.

Правила записываются следующим образом FBC, если справедливо правила F и B, то справедливо C. Также могут применяться следующие правила:

ZPF

AP

В БД будут существовать следующие факты A, B, Z, которые справедливы и истинны.

В случае прямого вывода к БД применяют все правила, которые можно применить, при этом правила применяются однократно. Для применения правила применяется операция сопоставления БД с условиями правила. Вывод заканчивается, когда исчерпаны все правила, либо когда доказано требуемое утверждение.

В случае обратного вывода задается то целевое высказывание, которое требуется получить. Обратимся к рассмотренному выше примеру и зададим системе вопрос:

Справедливо С или ложно?

С всегда интерпритируется. Поиск начинается с того, что система ищет правило, вправой части которого содержится высказывание С. Чтобы вывести утверждение С, системе необходимо два факта F и B, выполняется проверка их наличия в БД. Выясняется, что факт F отсутствует, поэтому новая цепь поиска, это F, выполнение правила откладывается до получения значения F. Осуществляется поиск правила с фактом F в правой части.

Далее схема повторяется.

Одной из важных опций является поиск нужного правила. В качестве условия поиска задается некоторая логическая комбинация выссказываний и проверяется наличие этих высказываний в БД. Для ускорения поиска необходимо упорядочить БД; содержимое БД представляется триолетами объект-атрибут-значение

(пример: собака-кличка-мухтар). В этом случае выделяем родственные объекты.

Правила применяются однократно, но по отношению к объекту одного рода; это же правило можно применить к другому объекту.

Каждое правило в продукционной системе можно представить в виде графа:

С 1 … Сn – предпосылки (условия)

А - заключение.

Бывает так, что одно и тоже заключение может быть получено с помощью нескольких правил, тогда правила связываются между собой связкой “или”.

Наличие таких правил влечет конфликтную ситуацию, которую надо разрешать.

Если таких правил много, то

получаем дерево “и-или”; при поиске на таком дереве возникают две основные проблемы:

  • разрешение конфликтов;

  • минимизация запрашиваемых данных у пользователя.

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

При прямом выводе выполняется поиск, генерация конфликтного набора правил, разрешение конфликта, выполнение правил. При этом применяют два основных метода управления:

  1. метод ограничения на генерацию конфликтного набора;

  2. метод применения специальных алгоритмов разрешения конфликтов.

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

Метод применения специальных алгоритмов разрешения конфликтов заключается в том, что правила применяются ко всем отображаемым объектам по некоторой схеме. Самая простая схема – применять правила в порядке следования объектов. Более сложная схема основана на приоритете глубины.

Если П3 и П2 конфликтующие правила, то предпочтение отдается П3, как действую-щему на большую глубину.

Проблема возникает в том случае, если правила характери-зуются некоторыми неточнос-тями. В подобной ситуации, каждый элемент правилы, где бы он не находился, харак-теризуется 4-мя элементами:

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

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

Если для правила факт характризуется некоторым коэффициентом доверия (КД): правило само по себе тоже может характеризоваться некоторым коэффициентом доверия (КП); для коэффициента заключения – КЗ.

Имеем:

КЗ = min(КД) * КП

В случае обратного вывода все эти зависимости имеют место и применяются те же алгоритмы, но добавляется проблема рассмотрения очередности условий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]