\begingroup

在骑士和流氓岛上,骑士只能说真话,流氓只能说假话。这让日常生活变得糟糕透顶,因为没有人能真正撒谎。黑手党游戏在五秒钟内结束。

因此骑士和流氓会用小技巧说话。他们不会直接说出陈述P,而是将P嵌入公式句子中。最著名的小技巧是

如果你问我,我会说P。

只要P为真,骑士和流氓都可以说这句话。说这句话会“泄露” P的值。相比之下,小工具

P为真或者我是一个骑士。

无论P的真值如何,骑士都可以说这句话,而只有P为假时,骑士才能说这句话。因此,如果你后来发现P为真,你就可以肯定说话者是骑士。

该岛委员会正在寻找一种具有以下所有属性的小工具:

  1. 任何人都可以用它来表示P!P,无论他们是骑士还是流氓(他们的“阵营”)。
  2. 即使您知道说话者的排列方式,您也无法确定P是真还是假。
  3. 即使您知道P的值,也无法确定扬声器的对齐方式

该小工具的使用应该易于使用和可扩展:无需要求岛上的每个人都记住私钥!

\endgroup

2

  • 1
    \begingroup
    “说 P 或 !P” 似乎定义不明确。这是否意味着“P”嵌入在语句中?或者“P 是 ___”嵌入在语句中?或者“P”在语句中并且可以为真或为假?
    \endgroup


    – 

  • \begingroup
    @Cireo 我的理解是,P 代表问题的正确答案。例如,如果有人问“天空是红色的吗”,那么回答“否”将充当 P,而回答“是”将充当 !P(假设天空实际上不是红色的)。
    \endgroup


    – 


最佳答案
4

\begingroup

与 Kagami 的想法相同,但具有仅包含 P 一次的潜在优势:

如果我是个流氓,那么 P 和猪都会飞!

解释

虽然这有点奇怪,但从逻辑上讲,如果 A 为假,那么“如果 A,则 B”形式的陈述将自动为真。因此骑士总是可以做出这样的陈述。由于“P 和猪都会飞”为假,因此陈述为“如果为真,则为假”,这对于流氓来说是假的,因此流氓也可以这样说。由于骑士或流氓总是可以这样说,因此我们无法了解陈述的真实性或个人的地位。

\endgroup

3

  • 2
    \begingroup
    我认为更好的答案是“我是一名骑士,P 是一种话语”,这样这些善良的人也能够传达那些没有明确真实性的事情。
    \endgroup


    – 

  • \begingroup
    说得好。我刚刚意识到“我是一名骑士,(P ot true)有效”,但你的更好。
    \endgroup


    – 

  • 1
    \begingroup
    (+1) 我本来要回答“Rvgure V nz n Xavtug naq V nz n Xanir naq C, be V nz n Xavtug”,但你的回答是等效的(而且措辞得很好)。
    \endgroup


    – 

\begingroup

我是一名骑士,并且(P 或非 P)

\endgroup

\begingroup

  1. 根据国家法律

我们知道,如果小工具g(is_knight, predicate_is_true)要说出这些语句,它必须构建对骑士来说为真、对杰克来说为假的语句。

  1. 任何人都可以用它来表示 P 或 !P,无论他们是骑士还是流氓(他们的“阵营”)。

因此下面的每个组合都必须是可说的。

g(true,true) == true 
g(true,false) == true 
g(false,true) == false 
g(false,false) == false

  1. 即使您知道说话者的排列方式,您也无法确定 P 是真还是假。

从上文我们就已经知道这一点了g(x, true) == g(x, false)

  1. 即使您知道 P 的值,也无法确定扬声器的对齐方式。

我们已经从上面得到了后半部分g(x, true) == g(x, false),P 对陈述没有影响。由于我们要求g(x, *)不披露有关 的任何新信息x,因此它必须始终为真,始终为假,或者是关于 的陈述x

但是,由于我们已经要求g(true, *) == trueg(false, *) == false,它不能是常数,而被迫为g(x) = x

把所有这些放在一起,唯一的陈述就是……

… 完全忽略 P(要么省略它,要么使它成为同义反复),并简化为x,例如I am a knightI am not a knaveI tell the truth。如果我们想要一个令人满意的答案,并且以有意义的方式使用 P 一次,我们似乎在设计上运气不佳。

\endgroup

2

  • 1
    \begingroup
    但这不违背条件 3 吗?
    \endgroup


    – 

  • 1
    \begingroup
    这个答案的大部分内容 +1 — 一个彻底的论证,即如果小工具是 P 和对齐的某种逻辑函数,那么它的真值必须等同于 rot13(“V nz n xavtug”),并且独立于 P。但你的最终结论是错误的 — 小工具话语旨在传达陈述 P,因此它必须在语法上包含 P,如要求 (1) 所述;但这与其真值独立于 P 并不矛盾,正如其他答案所示。所以我们不是“设计上的运气不佳”。
    \endgroup


    – 

\begingroup

从更有创意的角度来看,这款新产品可能是:

(是的,你没看错)

解释:

小玩意没有最小长度限制,所以从技术上讲,骑士和小偷都可以选择不回应。同样,这是一种更有创意的方法,不一定是完美的答案 🙂

这意味着:

  1. 任何人都可以使用/说这个小工具,并且P!P仍然可能是真的。
  2. 即使知道说话者的排列方式,也无法确定P是真还是假。
  3. 即使知道P的值,也无法确定扬声器的对齐情况。

\endgroup