喂 我正在尝试将以下语句转换为prolog代码,但我不确定我是否正确执行。
1 - 尊重自己的每个人都受到他人的尊重:
respects(x,respects(x)) :- respects(y,x)).
2-john尊重自己:
respectsherself(john).
respects(john,respectsherself(john)).
由于
答案 0 :(得分:1)
在prolog中,变量必须以大写字母开头,所以要注意这一点。
尊重自己的每个人都受到他人的尊重。我认为你需要一些基本的事实,比如谁尊重谁。然后你就可以宣布一条规则,即X尊重他人,而X则尊重他自己。
respects(john, mary). %john respects mary
respects(john, john). %john respects himself
respects(X, Y) :- respectedbyothers(Y). %X respects Y if Y is respected by others
respectedbyothers(X):-respects(X, X).
答案 1 :(得分:0)
优化: %尊重(A,B)意味着A受到B的尊重 方面(约翰,约翰)。 方面(X,_): - 方面(X,X)。 ?
难道你不喜欢prolog:)