理髮師悖論試解

2021-06-01 12:55:06 字數 1938 閱讀 3205

【我將為本城所有不給自己刮臉的人刮臉,我也只給這些人刮臉。可是,有一天,這位理髮師從鏡子裡看見自己的鬍子長了,他本能地抓起了剃刀,你們看他能不能給他自己刮臉呢?如果他不給自己刮臉,他就屬於「不給自己刮臉的人」,他就要給自己刮臉,而如果他給自己刮臉呢?他又屬於「給自己刮臉的人」,他就不該給自己刮臉。】

「刮臉」 一詞的含意可以是從有刮臉意象到臉被刮乾淨全程或是全過程中的各階段或是全過程中各種思維、行為活動。

我們假定「理髮師悖論」中的「刮臉」一詞是指從有刮臉意象到臉被刮乾淨過程中的乙個思維或行為活動被完成。

我們定義「刮臉」行為的完成時刻。

定義點1:「刮臉」 的完成時刻是,用剃刀刮下最後一根鬍鬚。

在理髮師沒有用剃刀刮下自己最後一根鬍鬚前。理髮師屬於不給自己刮臉的人,所以理髮師可以給自己刮臉,在理髮師用剃刀刮下自己最後一根鬍鬚後,從此理髮師屬於給自己刮過臉的人,之後理髮師再不能用剃刀刮自己最後一根鬍鬚了。這次理髮師刮乾淨了自己的臉。

在理髮師沒有用剃刀刮下自己一根鬍鬚前,理髮師屬於不給自己刮臉的人,可以給自己刮臉,在理髮師用剃刀只刮下自己一根鬍鬚後,理髮師屬於給自己刮過臉的人,從此刻以後理髮師再不能刮自己臉上的任何一根鬍鬚了。這次理髮師只刮去一根自己臉上的鬍鬚。

定義點3:「刮臉」 的完成時刻是,抓起剃刀準備刮鬍鬚。

理髮師在沒有抓起剃刀準備為自己刮鬍鬚前,理髮師屬於不給自己刮臉的人,可以抓剃刀準備給自己刮臉,在理髮師抓起剃刀準備為自己刮鬍鬚後,理髮師屬於給自己刮過臉的人,從此刻以後再不能抓剃刀準備為自己刮鬍鬚了。理髮師的鬍鬚沒有變化。

定義點4:「刮臉」 的完成時刻是,有刮鬍鬚的打算。

理髮師在沒有為自己刮鬍鬚的打算前,理髮師屬於不給自己刮臉的人,可以有給自己刮臉的打算,在理髮師有為自己刮鬍鬚的打算後,理髮師屬於給自己刮過臉的人,從此刻以後再不能打算給自己刮臉了,理髮師沒有行為活動。如果理髮師又打算給自己刮臉,是理髮師違約。

在上述幾個「刮臉」定義情況下,理髮師開始都可以給自己「刮臉」,都可以從「不給自己刮臉的人」自然轉成「給自己刮過臉的人」, 沒有出現悖論, 理髮師的行為也都沒有違約。

理髮師給自己「刮臉」行為全過程按時間順序是,有為自己刮鬍鬚的打算、抓起剃刀準備為自己刮鬍鬚、用剃刀為自己刮下一根鬍鬚、用剃刀刮下自己最後一根鬍鬚。

按理髮師悖論故事之意,「如果他不給自己刮臉,他就屬於不給自己刮臉的人」 (現在未刮臉),這時故事中對應「刮臉」完成的定義時刻是 「用剃刀刮下自己最後一根鬍鬚」, 其中不刮臉時段是從用剃刀刮下自己最後一根鬍鬚之前到有為自己刮鬍鬚的打算。「如果他給自己刮臉呢?他又屬於給自己刮臉的人」 (現在已刮臉), 這時對應「刮臉」完成的定義時刻是「抓起剃刀準備刮鬍鬚」, 已刮臉時段是從抓起剃刀準備為自己刮鬍鬚之後到用剃刀刮下自己最後一根鬍鬚。 不刮臉時段與已刮臉時段有重疊,在這個時間段內的每個時刻理髮師的兩個身份也重疊,在重疊時段內理髮師既是不給自己刮臉的人也是給自己刮臉的人。

理髮師悖論故事中「不給自己刮臉」 「給自己刮臉」這兩句話中指的「刮臉」是刮臉程序中不同的兩個時刻。如果「刮臉」完成時刻的定義固定不變那麼不會出現悖論。如果「刮臉」完成時刻的定義是兩個且不刮臉時段與已刮臉時段有重疊又不被發現,那麼就會出現悖論。

根據不矛盾律,在同一時刻a不是非a 。a在20年前是年輕人,a在20年後不是年輕人,這不違反不矛盾律。理髮師在「給自己刮臉的人」的集合內和在「不給自己刮臉的人」的集合內也可以分別存在,但是不能同時存在。

如理髮師悖論故事這樣講,「理髮師不是為自己理髮的人,理髮師同時也是為自己理髮的人,請你判斷,理髮師該不該為自己理髮,那麼讀者馬上就會知道問題在**」。

理髮師悖論故事中 「刮臉」 完成時刻定義不同,違反了同一律(沒有「同一」刮臉完成的時刻、或是沒有「同一」刮臉一詞是指刮臉開始還是指刮臉完成),使得理髮師的身份違反不矛盾律得以隱藏,故事又要求一定要用排中律判定理髮師該不該為自己理髮,於是出現悖論。

以其自身為元素的第二類集合與不以自身為元素的第一類集合都可存在,即所有集合都可存在,只是不能同時存在。

集合論中是否需要加入時間因素?

可以這樣分析嗎?

理髮師悖論

由著名數學家 伯特蘭 羅素 bertrand a.w.russell,1872 1970 提出的悖論與之相似 在某個城市中有一位理髮師,他的廣告詞是這樣寫的 本人的理髮技藝十分高超,譽滿全城。我將為本城所有不給自己刮臉的人刮臉,我也只給這些人刮臉。我對各位表示熱誠歡迎!來找他刮臉的人絡繹不絕,自然都...

睡眠理髮師問題

一 問題描述 經典理髮師問題 假設後街有家理髮店,店裡有乙個理髮師 一把理髮椅和n把等候理髮的顧客椅子。1 如果沒有顧客則理髮師便在理髮椅上看報紙 2 當有乙個顧客到達時,首先檢視理髮師在幹什麼,如果在看報紙則告訴理髮師理髮,然後坐到理髮椅上開始理髮 如果理髮師正在理髮,則檢視是否有空的椅子可坐,如...

c 實現理髮師問題。。

include include include include include define max count 10 最多理髮人數 define chairs 4 店中椅子的總數目 using namespace std intwaiting 0 等待理髮的顧客人數 char close door...