突然的想來點邏輯一點的東西,這個系列就叫「卑鄙的外鄉人」吧~~
本篇源自於「求知魚」(b站,知乎自己搜搜看)(滑稽)
有一座小島,島民具有超強的邏輯能力、沒有色盲,島民無法觀察到自己的眼睛,無法告知其他人眼睛的顏色,島上有個規定「藍眼人必須當天自殺」。突然有一天,有個外鄉人到來了這裡,向所有島民說「這個島上有藍眼人」,過了一段時間後,所有藍眼人都自殺了。請問,一段時間是多長?
答案是 :與藍眼人的數量相同的天數。
很好玩吧,邏輯有點繞,但是不難。注意,不要跟著題目模擬,從只有乙個藍眼人開始思考。
如果只有乙個藍眼人,這個藍眼人發現周圍人沒有藍眼人,所以自己就是藍眼人。(1天自殺)
如果有兩個藍眼人,對於每個藍眼人而言,第一天發現有乙個藍眼人,但是第二天發現他沒有自殺,說明他看到至少乙個藍眼人,但是除了他沒有看到其餘的藍眼人,所以自己是藍眼人。(2天自殺)
如果有三個藍眼人,對於每個藍眼人而言,第一天發現兩藍眼人,如果自己不是藍眼人,那麼他們會在2天後自殺,但是兩天後他們沒有自殺,說明藍眼人總數不是兩個(這時只有自己的眼睛顏色不確定),所以自己是藍眼人。(3天自殺)
以此類推,發現自殺天數和藍眼人總數是相同的。
更多的問題,為什麼是在外鄉人說完乙個共有常識之後才出事的呢?
外鄉人做了一件事:同步,我們無法確定其他人的思考起始時,我們就無法斷定他和我想的一樣,就是在上述中,「在第x天,發現那x個人沒有自殺」這個推理需要所有人同步進行,這樣才能判斷自己的眼睛是否是「藍色的」(簡單解釋就是,發現了 x 個藍眼人,藍眼人總數應當是 x 或 x+1 ,所以自殺的天數應當是 x 或 x+1,這就變成了簡單的 是 或 非 問題)
上面這種是遞迴考慮。