next up previous
Next: 3 変数を含むパターン同士のマッチングUnifyの定義 Up: ソフトウェア特論 講義資料 前向き推論,後ろ向き推論 Previous: 2.11 実行例(3)

$<$後ろ向き推論$>$

プロダクションシステムでは,変数を含むパターンと変数を含まないパターン のマッチングを行なっていました.ここでは,変数を含むパターン同士のマッ チングを取り上げます.このように変数を含むパターン同士の一般化されたマッ チングのことをユニフィケーションと呼びます. プロダクションシステムでは,作業記憶に入っているものは変数を含まないと いう特徴があり,各ルールの行動部(結論部),さらに,問題として与えられ るゴール自体にも変数を含みませんでした. しかし,ゴールとして変数を含むパターンが与えられるとするとどうなるでしょ うか.つまり,変数を含むパターンが作業記憶に入っているパターンとマッチ するならばそのゴールが満たされたとみなすという形です. このようにゴールとして変数を含むパターンが与えられそのパターンがなりた つかどうかを論理的に推論してゆくという形の言語が論理型言語と呼ばれるも のです.論理型言語の代表例がPrologと呼ばれる言語です. 今回は,論理型言語Prologの仕組みの基本を紹介します. Prologは,プログラムとしてあらかじめルールと事実の集合を与えておき,ゴー ルが成り立つかどうかを問い合わせるという形でプログラムの実行が行なわれ ます.ゴールから,そのゴールが成り立つ条件に向かって推論が進められるた めに,後向き推論と呼ばれます.ゴールとルールの結論部とのマッチングを行 なう際に変数のはいったパターン同士のマッチング(ユニフィケーション)が 必要になります.
next up previous
Next: 3 変数を含むパターン同士のマッチングUnifyの定義 Up: ソフトウェア特論 講義資料 前向き推論,後ろ向き推論 Previous: 2.11 実行例(3)
generated through LaTeX2HTML. M.Inaba 平成18年5月21日