2014-09-01 6 views
0

У меня есть правило, которое убирает тысячи фактов, когда выполняется определенное условие. Это правило находится в модуле, который содержит два других правила, в которых используются «не» утверждения. Мои вопросы:Остановить активацию rete

  1. Происходит ли повторная пересчетная сеть сети каждый раз, когда первое правило отменяет факт?
  2. Это из-за «не» утверждений в двух других правилах или это все равно произойдет?
  3. Есть ли способ прекратить повторную активацию до тех пор, пока в первом правиле больше нет фактов, чтобы убрать?

Спасибо!

ответ

1

Точные ответы невозможны без знания шаблонов в правилах, в которых используется тип убранных фактов.

Очевидно, что если Fact является то, что тип и правила # 2 и # 3 содержат только

not Fact(...constraints...) 

ничего огромного не должно произойти, пока последний из этих фактов Факт (что соответствует ограничениям, если таковые имеются) удаляется из рабочей памяти: тогда может понадобиться создать дополнительный узел, в зависимости от того, что еще не является СЕ); это может продолжаться в зависимости от того, что происходит после не CE и приводит к терминальным узлам, то есть активациям.

Если шаблон как

Fact(...constraints...) 

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

Существует не так много, чтобы избежать событий в сети Rete.

Тем не менее, необходимость в необходимости убрать тысячи фактов довольно страшно. Сколько осталось? Возможно, было бы дешевле выбрать несколько избранных и начать работу в совершенно новом Rete. Или используйте шаблон дизайна, который не выведет все эти тысячи одновременно в Двигатель. Или что-то другое.

0

Мы написали ленивый алгоритм, который позволяет избежать повторного создания частичных совпадений и активации, пока правило не будет потенциально готово к стрельбе. Если вы ленитесь, вы можете использовать значимость для задержки при оценке правила. http://blog.athico.com/2013/11/rip-rete-time-to-get-phreaky.html

 Смежные вопросы

  • Нет связанных вопросов^_^