如何编写Prolog程序
我不知道如何为下面的场景编写Prolog程序如何编写Prolog程序,prolog,Prolog,我不知道如何为下面的场景编写Prolog程序 1. If any two person having same hobby then they like each other. 2. Every gardener likes the Sun. 我这样做了,但我不知道这是否正确 like(gardener,sun). 请帮我解决这个问题。序言规则遵循“反转的如果”模板: Head:-Goal1,…,GoalN。 表示(大致),“Head在Goal1时保持,…,GoalN全部保持” 换句话说
1. If any two person having same hobby then they like each other.
2. Every gardener likes the Sun.
我这样做了,但我不知道这是否正确
like(gardener,sun).
请帮我解决这个问题。序言规则遵循“反转的如果”模板:
Head:-Goal1,…,GoalN。
表示(大致),“Head
在Goal1
时保持,…,GoalN
全部保持”
换句话说,它的意思是,“如果Goal1
,…,GoalN
全部保持,那么Head
也保持不变”
这正好符合您的第一句话,因此可以按规则进行编码:
喜欢(A,B):-%Head:-
爱好(A,霍比亚),%Goal1,
嗜好(B,嗜好B),%Goal2,
相同(霍比亚,霍比b),%Goal3,
dif(A,B)。%目标4。
%不同的人,不是同一个人
第二句话也适用于相同的模板:
喜欢(太阳):-
伊萨(A,加德纳)。
使用最自然的isA(X,Y)编码作为统一的X=Y
,这就相当于您编写的事实。事实是没有主体的规则。序言规则遵循“反转的如果”模板:
Head:-Goal1,…,GoalN。
表示(大致),“Head
在Goal1
时保持,…,GoalN
全部保持”
换句话说,它的意思是,“如果Goal1
,…,GoalN
全部保持,那么Head
也保持不变”
这正好符合您的第一句话,因此可以按规则进行编码:
喜欢(A,B):-%Head:-
爱好(A,霍比亚),%Goal1,
嗜好(B,嗜好B),%Goal2,
相同(霍比亚,霍比b),%Goal3,
dif(A,B)。%目标4。
%不同的人,不是同一个人
第二句话也适用于相同的模板:
喜欢(太阳):-
伊萨(A,加德纳)。
使用最自然的isA(X,Y)编码作为统一的
X=Y
,这就相当于您编写的事实。事实是没有主体的规则。我非常感谢您的支持。再次感谢您提供所需信息。我非常感谢您的支持。再次感谢您提供所需信息。