1

プロローグで質問があります。こちらがナレッジベースです。

loves(vincent,mia).
loves(marcellus,mia).
loves(pumpkin,honey_bunny).
loves(honey_bunny,pumpkin).

jealous(X,Y) :-
   loves(X,Z),
   loves(Y,Z).

これは「Learn Prolog Now」という本からです。ここでクエリを実行?- jealous(marcellus,W). するとそれが返されますが、クエリを実行すると返される 結果は次のW = vincent ようになります。つまり、vincent は自分自身に嫉妬していますが、marcellus は自分に嫉妬していません。なぜ答えが違うのですか?winxpのVirtualBoxにあるUbuntu Linuxでswiplを使用しています。私はプロローグの初心者です。?- jealous(vincent,W).W=vincent

ありがとう

4

1 に答える 1

2

の代わりにW = vincentクエリ?- jealous(marcellus,W). タイプでの回答の後に 、 という事実を追加する必要があり ます。;EnterW = marcellus.X \= Yjealous/2

于 2012-10-06T08:06:03.663 に答える