<определение-свойства-правила>::= (declare <свойство-правила>)
<свойство-правила>::= (salience <целочисленное выражение>)│
(auto-focus TRUE │FALSE)
6.3.1. Свойство salience
Свойство правила salience позволяет пользователю назначать приоритет для своих правил. Объявляемый приоритет должен быть выражением, имеющим целочисленное значение из диапазона от —10 000 до +10 000. Выражение, представляющее приоритет правила, может использовать глобальные переменные и функции (которые будут описаны в гл. 7 и 8 соответственно). Однако старайтесь не указывать в этом выражении функций, имеющих побочное действие. В случае если приоритет правила явно не задан, ему присваивается значение по умолчанию — 0.
Значение приоритета может быть вычислено в одном из трех случаев: при добавлении нового правила, при активации правила и на каждом шаге основного цикла выполнения правил. Два последних варианта называются динамическим приоритетом (dynamic salience). По умолчанию значение приоритета вычисляется только во время добавления правила. Для изменения этой установки можно использовать команду set-salience-evaluation.
|
|
Кроме того, пользователи Windows-версии среды CLIPS могут изменить эту настройку с помощью диалогового окна Execution Options. Для этого выберите пункт Options в меню Execution, в появившемся диалоговом окне укажите необходимый режим вычисления приоритета с помощью раскрывающегося списка Salience Evaluation, как показано на рис. 6.3.
Рис. 6.З. Установка способа вычисления приоритетов правил