ホームeclipsetutorial3.ユニフィケーション ホーム > eclipse > tutorial > 3.ユニフィケーション 3.ユニフィケーション 下図は親子関係を示したプログラムです。親子関係の事実に対して質問をしてみます。 サザエの親(X)は誰かという質問をしてみます。質問のparent(X,sazae)と、上記4行のparent述語は述語名もアリティも一致します。よって上記4行はサザエの親(X)を探す検索対象となります。 早速1節目のparent(namihei,sazae)がマッチし、Xの値がユニフィケーションされました。今度はもう少し複雑な節を記述し、プログラムを動かしてみます。personの中に複数の情報を記述したプログラムです。 →person の中にフルネーム、性別、年齢が定義されています。 先ほどの単位節より少し複雑ですが、同様に情報を扱うことが可能です。 “フグタ”という男性(male)の名前(X)と年齢(Y)を質問してみます。まず1行目のparsonの第1引数、複合項nameの第1引数が質問と同じ”fuguta”であることからXがマッチします。 しかしその先のsexでサザエはmaleでないことからYはマッチしません。 よって、parent述語の1節目では質問が満たされないことがわかります。続いて見ていくと4節目がX,Yともにマッチすることがわかります。 その結果、今回の質問はperson述語の4節目が呼びだされX,Yの値がユニフィケーションされました。