コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

後向き連鎖

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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

後向き連鎖はゴール(または仮説)のリストによって起動して後向きに作業し、いずれかのゴールが正しいことを補強するのに使用可能なデータがあるかどうかを確かめる後向き連鎖を使う。 推論エンジンは推論規則を検索し、帰結部(THEN節)がゴールにマッチする規則を探す。その規則の条件部(IF節)が真かどうか不明な場合、それもゴールのリストに追加され(つまり、仮説の一部とされ)、それを立証するデータをさらに提供しなければならない。

例として、以下の二つの規則を持つルールベースと、フリッツはであるというゴール(仮説)と、それが弾むというデータがあるとする。

  1. IF節:フリッツははずむ — THEN節:フリッツは緑色である
  2. IF節:フリッツは緑色である — THEN節:フリッツはである

このルールベースが検索されると、帰結部(THEN節)がゴール(フリッツは蛙である)とマッチしている規則(2)が選択される。フリッツが緑色かどうかは不明なので、条件部(IF節)はゴールのリストに追加される(フリッツが蛙であるためには、緑色でなければならない)。ルールベースは再び検索されて、THEN節がリストに追加された新しいゴール(フリッツは緑色である)とマッチする規則(1)が選択される。その規則の条件部(フリッツは弾む)が真であることは予め分かっているので、フリッツは蛙であると結論付けられる(フリッツは弾むので緑色であるに違いない、フリッツが緑色なので蛙に違いない)。

ゴールのリストが、どの規則が選ばれて使われるかを決定するので、この方法はゴール駆動型と呼ばれる。一方、前向き連鎖による推論はデータ駆動型と呼ばれる。このようなアプローチは、しばしばエキスパートシステムで使用される。

プログラミング言語Prologは後向き連鎖をサポートしている。