Prolog 谓词- 基于此,问题不够清晰,所以我在上下文中发布问题。
这是问题,我将发布到目前为止我所做的事情以及我正在努力的事情。
情景(一个安静怪异的情景)
詹姆斯和维多利亚结婚了,但维多利亚爱上了柯特。柯特不爱她,因为他仍然与凯莉结婚并关心凯莉,尽管她对亨利更感兴趣。亚瑟在浪漫上倾向于维多利亚,但他与亨利竞争,亨利虽然与克里斯托结婚,但他也爱维多利亚,詹姆斯对她感到浪漫。
1] 使用 Prolog 谓词表示此信息。仅使用两个谓词名称。
这是我对此的解释
is_Married([James,Victoria],[Curt,Kylie],[Henry,Crystal])。
is_inLove([Victoria,Curt],[Kylie,Henry],[Arthur,Victoria],[Henry,Victoria],[James,Victoria])。
对于第二个谓词,我也不确定是否应该将 [Curt,Kylie] 放在场景中,因为它说“并且仍然关心”。
2] 如果双方都在浪漫上倾向于其他人,而不是彼此,则已婚人士将陷入困境。Prolog 规则怎么能代表这个陈述。
我的答案
∀∃x: is_married(X,Y) ∧¬ is_inLove(X,Y) ∨ is_inLove(Y,X) → on_rocks (x)
对于如何代表两个参与者的婚姻,我有点困惑。
3]当一个人 X 爱另一个人时,就存在一个爱的圈子,而另一个人又爱另一个人,依此类推,直到该链中的某人爱人 X。假设只有一个爱圈,写出找到这个圈的序言规则并列出相关人员名单。
我的答案
write_list([X|A,B,C]:-
写(X)
写列表(X,尾巴)。