問題タブ [rete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
owl - RETEアルゴリズムによるOWL2 RL
現在、Rete アルゴリズムを使用して OWL2 RL を実装しようとしています。次の問題に遭遇しました: たとえば、このルールで必要なリストを実装する方法: eq-diff2 ( W3C推奨)?
ありがとう。
java - JBoss Drools は本当にすべてのルールを並行して実行しますか?
JBoss Drools の多くのドキュメントを読みましたが、すべてのルールが同時に実行されるかどうかについての決定的な答えを見つけることができません(確かにそれらは同時に実行されます)。より具体的には、単一の入力と、たとえば 1000 個のルールのルール セットの場合、各ルールで「when」条件と「then」条件を実行し、1 つずつ順番に実行するか、同時に並列に実行します。
一方では、rete アルゴリズムは並列処理を意味します。これは、選択ノードが折りたたまれている場合に特に当てはまります。しかし、ノードが最適化された後、評価は順次行われますか? また、ベータ版のメモリ ノードと結合ノードは同時に実行する必要があるように見えますが、そうでしょうか?
また、Drools のドキュメントでは「シーケンシャル モード」について言及されており、これはデフォルトではオフになっています。では、何がオンになっているのか、パラレル モードですか? また、スレッド化を意味する maxThreads オプションがあります。
一方で、このコードはスレッド化を利用していないため、評価は並行して行われますが、ほとんどの場合は順次実行されるとのことでした。
いずれかのケースを証明するドキュメントを見た人はいますか?
ありがとう!
concurrency - Rete アルゴリズムの並列バージョンの実装はありますか?
私は Rete アルゴリズムについていくつかの調査を行い、それを並列化する (マッチングとルールの実行の両方) に関するいくつかの論文を見つけました。そのうちの最も古いものは 80 年代半ばのものです。しかし、現在市場に出回っているどのルール エンジンにも並列実装に関する情報はありません。並列ルールの起動に問題があることは理解していますが、いくつかの解決策が提案されています。Rete の並列バージョンを実装するルール エンジンはありますか? もしそうなら、どれ?そうでない場合、なぜですか?大幅なパフォーマンスの向上を達成するのは難しすぎるのでしょうか、それとも他の理由がありますか? 詳細情報へのリンクは大歓迎です。
java - Rete アルゴリズムの使用方法
JavaでRete Algorithmを使用するにはどうすればよいですか?
独自のアルゴリズム実装を作成する必要がありますか?
または、すでに実装されているライブラリが利用可能ですか?
drools - Drools ルール作成のベスト プラクティス
Drools のパフォーマンスに関する記事 ( JBoss Drools – Performance and Memory Internals ) を読んでいて、Rete ツリーとノードが作成される方法、Drools がそれらにインデックスを付ける方法、および Drools でオブジェクトの数を増やしても実行にかかる合計時間にほとんど影響しない理由について説明しています。それ。インテリジェントな方法で記述されたルールは、Rete ツリー内のノードの数を大幅に削減できるため、パフォーマンスがさらに向上します。
Drools ルール作成のベスト プラクティスがあるかどうかを知りたいので、できるだけ早く実行できるように記述します。
ありがとう。
jess - Reteアクティベーションを停止する
特定の条件が満たされたときに何千もの事実を撤回するルールがあります。このルールは、「not」ステートメントを使用する他の 2 つのルールを含むモジュール内にあります。私の質問は次のとおりです。
- 最初のルールがファクトを撤回するたびに、rete ネットワークが再計算されますか?
- それは、他の 2 つのルールの「not」ステートメントが原因でしょうか?
- 最初のルールで撤回するファクトがなくなるまで、アクティベーションの再計算を停止する方法はありますか?
ありがとう!