2

我试图弄清楚你将如何将“[agent A] 想要 [verb] to [agent B]”编码为一阶逻辑(例如“John想要咬 Sara”)。

将“约翰咬萨拉”编码为 FOL 将是:bites(John, Sara)或者如果你喜欢John(x) ^ Sara(y) ^ bites(x,y).

另外,我注意到这种关系可能是递归的。例如:

  • 《约翰想要咬萨拉》(约翰想要有咬萨拉的欲望)

  • “John 想要想要咬 Sara”(John 想要处于想要咬 Sara 的状态)。

有谁知道我该如何处理,尤其是“约翰想咬萨拉”这句话。

4

1 回答 1

2

棘手!

让我们首先让句子的结构更清晰:“John希望他咬 Sara”。“他”当然是指约翰,所以我们可以简化为:

  • “约翰想让约翰咬萨拉”

现在我们可以像以前一样尝试使用谓词来表达这一点:

  • 想要(约翰,“约翰咬萨拉”)

但是第二个参数将是一个句子,而不是一个表示诸如“John”或“Sara”之类的对象的术语。事实证明,您的句子不能仅使用 FOL 中的谓词来形式化,因为“想要”不是个人之间的关系(如“bites(x,y)”),而是个人(约翰)和句子之间的关系/proposition(“约翰咬萨拉”)。

“约翰想要那个A”是一个句子运算符:它需要一些句子A并用它形成一个新句子。取句子并生成新句子的运算符的其他示例是“ Aand B”、“ìf A、then B”、“not A”或“it is necessary that A”。

所以“约翰想要那个A”与 FOL 中的逻辑运算符“处于同一水平”。如果我们想要形式化“x想要那个A”形式的句子,我们需要通过添加一个额外的运算符(对于 each x)来扩展逻辑。这需要向内涵语义(例如可能世界语义)迈出一步,因为“x希望A”的含义不能单独使用真值表来指定(如“非A”或“AB”)。

例如,认知逻辑click)是命题逻辑,由句子运算符扩展B_x(A)表示K_x(A)x 相信A”和“知道” 。x A

于 2015-11-09T05:32:55.173 回答