簡単な答えは、ルールの数がいくつかの(正確な値はわかりません)しきい値を超えると、ルールエンジンが命令型ソリューションよりも優れていると期待するということです。
ルール エンジンのルール部分は、条件とアクションのセットです。単一のルールは、if - then ステートメントと (ほぼ) 機能的に同等です。ルール エンジンの真の力は、エンジンの宣言的な性質によって発揮されます。
従来の命令型プログラムでは、ロジックを評価する方法をコーディングする必要があります。ルール エンジンを使用すると、評価されるステートメントの数が決定されます。私はJessやCLIPSなどのエンジンのみを使用しました。これらはrete アルゴリズムを使用して起動するルールを決定します。ルールエンジンが従来の命令型ソリューションよりもどれだけ効率的に実行されるかを左右するのは、ルール起動アルゴリズムの効率です。
Rete アルゴリズムは、高速化のためにメモリを犠牲にするように設計されています。LHS 側のパターンをルールにマッピングするノードのネットワークを維持します。Rete のパフォーマンスは、理論的にはシステム内のルールの数とは無関係であるため、ルールと事実が多いほど、rete ネットワークのパフォーマンスは命令型ソリューションよりも優れています。
あなたは多くの事実を計画しています。多数のルールを作成する場合は、メモリの問題が発生する可能性があります。
ルール エンジンに関する Martin Fowler の記事をご覧ください。これは優れた (非常に) 短い概要です。
Microsoft Business Rules Engine (MS-BRE) については、Jess & Drools と比較したパフォーマンスについて長い議論があります。提起されたいくつかの点は、これらの評価が難しい理由を強調しています。