問題タブ [rule-engine]
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.
spatial - 空間的および時間的推論のためのルールエンジン?
3 次元の空間的および時間的プロセスを特徴付ける多数のデータムを受け取るアプリケーションがあります。次に、これらのデータをフィルタリングしてアクションを作成し、アクションを実行するプロセスに送信します。すすいで繰り返します。
現在、多くの複雑な空間/時間計算を実行するカスタム フィルターのコレクションがあります。
社内の個人とシステムについて話し合うと、ルール エンジンを使用しているかどうかを何度も尋ねられます。
時間的および空間的に適切に推論できるルール エンジンはまだ見つかっていません。(例: 2 つの 3D エンティティが接近するのはいつですか? 3D エンティティ A は 3D 領域 B に含まれていますか? エンティティ C がエンティティ D の近くにあるが、C に対して後方を向いている場合は、アクション D を実行します。)
私は過去に Drools、Cyc、Jess を見てきました (たとえば 3 ~ 4 年前)。最先端技術を再検討する時が来ました。助言がありますか?この種の推論をサポートする、あなたが知っている基準はありますか? デファクトスタンダードは?アプリケーションはありますか?
ありがとう!
asp.net-mvc - MvcContrib.CommandProcessor.RulesEngine チュートリアル
CodeCampServer を勉強しています。
ASP.NET MvcContrib.CommandProcessor.RulesEngine について混乱しています。
MvcContrib の RulesEngine に関するチュートリアルはありますか?
または、これがどのように機能し、どのようなメリットがあるかを説明してくれる人はいますか?
rule-engine - ルールエンジンを介してJavaEEで価格設定モデルを実装する方法は?
私はJavaEE6アプリケーションを開発しています。このアプリケーションでは、「プロバイダー」がユーザー向けのサービスの価格とさまざまな割引を定義できる必要があります。多くの異なるプロバイダーがあります。それぞれが同じサービスを提供し、価格設定モデルは異なる場合があります。
価格モデル:-プロバイダーは、たとえば1時間あたり、1分あたり、プロセスあたりなどの価格を定義できる必要があります。-プロバイダーは、ユーザーが取得する割引を定義するための条件を簡単に追加できる必要があります。例:特定のユーザーグループのユーザーには10%の割引が適用され、サービスを5回以上使用したユーザーには別の割引が適用されます。-条件を「AND」や「OR」などの論理演算とリンクできる必要があります。-考えられる条件の量は、ソフトウェアの製造元が定義する必要があります。
- ユーザーがサービスにアクセスしようとすると、ユーザー固有の価格が表示されます。サービスを使用した後、特定のユーザーは、このサービスの合計費用が記載された請求書を受け取ることがあります。サービスを使用している間、プロバイダーは価格設定モデルを変更できるため、バージョン番号などが必要です。次に、価格設定モデルのバージョンをデータベースに保存する必要があります。
質問は-この仕様を解決するためにルールエンジンを使用することは可能で意味がありますか?プロバイダーは、クリックして選択するだけで、xmlファイルなどを使用せずに条件を定義する必要があります。私はルールエンジンの経験がないので、誰かが問題に最適な解決策を見つけるのを手伝ってくれるかもしれません。
parsing - コンパイラの解析フェーズはルール エンジンとどう違うのですか?
私はコンパイラがどのように機能するかを大まかに理解しています (つまり、言語、文法、字句解析、構文解析など)。ルール エンジンには、文法にルールがあり、ANTLR などのパーサー ジェネレーター ツールでそれらにアクションを関連付けることができるように、さまざまなルールと関連付けられたアクションがあります。したがって、これら2つを区別する方法について少し混乱しています。違いについて、より明確で正式な説明ができる人はいますか?
ありがとう、アビナフ。
java - 内部ルールに従ってマッチングセットを計算する推論エンジン
属性を持つオブジェクトのセットと、オブジェクトのセットに適用されると、それらのオブジェクトのサブセットを提供する一連のルールがあります。これを理解しやすくするために、具体的な例を示します。
私のオブジェクトは人であり、それぞれに3つの属性があります。出身国、性別、年齢層です(すべての属性は個別です)。「米国のすべての男性」のように、このより大きなオブジェクトのセットのサブセットに対応する一連のルールがあります。
ルールから人のサブセットにマッピングできる既存のJava「推論エンジン」または同様のもの、または自分で作成する方法についてのアドバイスを探しています。ルールエンジンについて読んだことがありますが、その用語はビジネスルールを外部化するエキスパートシステムにのみ使用されているようで、通常、高度な形式の推論は含まれていません。これが私が対処しなければならないより複雑なシナリオのいくつかの例です:
ルールの接続詞が必要です。したがって、「すべての男性を含める」と「10〜20歳のグループのすべての米国人を除外する」の両方が提示された場合、私は米国外の男性と、米国内の10〜20歳以外の男性にのみ関心があります。 20歳のグループ。
ルールの優先順位は異なる場合があります(明示的に定義されています)。したがって、「すべての男性を除外する」というルールは、「すべての米国の男性を含める」というルールを上書きします。
ルールが競合している可能性があります。したがって、「すべての男性を含める」と「すべての男性を除外する」の両方を設定することができます。その場合、優先順位によって問題を解決する必要があります。
ルールは対称的です。したがって、「すべての男性を含める」は「すべての女性を除外する」と同じです。
ルール(またはサブセット)には、メタルール(明示的に定義されている)が関連付けられている場合があります。これらのメタルールは、元のルールが適用される場合、または推論によってサブセットに到達する場合に適用する必要があります。したがって、「米国を除外する」というメタルールが「すべての男性を含める」というルールに関連付けられており、エンジンに「すべての女性を除外する」というルールを提供すると、「すべての女性を除外する」サブセットを推測できるはずです。 「すべての男性を含める」サブセットと同等であるため、「米国を除外する」ルールを追加で適用します。
私はおそらく項目5なしで生きることができますが、言及されている他のすべてのプロパティが必要です。ルールとオブジェクトの両方がデータベースに保存されており、いつでも更新される可能性があるため、必要に応じて「推論エンジン」をインスタンス化し、後で破棄する必要があります。
drools - 動的デシジョンテーブルでdroolsエキスパートを使用する
これが私がやりたかったことです。
データベーステーブルに「ルール」を入れたかったのです。これは、すべてのルールがテーブル内の行になることを除いて、droolsxls決定テーブル形式に似ています。このようにして、ルールを簡単に変更できます。ルールが頻繁に変更される可能性があるため、これをxlsではなくテーブルに配置する必要があります。これはよだれで可能ですか?(DRLまたはxlsファイルの代わりに)DBから取得したルールを使用してナレッジベースを構築できますか?ルールが変更されるたびに、ナレッジベースを最初から再構築できますか(またはナレッジベースの一部のみで、基本的に変更されたルールのみを更新できます) ..)
asp.net - ASP.NET 用の堅牢なサーバー側動的フォーム エンジン
私は最近、動的に読み込まれた ASP.NET コントロールを EAV スキーマと組み合わせて使用し、データ モデルの可変性を処理する単純な動的フォーム エンジンを実装しました。ビジネスはしばらくの間、最終製品に十分に満足していましたが、現在はより複雑な動的フォームを求めています。
- フィールドの可視性は、他のフォーム フィールドの値に関連付けられています
- 他のフォームフィールドの状態に関連付けられたドロップダウン可能な値のリスト
- フォーム全体でのさまざまなビジネス ルールの適用: つまり、FieldA の値は、FieldX が null でないと仮定して、FieldX + 30 日を超えてはなりません。
- その他の複雑な分野間の依存関係とビジネス ルール
ご想像のとおり、このようなエンジンをゼロから作成するのは面倒で時間がかかり、コア ビジネスの一部ではないため、既製のソリューションを探しています。理想的には、すべての層 (ビジネス ロジック、プレゼンテーション層、永続性) を含む完全な ASP.NET フレームワーク (MVC または WebForms) が必要です。ただし、物乞いは選択者になることはできないので、ビジネス ルールの定義と評価のみを扱うフレームワークで間に合わせます。さらに、クライアント側のプラグインへの依存を禁止する厳格なポリシーに縛られているため、厳密にサーバー側のソリューションを探しています。
XForms は完璧に適合するように思えますが、私が見つけた唯一の成熟した実装は、Java (Orbeon) または Django (Chiba) に基づいています。私が見つけた他の XForms 実装は、クライアント側のプラグインに何らかの依存関係を持っています。
Orbeon を ASP.NET アプリケーションと統合する方法が見つかれば、Orbeon を使用しても構いませんが、そのようなハイブリッド実装の実際の例は見たことがありません。
Microsoft Office InfoPath を簡単に調べてみましたが、実装する必要のある複雑なシナリオを処理するのに十分なほど堅牢ではないようです。
すべてのアイデアを歓迎します!
java - 複雑な表示値ルックアップのための Drools
この質問の目的は、Web アプリケーション内の複雑な表示値ルックアップ処理に Drools を使用する妥当性を評価することです。私は、ベンダー データベースに保存されている保険情報を (保険証券から) 取得し、その情報をカスタム Web アプリ内に表示する任務を負っています。何百ものカバレッジがあり、各カバレッジに表示される表示値は、カバレッジのタイプごとに 4 つまたは 5 つの異なる列の組み合わせに基づくことができます。カバーの種類は40種類ほどあると思います。
そうは言っても、よだれや決定木メカニズムはこれを処理する良い方法を提供しますか? カバレッジ情報を頻繁に追加/変更する必要がある可能性が非常に高いことを指摘しておく必要があります。このメカニズムに私を惹きつける1つのことは、BAがルールを最新に保つのに役立つということです. ただし、このオプションによって速度が低下する可能性があるのではないかと心配しています。現在、マッピングが正常に行われることを確認するために、データベース内のリフレクションおよび XML と組み合わせてデータベースを使用する実用的なプロトタイプがあります。
あなたがそれらを考えることができるなら、私は他のオプションを受け入れます。
ありがとう、ジェレミー
rules - Drools の撤回により、ルールが実行されない
Drools 4.0.7 で奇妙な動作に遭遇しましたが、Drools がどのように機能するかを理解していないことが原因である可能性があります。「property」というプロパティを持つクラス「A」があるとします。
事実として、次の A のリストがあります: A1、プロパティ = 123 A2、プロパティ = 345 A3、プロパティ = 123
次の2つのルールがあります。
私の理解では、「ルール 1」は 123 のプロパティを持つクラス A のファクトを削除します。「ルール 2」になると、「listOfAs」に残っている A が 1 つだけであってはなりません (つまり、プロパティが存在するもの)。 「345」に設定)。私が気付いたのは、撤回されていない「A」オブジェクトがまだ 1 つあると想定しているにもかかわらず、「ルール 2」がまったく実行されないことです。「撤回」をコメントアウトすると、「ルール 2」が正常に実行されます。
これらのルールの機能について何か不足していますか?
ありがとう。ジャスティン
sql-server - SQL SERVER を使用したビジネス ルール エンジンの構築
ビジネス ルール エンジンを構築する必要があります。私は SQL SERVER 2005 を使用しています。ビジネス ルールは膨大で、2000 ページにもなります。
例えば。
などなど
したがって、手続きの if else 条件にこれらすべてのルールを単純に記述することはできないと思います。ですから、意思決定表を作成して、その表にすべての条件をレコードとして入れることができるかもしれません。しかし、私はそれを行う方法がわかりません。
誰もがそれを行う方法を知っていますか?
ありがとうございました