後向き連鎖

後向き連鎖(Backward Chaining)



後向き連鎖は、人工知能分野で用いられる重要な推論手法の一つです。これは、特定の命題(ゴールや仮説)が真であるかどうかを検証する際に採用されるアプローチであり、データから推論を開始する「前向き連鎖(Forward Chaining)」と並ぶ、主要な二つの推論方法のうちの一つとされています。

仕組み



後向き連鎖による推論は、まず検証したいゴール(最終的な結論や仮説)を設定することから始まります。そして、そのゴールを達成するために必要な条件や前提を、既知の事実やデータに到達するまで逆向きに遡って探索していきます。

具体的には、推論エンジンは利用可能な推論規則(例:「もしAならばBである」)の中から、その「帰結部(THEN節)」が現在のゴールと一致する規則を探します。もし一致する規則が見つかった場合、その規則の「条件部(IF節)」が真であるかを検証する必要があります。この条件部がまだ真であると確認されていない場合、その条件自体が新たな「中間ゴール」として設定され、これを検証するために再び推論規則の検索が行われます。このプロセスは、全ての条件が既知の事実や観察データによって裏付けられるか、あるいはこれ以上遡ることができなくなるまで繰り返されます。

全ての条件が既知の事実によって満たされることが確認されれば、最初fishのゴールは真であると結論付けられます。逆に、必要な条件を遡っても既知の事実やデータに到達できない場合、あるいは矛盾が生じる場合は、最初のゴールは偽であると判断されます。

推論の例



以下のような推論規則が与えられ、さらに「フリッツは弾む」という事実と、「フリッツは蛙である」というゴール(仮説)がある場合を考えます。

規則1: もし「フリッツは弾む」ならば、「フリッツは緑色である」。
規則2: もし「フリッツは緑色である」ならば、「フリッツは蛙である」。

この場合、後向き連鎖では次のように推論が進みます。

1. ゴール設定: 「フリッツは蛙である」が現在のゴールとなります。
2. 規則検索: 帰結部が「フリッツは蛙である」である規則を探します。規則2が見つかります。
3. 条件検証: 規則2の条件部は「フリッツは緑色である」です。これが真であるか不明なため、「フリッツは緑色である」が新たな中間ゴールとして設定されます。
4. 再検索: 新たなゴール「フリッツは緑色である」の帰結部を持つ規則を探します。規則1が見つかります。
5. 条件検証: 規則1の条件部は「フリッツは弾む」です。これは既知の事実として与えられています。
6. 結論: 条件「フリッツは弾む」が真であるため、規則1により中間ゴール「フリッツは緑色である」が真であると結論付けられます。中間ゴールが真であるため、規則2により最初のゴール「フリッツは蛙である」も真であると結論付けられます。

したがって、この例では「フリッツは蛙である」という仮説が正しいと判断されます。

特徴と応用



後向き連鎖は、その推論の方向が設定されたゴールによって駆動されるため、「ゴール駆動型」のアプローチと呼ばれます。これに対し、前向き連鎖は利用可能なデータから推論を開始するため、「データ駆動型」と呼ばれます。

後向き連鎖は、特定の結論や結果がなぜ得られたのかを説明しやすいという利点があります。また、無関係なデータを考慮する必要がないため、効率的な場合もあります。

このようなアプローチは、特に「なぜ特定の結論に至ったのか?」という説明が重要となるエキスパートシステムや、特定の目標を達成するための手順を推論する必要があるシステムなどで広く利用されています。

プログラミング言語としては、Prologが後向き連鎖に基づく論理プログラミング言語の代表例として知られています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。