Стратегия разрешения конфликтов

План решения задачи — это список всех правил, имеющих удовлетворенные условия при некотором, текущим состоянием списка фактов и объектов (и которые еще не были выполнены). Каждый модуль имеет свой собствен­ный план решения задачи. Выполнение плана подобно стеку (верхнее пра­вило плана всегда будет выполнено первым). Когда активируется новое правило, оно размещается в плане решения задачи руководствуясь следую­щими факторами:

1. Только что активированное правило помещается выше всех правил с меньшим приоритетом и ниже всех правил с большим приоритетом.

2. Среди правил с одинаковым приоритетом используется текущая страте­гия разрешения конфликтов для определения размещения среди других правил с одинаковым приоритетом.

3. Если правило активировано вместе с несколькими другими правилами, добавлением или исключением некоторого факта и с помощью шагов 1 и 2 нельзя определить порядок правила в плане решения задачи, то пра­вило произвольным образом упорядочиваются вместе с другими прави­лами, которые были активированы. Заметьте, что в этом случае порядок, в котором правила были добавлены в систему, оказывает произвольный эффект на разрешения конфликта (который в высшей степени зависит от текущей реализации правил). Старайтесь не использовать произволь­ное упорядочивание правил при решении задач, в которых требуются точные результаты или объяснения полученных решений.

CLIPS поддерживает семь различных стратегий разрешения конфликтов: стратегия глубины (depth strategy), стратегия ширины (breadth strategy), стратегия упрощения (simplicity strategy), стратегия усложнения (complexity strategy), LEX (LEX strategy), MEA (MEA strategy) и случайная стратегия (random strategy). По умолчанию в CLIPS установлена стратегия глубины. Текущая стратегия может быть установлена командой set-strategy (которая переупорядочит текущий план решения задачи, базируясь на новой страте­гии). Кроме того, пользователи Windows-версии среды CLIPS могут указать необходимую стратегию поиска с помощью диалогового окна Execution Options (см. рис. 6.3). Для этого выберите пункт Options в меню Execution, в появившемся диалоговом окне выберите необходимую стратегию с помощью раскрывающегося списка Strategy.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: