Определение 6.2. Синтаксис свойств правил


 

<определение-свойства-правила> ::= (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.З.Установка способа вычисления приоритетов правил

Замечание

Каждый метод вычисления приоритета содержит в себе предыдущий (т. е. если приоритет вычисляется на каждом шаге основного цикла выполнения правил, то он также вычисляется и при активации правила, а так же при его добавлении в систему).

6.3.2. Свойство auto-focus

Свойство auto-focus позволяет автоматически выполняться команде focus (о которой будет рассказано в гл. 12) при каждой активации правила. Если свойство auto-focus установлено в значение true, то команда focus в модуле, в котором определено данное правило, автоматически выполняет­ся всякий раз при активации правила. Если свойству auto-focus присвоено значение false, то при активации правила не происходит никаких действий. По умолчанию это свойство установлено в false.



Дата добавления: 2021-12-14; просмотров: 282;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.