Применение продукционных правил



При этом подходе данные в рабочей памяти представляются в ви­де изолированных троек: “объект – атрибут – значение”. С каждой тройкой связан коэффициент определенности. Иерархия объектов задается с помощью дерева контекстов. Это дерево может рассмат­риваться как фрейм, который обеспечивает механизм наследования. В дереве контекстов каждому объекту приписаны соответствующие ему атрибуты. Впервые этот подход был использован в ЭС MYCIN.

Ниже приведен способ представления продукционных правил в ти­пичной экспертной системе.

< правило > ::= (ЕСЛИ < условие> ТО < действие > ИНАЧЕ <действие>)

< условие > ::= (И {< предложение >}*)

< предложение > ::=(ИЛИ {< предложения >}*) | (< предикат> <тройка >)

< тройка > ::= (< объект > < атрибут > < значение >)

< действие > ::= {< заключение >} * | < процедура >

< заключение > ::= (< тройка > < коэффициент определенности >)

Здесь при истинности условия выполняется действие, стоящее за указателем ТО, а при ложности – действие, стоящее за указателем ИНАЧЕ. Сущности, помеченные звездочкой, могут появиться в пра­виле один или более раз. Например, условие есть конъюнкция одного или более предложений, а предложение есть либо дизъюнкция одного или более предложений, либо предикат, примененный к тройке: “объект – атрибут – значение”.

Использование семантических сетей

При этом подходе (например, ЭС PROSPECTOR) данные в рабочей памяти и БЗ представлены не в виде изолирован­ных троек: “объект – атрибут – значение”, а в виде семантической се­ти. Отметим, что семантическая сеть может рассматриваться как об­общение представления в виде троек, допускающее представление любого парного отношения над произвольным числом объектов.

Один из возможных способов представления правил в семантической сети:

< правило >::= (ЕСЛИ < условие> ТО < мера И > <мера Л> < действие>)

< условие >::= < утверждение >

<утверждение>::=<логическое утверждение> | <описательное утверждение>

<логическое утверждение>::=(И{< утверждение >}*) | (ИЛИ {< утверждение >}*) | (НЕТ < утверждение >)

< действие>::= < описательное утверждение >

Правила связывают условие и действие, являющиеся утвержде­ниями о проблемной области. Утверждения могут быть истинными и ложными, логическими и описательными. Логи­ческое утверждение – это булевская комбинация других утверждений. Действие и терминальная компонента логического утверждения всегда являются описательными утверждениями, кото­рые в общем случае представляют собой фрагмент семантической сети.

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

Условие оценивается как истинное, если его коэффициент определенности лежит в диапазоне от 0 до +1. При изменении коэффици­ента определенности некоторого условия применяется правило, и на основе процедуры Байеса подсчитывается коэффициент определен­ности действия (описательного утверждения) соответствующего пра­вила.

Использование фреймов

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

Рассмотрим при­мер представления правила в виде фрейма:

Представление правила в виде фрейма имеет следующие отличия:

1) наличие не одного, а нескольких условий и действий для разных уровней анализа правила;

2) наличие большого количества описательных (невыполняемых) слотов, которые могут быть использованы метаправилами для управления. Необходимо обратить внимание на то, что информация о правиле хранится в нескольких слотах. Это позволяет использовать различные интерпретаторы правил в зависимости от целей разработ­чика. Например, один дешевый интерпретатор, предназначенный для быстрой обработки, может на основе анализа слота “ЕСЛИ по­тенциально релевантен” определять число подходящих правил, а затем принимать решение в зависимости от полученного результата. Второй, более традиционный интерпретатор оценивает все слоты “ЕСЛИ” всех правил и затем, если число подходящих правил больше одного, будет разрешать конфликт, выбирая единственное правило. Третий интерпретатор, оценив сначала, сколько времени имеется на решение задачи, может устранить из рассмотрения все правила, имеющие высокое значение слота “Среднее время выполнения”, про­анализировать далее слоты “Если потенциально релевантен” и, если правил все еще много, устранить те из них, которые определяют но­вые фреймы, а для оставшихся правил оценить все слоты “ЕСЛИ” и выбрать единственное правило.


Дата добавления: 2019-07-15; просмотров: 138; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!