最近在複習大一的離散數學,看到一道好玩的悖論題目,分享一下。
原文:
Albert announces to his class that he plans to surprise them with a quiz sometime next week.
His students first wonder if the quiz could be on Friday of next week. They reason that it can’t: if Albert didn’t give the quiz before Friday, then by midnight Thursday, they would know the quiz had to be on Friday, and so the quiz wouldn’t be a surprise any more.
Next the students wonder whether Albert could give the surprise quiz Thursday. They observe that if the quiz wasn’t given before Thursday, it would have to be given on the Thursday, since they already know it can’t be given on Friday. But having figured that out, it wouldn’t be a surprise if the quiz was on Thursday either. Similarly, the students reason that the quiz can’t be on Wednesday, Tuesday, or Monday. Namely, it’s impossible for Albert to give a surprise quiz next week. All the students now relax, having concluded that Albert must have been bluffing.
What, if anything, do you think is wrong with the students’ reasoning?
譯文:
艾伯特老師宣布,他下一周會給同學們來一次“突擊”測驗。
他的學生首先開始考慮能不能是周五,結論是否定的:如果測驗放在周五,也就是前4天都沒有測驗的話,那麼周四下課的時候同學們就知道測驗一定是在周五的,這場測驗就算不上“突擊”的了(1)。
接下來同學們又開始向前推,他們發現也不可能是星期四:(1)處已經證明了不能是在周五測驗,如果放在周四測驗的話,那麼在周三下課的時候同學們就會知道肯定是在周四測驗了——周一周二周三沒測,周五不可能,隻能是周四了,這場測驗就算不上“突擊”了(2)。形似地,同學們接着往下推,不可能是周三 -> 不可能是周二 -> 不可能是周一。也就是說,艾伯特老師不可能給我們一次突擊測驗,他是在吓唬我們!
你認為學生的想法錯在哪裡?
我先用反證法證明學生錯了:
如果學生的說法是對的,即P : 老師不可能在下周給我們來一次突擊測驗。那麼如果老師在下周任意一天安排一次測驗,上課的時候學生的反應是這樣的:不會有測驗的哈哈 -> 握草老師抱的是什麼 -> 我擦居然要測驗。也就是說,老師達到了“突擊”的目的。即┐P : 老師在下周給我嗎來一次突擊測驗。由(p -> ┐p) -> ┐p,我們可以得到學生的說法是錯的。
書上說這是一個悖論(就是說我上面的推理也不會成立),但沒有給出解釋。我曾經和我的一個舍友讨論了半個小時,也沒能說服對方。
我的想法是對“突擊”的了解導緻的悖論的發生,“突擊”(surprise)可以有兩個了解:
- 學生上課的時候沒有想到今天會測驗。
- 除周五以外,學生上課前不知道測驗會安排在哪一天。
題目中學生的推論是基于2的,但是在推周五之外的時候假設周五已經不可能測驗了,這就是導緻錯誤的地方——2的基礎就是除周五外學生不知道安排在哪一天——即周五也是可能的,在推周四的時候不能說周五不會測驗。我的反證法是基于1的。但老師的說法并不知道是哪一個的,是以說,這個題是無解的。
以上就是我的一些想法,并不知道對錯,還望各位看官提出自己的見解。
參考:
- Mathematics for Computer Science