close
在一個小鎮裡,只有一個理髮師阿怪,阿怪很有原則,他只幫那些不替自己刮髮子的人刮鬍子。

小鎮裡所有的男人都有刮鬍子。

問題來了,那誰幫理髮師阿怪刮鬍子呢?


如果阿怪不幫自己刮鬍子的話,根據原則阿怪就得幫自己刮鬍子,因為全村男人都有刮鬍子而且阿怪是唯一的理髮師。

如果阿怪要幫自己刮鬍子的話,根據原則,他就不符合「不替自己刮鬍子」的條件,他就不能幫自己刮鬍子。

這是要阿怪如何是好呢?

於是有一個聰明的數學家發現了,「理髮師的困境」會產生,是因為那條「不替自己刮鬍子」原則不合理。因為每個男人都要刮鬍子,但是如果要完全符合原則,必定要有另一個理髮師來幫阿怪才行,但是這小鎮沒有第二個理髮師。還是…………這小鎮其實有鬧鬼…

言歸正傳,不要小看這個不合理的原則喔,事實上,這可是一個很有名的數學證明方法*。

例如,要怎麼證明自然數(就是大於等於零的整數 N: 0, 1, 2, .... ) 的數目和實數(R: 0.1, 0.3334, 0.263988323, ....) 的數目是不同的呢?我們可以用反證法來證明 (proof by contradiction)。

1. 首先,假設自然數和實數的數目是一樣多的,我們可以找到一個 一對一函數 f 將每一個自然數對應到一個實數,f: N → R。所以我們可以做出一張表,這張表的每一列代表一個不同的自然數對應到一個實數,而所有的自然數都被列在第一欄裡。下表是一個例子,第一列的意思是說,自然數 1 對應到 0.3333....33... 這個實數。

NR
10.3333....33...
20.1000....00...
30.6922....27...
40.5566....77...
.......
n0.9734....63...
n+10.1427....67...
.......


2. 定義一個類似「刮鬍子困境」的原則,例如,在上表中的第 i 列取一個小數點以下第 i 位的數字,集合起來,變成這個數字: 0.3026....67...,如果我們這樣組成的數字在這個表中找不到,那就表示,這個數字得由不包含在第一欄的自然數產生,但是我們不能確定這個數字是不是包含在上表中,因為有可能在 "...." 的某一列有出現這個數字了,但是在做了以下的轉換以後

        如果 第 i 位數字等於 6, 我們把它改成 5; 如果第 i 位數字不等於 6,我們把它改成 6.

0.3026....67... 變成: 0.6665....56... (由無限的5和6組成),這個新的實數就尷尬啦,因為它保證不等於上表裡第二欄的任何一個實數,因為它和任何一個數都至少有一個位數不一樣。這就表示 0.6665....56... 這個數字得由不包含在第一欄的自然數來產生,但是第一欄裡已經包含所有的自然數了,所以這個實數沒人要~(唉,連當個數字也有被發好人卡的可能啊!)

3. 以上證明了我們在 1. 做的假設不成立,進而得到實數的數目比自然數要多的結論。

好啦,這看起來好像很明顯,但是請期待下一篇「自然數和有理數的驚人事實」。


註:這個證明法英文叫作 Diagnolization,中文叫作「對角線論證法」。
arrow
arrow
    全站熱搜

    ironsnow 發表在 痞客邦 留言(4) 人氣()