実際にPrologを動かしてみましょう
まず
test1.pl
というファイルを作成し
次のように書き込みます
keikoはgirlであるという事実です
二行目と三行目の
:- は条件を表しています
BであるならばA
という意味です
Xは変数を表します
Prologでは大文字は全て変数になります
つまり二行目と三行目の規則は日本語に直せば
Xが少女ならXは女性である
Xが女性ならXは人間である
という関係を意味します
まず
test1.pl
というファイルを作成し
次のように書き込みます
girl(keiko). woman(X) :- girl(X). human(X) :- woman(X).一行目の
girl(keiko).は事実を表します
keikoはgirlであるという事実です
二行目と三行目の
woman(X) :- girl(X). human(X) :- woman(X).は規則を設定しています
:- は条件を表しています
A :- Bは
BであるならばA
という意味です
Xは変数を表します
Prologでは大文字は全て変数になります
つまり二行目と三行目の規則は日本語に直せば
Xが少女ならXは女性である
Xが女性ならXは人間である
という関係を意味します
これで事実と規則は設定できたので
Prologに読み込ませましょう
端末を起動させtest1.plのあるフォルダまでcdで移動して
端末からPrologを起動させると
そして
Prologインタープリタに
keikoは人間ですか?
という質問をしたことになり
Prologインタープリタはこれに対して
trueかfalseで答えます
この場合は設定が正しければ
true
と答えが出るはずです
これは
Xが少女ならXは女性である
Xが女性ならXは人間である
という規則と
keikoは少女である
という事実から
Prologが推論して答えを出したのです
これを単一化と言います
Prologに読み込ませましょう
端末を起動させtest1.plのあるフォルダまでcdで移動して
端末からPrologを起動させると
-?という表示が出るので
-? ['test1.pl'].と入力すれば先程書いた事実と規則を読み込みます(ピリオドを入れるのを忘れないでください)
そして
-? human(keiko).と入力すると
Prologインタープリタに
keikoは人間ですか?
という質問をしたことになり
Prologインタープリタはこれに対して
trueかfalseで答えます
この場合は設定が正しければ
true
と答えが出るはずです
これは
Xが少女ならXは女性である
Xが女性ならXは人間である
という規則と
keikoは少女である
という事実から
Prologが推論して答えを出したのです
これを単一化と言います
コメントをかく