Главная / Интеллектуальные системы принятия решений / Управление логическим выводом: порядок рассмотрения правил

Управление логическим выводом: порядок рассмотрения правил

Как показано выше, если в ЭС имеется несколько правил, в заключении которых определяется одна и та же целевая переменная (такие правила называются Конкурирующими), то они рассматриваются в порядке расположения. Однако имеется возможность управлять порядком рассмотрения правил. Для этого используется переменная среды E. SORD. Она может принимать следующие значения: “F” — рассмотрение правил в порядке их расположения; “Р” — по приоритету; “С” — по минимальной стоимости; “U” — по минимальному количеству неизвестных переменных в посылке правила; “H” — по максимальному значению фактора уверенности текущей целевой переменной (использование факторов уверенности рассматривается в разделе 2.5); “R” — в случайном порядке.

По умолчанию E. SORD=“F”. Пример логического вывода при рассмотрении правил в порядке расположения приведен в разделе 2.4.1.

Если требуется изменить значение переменной E. SORD, то она обычно указывается в последовательности инициализации.

Пусть, например, в приведенном выше примере требуется начинать вывод решения с правила R7 (т. е. прежде всего проверять, можно ли принять кандидата на должность инженера по техническому обеспечению). В этом случае правилу R7 следует присвоить, например, приоритет 60 (напомним, что по умолчанию приоритеты всех правил равны 50). Желательно также присвоить высокий приоритет (например, 60) правилу R4, чтобы поиск временной цели РODRAZD начинался с этого правила. В последовательности инициализации необходимо указать E. SORD=“Р”.

Примечание. Переменная E. SORD позволяет изменять порядок рассмотрения только для правил, в заключении которых содержится одна и та же целевая переменная (основная или временная). Например, если для правила R7 (см. пример выше) установить приоритет 60, а для правила R4 — приоритет 100 (оставив для других правил приоритет 50), то вывод решения начнется с правила R7, так как в его заключении может быть определена целевая переменная. Затем будет рассматриваться правило R4, так как в его заключении определяется переменная РODRAZD (временная цель), и при этом приоритет правила R4 (100) выше, чем у правила R3 (50).

Приведем пример рассмотрения правил по минимальному количеству переменных в посылке. Предположим, что в ЭС, приведенную в разделе 2.3.10, добавлено следующее правило: “Если кандидат знает язык С++, то его следует принять на должность программиста”. Это правило может быть реализовано следующим образом:

RULE: R11

READY: OUTРUT "R11"

IF: СРР="ДА"

THEN: RESH="ПРОГРАММИСТ”

Переменная СРР при этом должна быть объявлена в разделе описания переменной; для нее должен быть предусмотрен ввод значения (через последовательность поиска FIND). Если установить значение переменной среды E. SORD=“U”, то первым будет рассматриваться правило R11, так как в его посылке имеется только одна неизвестная переменная (меньше, чем в каких-либо других правилах в данном примере).