人工知能では、前方および後方の連鎖は重要なトピックの 1 つですが、前方および後方の連鎖を理解する前に、まずこれら 2 つの用語の由来を理解してください。
推論エンジン:
推論エンジンは人工知能のインテリジェント システムのコンポーネントであり、論理ルールを知識ベースに適用して、既知の事実から新しい情報を推論します。最初の推論エンジンはエキスパート システムの一部でした。推論エンジンは通常、次の 2 つのモードで処理されます。
ホーン条項と確定条項:
ホーン節と定節は文の形式であり、これにより知識ベースでより制限された効率的な推論アルゴリズムを使用できるようになります。論理推論アルゴリズムは、順方向および逆方向の連鎖アプローチを使用します。これには、次の形式の KB が必要です。 一階定節 。
文字列内のJava int
定節: リテラルの論理和である句。 正のリテラルを 1 つだけ 定節または厳密なホーン節として知られています。
ホーン節: リテラルの論理和である句。 最大 1 つの正のリテラル ホーン節として知られています。したがって、定節はすべてホルン節になります。
例: ( V q V k) 。正のリテラル k は 1 つだけあります。
これは p ∧ q → k と等価です。A. フォワードチェーン
前方連鎖は、推論エンジンを使用する場合の前方演繹または前方推論方法としても知られています。前方連鎖は、ナレッジ ベース内のアトミック センテンスから開始し、推論ルール (Modus Ponens) を順方向に適用して、目標に到達するまでより多くのデータを抽出する推論の形式です。
順方向連鎖アルゴリズムは、既知の事実から開始し、前提条件が満たされるすべてのルールをトリガーし、その結論を既知の事実に追加します。このプロセスは、問題が解決されるまで繰り返されます。
フォワードチェーンのプロパティ:
- 下から上へ移動するダウンアップアプローチです。
- 既知の事実やデータに基づいて、初期状態から開始して目標状態に到達するまでの結論を導くプロセスです。
- フォワードチェーンアプローチは、利用可能なデータを使用して目標に到達するため、データドリブンとも呼ばれます。
- フォワードチェーンアプローチは、CLIPS、ビジネス、プロダクションルールシステムなどのエキスパートシステムで一般的に使用されます。
両方のアプローチで使用する次の有名な例を考えてみましょう。
例:
「法律によれば、アメリカ人が敵対国に武器を売ることは犯罪です。アメリカの敵であるA国はいくつかのミサイルを保有しているが、すべてのミサイルはアメリカ国民であるロバートによってA国に売られたものだ。
文字列Javaを比較する
証明してください 「ロバートは犯罪者だ。」
上記の問題を解決するには、まず上記のすべての事実を一次定節に変換し、次に前方連鎖アルゴリズムを使用して目標を達成します。
FOL への事実の変換:
- アメリカ人にとって敵対国に武器を売ることは犯罪だ。 (p、q、r が変数だとします)
アメリカ人 (p) ∧ 武器 (q) ∧ 販売 (p, q, r) ∧ 敵対者 (r) → 犯罪者 (p) ...(1) - A国はミサイルをいくつか持っています。 ?p 所有物(A, p) ∧ ミサイル(p) 。新しい定数 T1 を導入する Existential Instantiation を使用することで、2 つの定節で記述することができます。
所有(A、T1) ……(2)
ミサイル(T1) ......(3) - ミサイルはすべてロバートによってA国に売られた。
?p ミサイル(p) ∧ 所有 (A, p) → 販売 (ロバート, p, A) ......(4) - ミサイルは兵器です。
ミサイル(p) → 武器(p) ......(5) - アメリカの敵は敵対的として知られています。
敵(p、アメリカ) →敵対(p) ......(6) - A国はアメリカの敵だ。
敵(A、アメリカ)……(7) - ロバートはアメリカ人です
アメリカ人(ロバート)。 ……(8)
順方向連鎖の証明:
ステップ1:
最初のステップでは、既知の事実から始めて、次のような含意のない文を選択します。 アメリカ人(ロバート)、敵(A、アメリカ)、所有者(A、T1)、ミサイル(T1) 。これらすべての事実は以下のように表されます。
ステップ2:
第 2 ステップでは、入手可能な事実と満足のいく前提から推測される事実を確認します。
ルール (1) は前提条件を満たしていないため、最初の反復では追加されません。
ルール(2)と(3)はすでに追加されています。
規則 (4) は置換 {p/T1} で満たされます。 だから売ります (ロバート、T1、A) が追加されます。これは、ルール (2) と (3) の論理積から推測されます。
ひどいとは何ですか
ルール (6) は置換 (p/A) で満たされるため、ルール (7) から推測される Hostile(A) が追加されます。
ステップ-3:
ステップ 3 で、ルール (1) が置換で満たされていることを確認できます。 {p/Robert, q/T1, r/A} なので、Criminal(Robert) を追加できます これは入手可能なすべての事実を推測します。そして、私たちは目標宣言に到達しました。
Javaの揮発性キーワード
したがって、順方向連鎖アプローチを使用して、ロバートが犯罪者であることが証明されます。
B. 逆方向連鎖:
バックワードチェーンは、推論エンジンを使用する場合のバックワード演繹またはバックワード推論方法としても知られています。逆方向連鎖アルゴリズムは推論の一形態であり、目標から開始して逆方向に作業し、ルールを連鎖させて目標をサポートする既知の事実を見つけます。
逆方向連鎖のプロパティ:
- これはトップダウンアプローチとして知られています。
- 逆方向連鎖は、手口の推論ルールに基づいています。
- 逆方向連鎖では、事実が真実であることを証明するために、目標がサブ目標に分割されます。
- 目標のリストによってどのルールが選択され、使用されるかが決定されるため、これは目標駆動型アプローチと呼ばれます。
- 逆方向連鎖アルゴリズムは、ゲーム理論、自動化された定理証明ツール、推論エンジン、証明アシスタント、およびさまざまな AI アプリケーションで使用されます。
- 逆方向連鎖手法では主に 深さ優先検索 証明のための戦略。
例:
逆方向連鎖では、上記と同じ例を使用し、すべてのルールを書き換えます。
所有(A、T1) ......(2)
逆方向連鎖の証明:
逆方向連鎖では、目標述語から始めます。 刑事(ロバート) 、そしてさらにルールを推測します。
ステップ1:
最初のステップでは、目標ファクトを取得します。そして、目的の事実から他の事実を推測し、最後にそれらの事実が真実であることを証明します。したがって、目標事実は「ロバートは犯罪者である」なので、次はその述語です。
ステップ2:
2 番目のステップでは、ルールを満たす目標ファクトから他のファクトを推測します。したがって、ルール 1 でわかるように、目標述語 Criminal (Robert) は置換 {Robert/P} とともに存在します。したがって、最初のレベルの下にすべての結合事実を追加し、p を Robert に置き換えます。
ここでアメリカ人(ロバート)が事実であることがわかり、それがここで証明されます。
ステップ-3: ステップ 3 では、ルール (5) を満たすため、武器 (q) から推測される事実ミサイル (q) をさらに抽出します。武器 (q) は、q に定数 T1 を置き換えても当てはまります。
ステップ-4:
ステップ 4 では、次を満たすファクト Missile(T1) と Owns(A, T1) を Sells(Robert, T1, r) から推論できます。 ルール-4 、r の代わりに A を置き換えます。したがって、これら 2 つのステートメントはここで証明されます。
ワンパスワールド
ステップ-5:
ステップ 5 では、事実を推測できます。 敵(A、アメリカ) から 敵対的(A) これはルール 6 を満たします。したがって、すべてのステートメントは後方連鎖を使用して真であることが証明されます。