Идеальная топология дерева повторений для механизма правил

Как вы знаете, многие обработчики правил используют алгоритм Rete при обработке правил, и этот алгоритм создает дерево так называемое дерево Rete.

Какая топология идеальна для дерева Rete, чтобы обеспечить лучшую производительность обработки правил? Другими словами, я хочу знать древовидную топологию, которой набор правил должен лучше соответствовать для лучшей производительности.

2 ответа

Короткий ответ заключается в том, что на производительность влияет количество правил и объектов, количество тестов, порядок упорядочения тестов в ваших правилах и количество тестов / условий, общих для правил.

Вы должны переписать правила для оптимальной производительности:

  • Переупорядочение тестов и условий так, чтобы самые различающие условия были перенесены в начало правила
  • Условия обмена

Смотрите документацию по корректировке условий IBM ODM.

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

Для справки о Rete и IBM ODM:

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

Для лучших результатов:

  • Общие тесты на разных объектах являются общими.

  • Количество проведенных испытаний сведено к минимуму.

  • Производительность ухудшается, когда в одной оценке слишком много переменных определений и условий.

  • Тест использует меньше памяти.

Проще говоря, если вы хотите использовать RetePlus алгоритм в вашей оркестровке, используйте только Decision Trees бизнес правила.

Это намного быстрее, если использовать этот способ. Хотя вы можете использовать в сочетании с другими алгоритмами, а также Sequential (за Action Rules, в этом случае).

Таким образом, ваше решение может быть частью правил действий (с Sequential) и расстаться с Decision TablesRetePlus).

Надеюсь это поможет.

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