Прекратить повторные активации

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

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

Спасибо!

2 ответа

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

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

not Fact(...constraints...)

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

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

Fact(...constraints...)

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

Вы не можете ничего сделать, чтобы избежать событий в сети Rete.

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

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

Другие вопросы по тегам