离散数学中的村人指路和说谎者
最近开始学离散数学,遇到了这一类"脑筋急血栓"问题。。。。
自己对这类问题思考和总结了一番,发现了一些有意思的规律
大佬轻喷,俺是蒟蒻
- 这种问题大概可以分成两类:
- 二对一
- 一对二
- 啥是“二对一”呢?
emmmm就是俩人(一个骗子一个老实人)对于一个问题作答的题目
- 啥是“一对二”呢?
emmmm就是一个人 对于俩选项(你是骗子 or not)
下面分别对两类问题举一个例子
二对一问题:村人指路
题目:
边远村庄的每个人要么总说真话,要么总说谎话。对旅游者的问题,村民要么回答“是”,
要么回答“不”。假定你在这一地区旅游,走到了一个岔路口,一条岔路通向你想去的遗址,
另一岔路通向丛林深处。此时恰有一村民站在岔路口,问村民什么样的一个问题就能决定走那
条路?
思考:
想象有俩村民,一个村民是老实人,总是说真话,一个村民老骗子了,总是说假话
如果我对着正确的道路,问老实人:"这个路是正确的吗?"老实人会回答,“是滴”,但是同样的问题,老骗子就会骗我说“不是的!!!”
显然,对于老实人和老骗子,我们得出了不同的答案。如果这样问的话,显然不能得到正确的答案。。。。。。
BUT,要是我们在上面问题的基础上,继续追问,却会起到肥肠不错的效果,我们再问:“你的答案是’是滴‘嘛?”
- 老实人不枉为老实人,你追问上千遍上万遍,他也会说“是滴”
- 老骗子呢?他就心虚了,他最早是用“不是的”来骗,
来偷袭我这个19岁的小同志,这好吗?这不好!,我们要是追问他:“你会回答是滴,对吗?”,这样他为了骗我们,又把答案改成了“是滴“
最终我们会发现,直接问老实人和老骗子的话会得到两种答案,我们不能做出判断
但是我们如果对答案进行追问一次,会发现,老骗子会再次横眺,而老实人的答案永远不变,于是乎,俩人的答案一致。那么,既然老实人和老骗子的答案一致,那这个时候即便是老骗子也无妨,说的都是正确的话
如果我们再思考思考:如果我们再追问一次呢?结果是老实人的答案一直不变,而老骗子的答案再不断取非!!
于是我们就可以发现,这种问题,我们可以分成两块:
- 第一是单纯的某个问题
- 第二是对上一个问题的追问(实际上就是在外面套娃)
一对二问题:说谎者
题目:
一个探险者被几个吃人者抓住了。有两种吃人者:总是说谎的和永不说谎的。除非探险者能判断出一位指定的吃人者是说谎者还是说真话者,否则就要被吃人者烤了吃。探险者只被允许问这位吃人者一个问题。
思考:
利用上面的结论:
- 第一是单纯的某个问题
- 第二是对上一个问题的追问(实际上就是在外面套娃)
分两步:
1.就是简单的问:“你是老实人嘛?”,当然,老实人和老骗子都会点头说是。
2.对前面的问题进行确认:“你会回答是,对吗?”,老实人还是会说,“是的”,老骗子就会说“不是”(因为他上一个问题回答的是“是的”,这次他又要骗!!)
于是乎,俩人的答案就分离开了,他们说的都是正确的话!!(老实人一直都是说正确的话,老骗子第一次说反话,第二次也说反话,于是说的也是正确的话)
这样就可以知道谁在说慌啦!!老骗子自爆了
(END)
emmmmmm,离散老师逼我们去B站看乐在其中的逻辑学(下饭用),溜了溜了