後向き連鎖

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

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

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

 IF節：フリッツははずむ — THEN節：フリッツは緑色である
 IF節：フリッツは緑色である — THEN節：フリッツは蛙である

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

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

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

Category:自動推論
Category:人工知能
Category:推論
Category:計算理論
Category:数学に関する記事