ilog jrules 、 reteplus algorithm 、順次モード実行などでルールフローを使用したときに、さまざまな実行モードに遭遇しました。それらの違いは何ですか。IBM ドキュメントを参照するように頼まないでください。私はすでにやった。他の平易な言葉での説明をいただければ幸いです。
2 に答える
Rete アルゴリズムに基づく拡張であるRetePlusは、デフォルトの実行モードです。ルールと条件の数の削減、実行するルールの計算、およびルールの順序の優先順位付けなど、パフォーマンスを向上させるためにその最適化手法が使用されます。
RetePlus モードでは、ルール エンジンは、評価するルールと条件の数を最小限に抑え、実行する必要があるルールを計算し、これらのルールを実行する順序を識別します。
RetePlusでは、ルール エンジンは作業メモリとアジェンダを使用して、アプリケーション オブジェクトを格納および操作します。作業メモリには、アプリケーション オブジェクトへの参照が含まれています。アジェンダは、実行に適したルール インスタンスをリストし、順序付けします。
シーケンシャル モードでは、特定のルール タスクに適したすべてのルールが順番に実行されるため、特定のパフォーマンス上の利点が得られます。
それが役立つことを願っています。
「非常に」簡単な説明:
簡単に言えば、RetePlus を使用すると、作業メモリ (WM) 内のオブジェクトを挿入/削除/更新し、評価してルールの条件と一致させることができます。一致するすべてのルールは、アジェンダに入れられてから実行されます。これらのルールが作業メモリ内のデータを変更すると、変更されたオブジェクトと条件が一致するルールがさらに起動される可能性があります。このサイクルは、WM 内のオブジェクトに一致するルールがなくなるまで続きます。
Sequential は指定された順序でルールをほぼ実行し、条件がオブジェクトに一致するルールを起動してから終了します。データへの変更は再評価されず、それ以上のルールは起動されません。
間にあるファストパスもあります。RetePlus の条件一致機能を (パフォーマンス上の理由から) 使用しますが、変更されたデータを再評価しません (したがって循環的ではありません)。