1

Prolog で関係モデルを確立しようとしていますが、姉妹関係がうまくいきません。私はこれに対する良い解決策が何であるか疑問に思っています。私は初心者で、これが私の最初のプログラムです。どんな助けも大歓迎です。

man(adam).
man(peter).
man(paul).
man(carlos).
man(willem).

woman(marry).
woman(eve).
woman(greta).
woman(lisa).

parent(adam, peter). 
parent(eve, peter).
parent(adam, paul).
parent(marry, paul).
parent(adam, willem).
parent(adam, lisa).
parent(eve, willem).
parent(eve, lisa).
parent(greta, adam).
parent(carlos, adam).

father(F, C) :-
   man(F),
   parent(F, C).

mother(M,C) :-
   woman(M),
   parent(M, C).

grandparent(P, C):-
   parent(P, K),
   parent(K, C).

sister(x,y) :-
   woman(x),
   mother(m, x),
   father(f, x),
   mother(m, y),
   father(f, y).
4

1 に答える 1

3

sister\2述語の変数には大文字を使用する必要があります。コードにはアトムである小文字が含まれているためx、 、yfおよびという人がいない限り、これは常に失敗しますm

X \= Yまた、 X が自分の妹にならないように追加します。

于 2012-05-15T08:39:08.457 に答える