Между правилами с одинаковым приоритетом только что активированные правила размещаются с использованием одноименной стратегии, впервые использованной в системе OPS5. Для определения места активированного правила в плане решения задачи используется "новизна" образца, который активировал правило. CLIPS маркирует каждый факт или объект временным тегом для отображения относительной новизны каждого факта или объекта в системе. Образцы, ассоциированные с каждой активацией правила, сортируются по убыванию тегов для определения местоположения правила. Активация правила, выполненная более новыми образцами, располагается перед активацией, осуществленной более поздними образцами. Для определения порядка размещения двух активаций правил, поодиночке сравниваются отсортированные временные теги для этих двух активаций, начиная с наибольшего временного тега. Сравнение продолжается до тех пор, пока не останется одна активация с наибольшим временным тегом. Эта активация размещается выше всех остальных в плане решения задачи.
|
|
Если активация некоторого правила выполнена большим числом образцов, чем активация другого правила и все сравниваемые временные теги одинаковы, то активация с большим числом временных тегов помещает перед активацией с меньшим. Если две активации имеют одинаковое количество временных тегов и их значения равны, то правило с большей определенностью (см. разд. 6.4.3) помещается перед активацией с меньшей. В отличие от системы OPS5, условный элемент not в CLIPS имеет псевдовременной тег, который также используется в данной стратегии разрешения конфликтов. Временной тег условного элемента not всегда меньше, чем временной тег образца.
В качестве примера рассмотрим следующие шесть активаций правил, приведенные в LEX-порядке (запятая в конце строки активации означает наличие логического элемента not). Учтите, что временные теги фактов не обязательно равны индексу, но если индекс факта больше, то больше и его временной тег. Для данного примера примем, что временные теги равны индексам.
Пример 6.3. Правила, отсортированные стратегией LEX
rule-б: f-l,f-4
rule-5: f-l,f-2,f-3,
rule-1: f-l,f-2,f-3
rule-2: f-3, f-1
rule-4: f-l,f-2
rule-3: f-2, f-1
В примере 6.4 показаны те же активации с индексами фактов в том порядке, в котором они сравниваются стратегией LEX.
Пример 6.4. Порядок сравнения стратегией LEX
rule-6: f-4,f-l
rule-5: f-3,f-2,f-1,
rule-1: f-3,f-2,f-1
rule-2: f-3,f-1
rule-4: f-2,f-1,
rule-3: f-2,f-1