【发布时间】:2012-11-03 15:23:02
【问题描述】:
真相维护系统 (TMS) 将推理的理由存储在给定的知识库中,从而得出特定的结论。
一个很好的例子看起来像这样(这是不是序言):
∀ X good_student(X) ∧ M study_hard(X) → study_hard (X)
∀ Y party_person(Y) → ¬study_hard (Y)
good_student(pat)
我根本不知道如何实现这一点。我不知道如何具体表示模态运算符M(符合)。显然,我可以创建谓词 good_student/1、study_hard/1 和 party_person/1。 study_hard/1 到 good_student 和 ¬study_hard 的链接也是我迷路的地方。
这引出了我的问题:有人知道如何在 prolog 中实现类似的东西吗?
提前致谢。
【问题讨论】:
-
你能解释一下
M吗? “符合”什么? -
嗯,有不同的方式来看待 M,一个非单调域中的模态算子。在这个例子中,我们将其视为 Negation as Failure,我们试图证明 not(study_hard(X)),否则我们说 X 努力学习。 cs.mtu.edu/~nilufer/classes/cs4811/2012-spring/lecture-slides/… 很好地总结了 George Luger 关于该主题的章节。