web-dev-qa-db-ja.com

フォワードチェーンとバックワードチェーン

他の人が実際にはそうではないという点で、何が良いのでしょうか?私は彼らが何をするかの理論を理解していますが、実際の使用におけるそれらの限界と能力は何ですか? Drools vs a Java新しいAIプロジェクトのプロローグを検討していますが、他の提案を受け入れています。複雑なリレーショナルデータセットまたは代替案を推測するための一般的なアプローチは何ですか?

47
gtrak

後方チェーン(プロローグ)は、目標へのパスを形成する初期条件を見つけることに似ています。非常に基本的なレベルでは、それを達成する条件を見つけることは、目標からの後方検索です。

バックワードチェーンは、質問アプリケーション(特定の条件を満たすアイテムを見つける)に使用されます。バックワードチェーンアプリケーションの商業的な例の1つは、特定の再保険契約でカバーされている保険ポリシーを見つけることです。

フォワードチェーン(a la CLIPS)は条件に一致し、それらの条件から推論を生成します。これらの条件は、他のルールと一致する場合があります。基本的に、これは一連の初期条件を取り、それらの条件から可能なすべての推論を引き出します。

推論(アサートされている場合)は、外部アクションをトリガーできるアクションまたはイベントにすることもできます。これは、イベント駆動型システムで役立ちます。ルールセットは、たとえばワークフローやその他のアクションを開始するように構成できるためです。このタイプのルールエンジンは、商用アプリケーションで最も一般的に使用されています。

イベント駆動型システムは、フォワードチェーンルールエンジンの一般的なアプリケーションです。フォワードチェーンアプリケーションの一例は、通信プランプロビジョニングエンジン(通常、携帯電話プランの管理に使用)です。特定のプランで特定のユーザーを入力すると、さまざまな電話スイッチ、課金システム、財務、CRMシステムなどで設定されるアイテムの範囲がトリガーされます。

懸念の答えは非常に良いです。音を噛むまで違いを煮詰めるように頼まれたとき、私は通常次のように言います:

大量の出力仮説+大量の事前データ=>フォワードチェーンを使用

少ない出力仮説+データのクエリが必要=>後方連鎖の使用

しかし、それは単なる経験則であり、戒めではありません。

20
TechNeilogy

古い、古い、古い、エキスパートシステムの時代では、フォワードチェーンは周りを見回すのに適している(何ができるかをチェックする)のに対し、バックワードチェーンは確認(「それ」が本当に正しいかどうかをチェックする)に適していました。

構成(フォワードチェーン、XCON [1])および医療診断(MYCIN)[2]

  1. http://www.aaai.org/Papers/AAAI/1980/AAAI80-076.pdf
  2. https://www.Amazon.com/Rule-Based-Expert-Systems-Addison-Wesley/dp/0201101726
5
Tim Menzies

フォワードチェーンは「次に何が起こるか?」という質問に関係し、バックワードチェーンは「なぜこれが起こったのか?」という質問に注目します。

フォワードチェーンの例は、株式市場の状態が金利の変化に影響を与えるかどうかを予測することです。

後方連鎖の例は、人間の血液癌の診断です。

簡単に言えば、フォワードチェーンは主に将来の結果の予測に使用され、バックワードチェーンは主に履歴データの分析に使用されます。