logo search
Учебник_Final

8.4.1. Стратегии принятия решения

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

В ЭО KAPPA предусмотрены следующие режимы обработки списка слотов:

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

Стратегия выборочной оценки считается наиболее эффективной, поскольку подразумевает выбор только одного, наиболее успешного направления рассуждения. Если одно правило из списка стало истинным, то все остальные правила удаляются из Rule List. Список слотов должен быть освобожден до того, как заработает следующее правило из списка.

Глубинная стратегия является исчерпывающей, т.к. раскрывает все возможные значения вновь появившегося элемента в списке слотов. Отличие глубинной стратегии от выборочной состоит лишь в том, что при ее использовании список правил после каждого успешного выполнения одного правила не очищается. Новые правила добавляются к началу списка в соответствии с их приоритетом. Если не пусты оба списка (Rule List и Agenda), то приоритет отдается очередному элементу списка слотов. Новые слоты добавляются в начало списка слотов.

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

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

Выбор стратегии и режима обработки слотов осуществляется в окне Set Forward Chain Modes (рис. 8.3).

Рис. 8.3. Установка стратегии и режима слотов

Кроме этого их можно задать путем вызова функции

SetForwardChainMode (<режим>, <стратегия>).

На рисунках 8.4−8.7 представлен пример прямой цепи вывода для трех правил, сформированных с использованием разных стратегий.

Пример.

Rule1 (priority=0): If ob:s1 And ob:s3 == 4 Then ob:rez = 1

Rule2 (priority=1): If Not(ob:s2) And ob:s3 == 4 Then ob:rez = -1

Rule3 (priority=0): If ob:rez == -1 Then ob:v = 5

Рис. 8.4. Выборочная стратегия (selective)

Рис. 8.5. Глубинная стратегия (depthfirst)

Рис. 8.6. Широтная стратегия (breadthfirst)

Рис. 8.7. Стратегия оценки лучшего (bestfirst)

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

Рис. 8.6. Пример отношения правил