Я пытаюсь создать систему, которая оценивает правила на основе транзакций.Квалификация нескольких правил с одним фактом
Например,
Генри купил sth за 500 долларов, может быть 2 правила, которые Генри квалифицирует в конце этой транзакции.
- , если кто-то тратит 200 долларов, вознаграждает бесплатную доставку.
- Если кто-то тратит 500 долларов, вознаграждение% 10 скидка.
Пожалуйста, исправьте меня, если я ошибаюсь, алгоритм Rete определяет каждое правило как листья дерева, что означает, что новая транзакция будет квалифицировать только одно правило. Если это так, то что может быть решением для вышеупомянутого сценария.
Мой второй вопрос: я хочу, чтобы клиент определял правила с помощью веб-интерфейса с помощью TaskUI. Например, первый экран позволяет пользователю вводить критерии (потратить> 500), второй экран позволяет выбрать вознаграждение (скидка% 10). Я понимаю, что факты (транзакции) могут быть вставлены в базу знаний во время выполнения, но это также применимо к правилам? Большинство движков правил читают правила из файлов и т. Д. Можно ли создавать правила, подобные описанному выше, и оценивать их во время выполнения.
Ваши комментарии очень признательны.