将语句转换为prolog代码

时间:2011-05-04 00:04:13

标签: prolog

喂 我正在尝试将以下语句转换为prolog代码,但我不确定我是否正确执行。

1 - 尊重自己的每个人都受到他人的尊重:

   respects(x,respects(x)) :- respects(y,x)).

2-john尊重自己:

respectsherself(john).
respects(john,respectsherself(john)).

由于

2 个答案:

答案 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:)