前向き連鎖

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

前向き連鎖(Forward Chaining)は、(人工知能において)推論規則を使う時の二種類の主要な推論手法のひとつである。もう一方は後向き連鎖である。

前向き連鎖は使用可能なデータからスタートし、推論規則を使って最適解に達するまでさらにデータを(例えばエンドユーザーから)引き出していく。前向き連鎖を使う推論エンジンは、推論規則を検索し、条件部(IF節)が真であることが分かっている規則を探し出す。見つけた規則の帰結部(THEN節)は、データセットへの新たな情報として追加される。

例として、ペットのフリッツの体色を決定することを目標とし、鳴くこと(訳注: "croak" はガーガー、ゲロゲロ鳴くこと)とハエを食べることを事実とする。ルールベースに以下の規則があるとする。

  1. IF節: フリッツは鳴き、ハエを食べる — THEN節: フリッツはカエルである。
  2. IF節: フリッツはカエルである — THEN節: フリッツは緑色である。

事実(フリッツが鳴くこととハエを食べること)が知識ベースに加えられ、IF節がそれに一致する規則をルールベースから探す。1つめの規則が見つかり、その前提は真であるため、結論部分(フリッツはカエルである)も知識ベースに加えられる。さらにルールベースが検索され、2つめの規則が新たに知識ベース内の事実と一致し、その結論部分(フリッツは緑色)が知識ベースに加えられる。その後、さらなる一致は見つからないが、当初の目標であったフリッツの体色を推論することができた。

前向き連鎖の推論はしばしばデータ駆動型と呼ばれる。一方、後向き連鎖はゴール駆動型と呼ばれる。前向き連鎖のアプローチはCLIPSなどのエキスパートシステムで普通に使用されている。前向き連鎖の利点として、新たなデータ(事実)を得ることで新たな推論が開始できるため、後向き連鎖に比較して変動のある状況に対応しやすいという点が挙げられる。