基于离散数学中的基础逻辑和证明来解决这个谜题

时间:2016-01-03 08:06:04

标签: discrete-mathematics

书中有这个问题" Discrete Mathematics"作者:肯尼思罗森 一个偏远村庄的每个居民总是说实话或总是撒谎。一个村民只会给出一个"是"或"不"回答游客问的问题。假设你是一个游览这个地区的游客,来到路边岔路口。一个分支通往您想要参观的废墟;另一个分支深入丛林。一个村民站在路边的岔路口。有什么问题可以让村民决定选择哪个分支?

现在我面临这个问题的问题是,在答案中,这个问题的解决方案是:如果我问你是否正确的分支通往废墟,你会回答是。

但是对这个问题的回答如何帮助我确定要采取哪个分支,因为如果他是一个骗子,即使正确的分支实际上通向废墟,他也会做出消极反应,因为他是一个骗子,他倾向于给对这个问题的反应是错误的。

2 个答案:

答案 0 :(得分:1)

一个好问题是"如果我问什么道路通向自由,那么另一种村民会指出什么道路?"

在这种情况下,两种村民都会指向错误的道路。

答案 1 :(得分:1)

这是因为“双重否定”,通过XOR有效地对待他的回答,这将给你正确的答案。既然你知道村民会做同样的事情,你可以利用自己对自己潜在答案的了解来欺骗他,给你正确答案。

这有四种方式可以降低。你有正确路径是正确路径的情况和错误路径的情况。然后你就得到了一个你总是说出真相的村民,以及他总是说谎的情况。乘以得到4种组合。

  • 如果正确的道路是正确的,村民总是说实话:
    • 如果你问他正确的道路是否正确,他会说“是”(因为他说实话)
    • 所以他会对是否会说“是”
    • 的问题说“是”
  • 如果正确的道路不正确,村民总是说实话:
    • 如果你问他正确的道路是否正确,他会说“不”
    • 因此,对于他是否会以“是”回答第一个问题,他会回答“否”。
  • 另一方面,如果村民总是撒谎,路径是正确的:
    • 如果你问他正确的道路是否正确,他会说“不”
    • 所以,当你问他“你会说是吗?”时,他会说谎,然后说“是”。
  • 如果路径不正确,村民总是说谎:
    • 如果你问他正确的道路是否正确,他会说“是”
    • 所以当你问他“你会说是吗?”时,他会说谎,然后说“不”。

以下是表格中的结果:

Path      Villager      Final answer
Correct   Truth         Yes
Incorrect Truth         No
Correct   Lie           Yes
Incorrect Lie           No

如您所见,答案实际上与路径正确性相符。