(halt)
Команды set-strategy и get-strategy предназначены для изменения и проверки текущей стратегии разрешения конфликтных ситуаций. При изменении текущей стратегии с помощью команды set-strategy возвращается предыдущая стратегия разрешения конфликтов и переупорядочивается план решения задачи. По умолчанию текущей стратегией является depth.
Определение 16.39. Команды set-strategy и get-strategy
(set-strategy <стратегия>)
<стратегия>:: = depth│
breadth |
simplicity |
complexity |
lex |
mea |
random
(get-strategy)
Для изменения и проверки режима вычисления приоритета правил предназначены команды set-salience-evaluation и get-salience-evaluation соответственно. По умолчанию приоритет правил вычисляется при определении правила (значение when-defined). Команда set-salience-evaluation возвращает предыдущее установленное значение. Значение приоритета может быть вычислено в одном из трех случаев: при добавлении нового правила (when-defined), при активации правила (when-activated) и на каждом шаге основного цикла выполнения правил (every-cycle).
Определение 16.40. Команды set-salience-evaluation и get-salience-evaluation
(set-salience-evaluation <способ-вычисления>)
<способ-вычисления>::= when-defined |
when-activated |
every-cycle
(get-salience-evaluation)
Команда refresh-agenda вызывает процесс вычисления приоритетов и переупорядочивания правил в плане решения задачи.
Определение 16.41. Команда refresh-agenda
(refresh-agenda [<имя-модуля>])
Если необязательный параметр <имя-модуля> не задан, то данная команда обновляет план решения задачи текущего модуля. Если параметр содержит имя конкретного модуля, команда refresh-agenda обновляет план решения задачи заданного модуля. В качестве параметра допускается использование символа *. В этом случае команда обновит план решения задачи всех модулей системы.