根据离散数学中的基础逻辑和证明解决这个谜题
solve this riddle based on foundational logics and proofs in descrete mathematics
kenneth rosen 的 "Discrete Mathematics" 一书中有这个问题
每个偏远村庄的居民总是说实话或总是说谎。村民只会对游客提出的问题做出 "yes" 或 "no" 的回答。假设您是一名游览该地区的游客,来到一个岔路口。一根枝条通向你想去的遗迹;另一条树枝通向丛林深处。一个村民站在岔路口。你问村民哪一个问题可以决定走哪条路?
现在我遇到这个问题的问题是,在答案中给出了这个问题的解决方案:如果我问你正确的分支是否通向废墟,你会回答是。
但是对这个问题的回答如何帮助我确定走哪条分支,因为如果他是个骗子,即使正确的分支实际上通向废墟,他也会做出负面反应,因为他是个骗子,他有一种倾向连那个问题都答错了。
一个好问题是 "If I asked what road leads to freedom, what path would the other kind of villager point to?"
在这种情况下,两种村民都会指错路。
这是因为 "double negative",有效地用 XOR 处理他的答案会给你正确的答案。因为你知道村民们总是会做同样的事情,所以你可以利用他对自己潜在答案的了解来欺骗他给你正确的答案。
有 4 种方法可以解决这个问题。你有正确路径是正确路径的情况,也有错误路径的情况。然后你有一个村民总是说实话的情况,以及他总是说谎的情况。乘以得到 4 种组合。
- 如果正道是正确的,村民总是说实话:
- 如果你问他这条路对不对,他会说"Yes"(因为他说的是实话)
- 所以他会说"Yes"对他会不会说"Yes"
的问题
- 如果正路不对,村民总是说实话:
- 如果你问他这条路对不对,他会说"No"
- 因此他会回答 "No" 是否会用 "Yes" 回答第一个问题。
- 如果,另一方面,村民总是说谎,而路径是正确的:
- 如果你问他这条路对不对,他会说"No"
- 所以当你问他"Would you have said Yes?"时,他会撒谎,说"Yes"。
- 如果路径不正确,村民总是撒谎:
- 如果你问他这条路对不对,他会说"Yes"
- 所以当你问他"Would you have said Yes?"时,他会撒谎,说"No"。
所以这是 table 中的结果:
Path Villager Final answer
Correct Truth Yes
Incorrect Truth No
Correct Lie Yes
Incorrect Lie No
如您所见,答案实际上与路径正确性相符。
kenneth rosen 的 "Discrete Mathematics" 一书中有这个问题 每个偏远村庄的居民总是说实话或总是说谎。村民只会对游客提出的问题做出 "yes" 或 "no" 的回答。假设您是一名游览该地区的游客,来到一个岔路口。一根枝条通向你想去的遗迹;另一条树枝通向丛林深处。一个村民站在岔路口。你问村民哪一个问题可以决定走哪条路?
现在我遇到这个问题的问题是,在答案中给出了这个问题的解决方案:如果我问你正确的分支是否通向废墟,你会回答是。
但是对这个问题的回答如何帮助我确定走哪条分支,因为如果他是个骗子,即使正确的分支实际上通向废墟,他也会做出负面反应,因为他是个骗子,他有一种倾向连那个问题都答错了。
一个好问题是 "If I asked what road leads to freedom, what path would the other kind of villager point to?"
在这种情况下,两种村民都会指错路。
这是因为 "double negative",有效地用 XOR 处理他的答案会给你正确的答案。因为你知道村民们总是会做同样的事情,所以你可以利用他对自己潜在答案的了解来欺骗他给你正确的答案。
有 4 种方法可以解决这个问题。你有正确路径是正确路径的情况,也有错误路径的情况。然后你有一个村民总是说实话的情况,以及他总是说谎的情况。乘以得到 4 种组合。
- 如果正道是正确的,村民总是说实话:
- 如果你问他这条路对不对,他会说"Yes"(因为他说的是实话)
- 所以他会说"Yes"对他会不会说"Yes" 的问题
- 如果正路不对,村民总是说实话:
- 如果你问他这条路对不对,他会说"No"
- 因此他会回答 "No" 是否会用 "Yes" 回答第一个问题。
- 如果,另一方面,村民总是说谎,而路径是正确的:
- 如果你问他这条路对不对,他会说"No"
- 所以当你问他"Would you have said Yes?"时,他会撒谎,说"Yes"。
- 如果路径不正确,村民总是撒谎:
- 如果你问他这条路对不对,他会说"Yes"
- 所以当你问他"Would you have said Yes?"时,他会撒谎,说"No"。
所以这是 table 中的结果:
Path Villager Final answer
Correct Truth Yes
Incorrect Truth No
Correct Lie Yes
Incorrect Lie No
如您所见,答案实际上与路径正确性相符。