将语句转换为序言代码
问题描述:
嘿 我试图将以下语句转换为序言代码,但我不确定自己是否正确执行了此操作。将语句转换为序言代码
1 - 大家谁尊重自己被别人的尊重:
respects(x,respects(x)) :- respects(y,x)).
2约翰·尊重自己:
respectsherself(john).
respects(john,respectsherself(john)).
感谢
答
在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).
答
的优化: %方面(A,B)表示A被B推崇 方面(约翰,约翰)。 (X,_): - 尊重(X,X)。 ?
难道你不爱序言:)
这将是很好,如果'方面(BEN,约翰).'给TRUE;因为'ben'是其他。 – Kaarel 2011-05-04 06:27:55
@Kaarel谢谢。添加。 – 2011-05-04 10:16:03