ルールやその他の技術的な分析の比較エンジンをDroolsは

ルールエンジンのプロジェクトの設計と開発、サービスを必要とするので、業界一般的に使用されるルールエンジンを研究しています。

などの一般的なルールエンジンは、次のとおりです。

  ILOG JRulesのは  最も有名な商業のBRMSであり、
  Droolsのは、 最も活発なオープンソースのルールエンジンであり、
  ジェスは、  AIの部門を代表して、RubyでJRubyのように、達成するためのJavaのクリップました。

  ビジュアルルール(Nフラグルールエンジン)の国内ブランドのビジネスルールエンジンは、ILOGのローカルバージョンと見なすことができます。

  Mandaraxはルールエンジンの純粋なJava実装です。後方推論(誘導)に基づきます。

 

比較すると、以下の

図1は、条件文、ルール文の実装に一致するの優先順位に従って、レーテエンジンを使用して、4つの主foreward-連鎖です。それはもはや、これまで一致しなくなるまで規則の実施後、エンジンは、基準を再一致するという事実を変える刺激する、Reteアルゴリズムは、最高の服従を保証します。

。(1)Reteアルゴリズムの機能:

。Reteアルゴリズムは、多くの場合、異なるルール間で同一のパターンを含み、したがって、ベータ - ネットワークおよびBetaMemory betanodeを共有することができる、発見的アルゴリズムです。betanodeがNルールを共有している場合、このノード上のアルゴリズムは、N倍の効率を改善します。

状態b。繰り返し計算の多数を回避する、アルファおよびベータノードに格納されている事実の集合が大きな変化を必要とせず、ほとんど変化をAlphaMemoryとBetaMemory事実を格納するためのReteアルゴリズムのおかげで、マッチングの効率を向上させます。

C。これは関係なくのみ配信をダウン続ける現在のネットワークノードを満たしていることに起因するのReteマッチング速度とルールの数の、レーテネットワークから見ることができます。

(2)Reteアルゴリズムの欠点:

 。事実を追加するだけでなく、検索を実行する必要がありますし、同じ計算を行うことに加えて、コストが非常に高い、という事実のほかの同程度の事実を削除します。

        B。Reteアルゴリズムは、このようにシステムの速度を高速化、時間のためのスペースを犠牲にし、中間結果記憶領域βが算出される使用します。しかし、βストアはルールの指数関数的な成長から条件や事実の数に基づいて、そのルールと事実の多くは、システムがリソースを使い果たしますとき。

(3)Reteアルゴリズムの特性と欠点、またはReteアルゴリズムの開発に基づいてルール・エンジンのアプリケーションにおける改良方向

背面に一致するようにしようとしたルールを変更する。簡単に、ルールベースのルールの変更を減らすために変化をもたらすことができます。

B.結合より強いまたはより一般的なパターンマッチングが遠く前方に設定され、不要な一致を避けます。

C。Reteアルゴリズムの効率に影響を与える増加メモリオーバーヘッド日本語削除事実問題および技術的には、αメモリとBEATAメモリストアにメモリへのポインタだけであり、インデックスポインタ(使用可能なハッシュ・テーブルまたは不平衡二分木)に内蔵されなければなりません。

D。ReteアルゴリズムはAndJoinNode JoinNodeとOrJoinNodeに拡張することができる、ノードの二種類は、次いで組み合わされてもよいです。

 

2、のIlog JRulesの   ビジュアルルールの商用版であります

Mandarax対ジェス対のILog対3、Droolsの

 

おすすめ

転載: www.cnblogs.com/xuzhujack/p/10975336.html