dog
1
有这么一个问题,
天堂地狱两扇门,两个门卫,一个说真话,一个说假话,只能对一个人提问一次,如何找出天堂之门?
你醒来你发现自己身处在一个奇怪的房间。房间有两扇门。每个门前有一个护卫。房子的墙上有一则提示:一扇门会带你去天堂。一扇门将带去地狱。门前的护卫知道哪一扇门通往哪里。
但是其中一个只会说谎话。一个只会说实话。 你只有跟他们其中一人提问一次的机会。应该怎么问呢?
注意:说假话的守卫不一定站在地狱门的前面,说真话的守卫也不一定站在天堂门的前面!
这个问题的标准回答是:
询问其中一个守卫:“如果我问另一个守卫哪个门是天堂,他会给我指哪个门?”
但是这个回答忽略了一个可能,两个守卫可能并不认识,不知道对方是否说真/假话。
我思考了一个方案,只需要考虑一个守卫:
询问其中一个门卫道:
请你从1、2、3、4中选择数字作答。
如果你回答1,那么你承认(“你是在说真话并且背后天堂之门”或者“你是在说假话”)两者至少有一个为真。
如果你回答2,那么你承认(“你是在说真话并且背后地狱之门”或者“你是在说假话”)两者至少有一个为真。
如果你回答3,那么你承认“你是在说假话并且背后地狱之门”为真。
如果你回答4,那么你承认“你是在说假话并且背后天堂之门”为真。
如果好门卫+天堂门,那么他只能回答1
如果好门卫+地狱门,那么他只能回答2
如果坏门卫+天堂门,那么他只能回答3
如果坏门卫+地狱门,那么他只能回答4
改进版的问法:
是否“你是在说真话并且背后天堂之门”或者“你是在说假话并且背后地狱之门”?
1 个赞
yazii
2
问题是天堂不一定是你的天堂,所以去天堂不一定幸福,去地狱不一定悲惨。
1 个赞
NSFW
5
你这样就违反题意了,相当于问了几个问题。
你只能抛一个条件让他判断,然后根据他返回的 true or false 来获取答案。
而不能把 条件1 && 条件2 这样的包含条件运算的语句抛给他,这种情况下他回答 true,其实已经回答了两个问题:条件1 为真,条件2为真。
3 个赞
其实不需要两个守卫互相认识
假设
1、两个守卫互知真假,则逻辑成立
2、两个守卫互不相识,那你只需要把“两个守卫的真假关系相反”这个条件信息提供给他,在无法证伪的情况下这个条件就会自动被接受。
3 个赞
dog
8
但是还有一种可能,
如果
说真话的守卫压根就没有说假话的这个技能!
那么他无法去思考另一个说假话的守卫会如何撒谎。
比如 说真话的守卫可能是“三体人”,另一个是个说谎成性的“地球人”,
三体人根本不会说谎,
你问他,“那个谎话精地球人会怎么回答啊?”
三体人只会说:
“这,我也不知道啊~”
1 个赞
逻辑题里明确的逻辑关系是必须的。
在这里,总是说假话其实也是一种“真话”。
因此如果出现逻辑关系不明确的情况
1、继续明确逻辑,比如明确题意“假话守卫的发言必然违背事实”
2、当成心理学题目来做,比如“我已经施展了三体星魔法,从现在开始,你说的假话会被当成真话,你后面是什么门?”或者“已知说真话上天堂,说假话下地狱,你会进你背后的门吗?”
1 个赞
dog
11
如果我这么问呢:
是否“你是在说真话并且背后天堂之门”或者“你是在说假话并且背后地狱之门”?