今日數學家 |
![]() |
康托 Georg Ferdinand Ludwig Philipp Cantor (March 3 [O.S. February 19][1] – 1845January 6, 1918) |
當年今日數學家 | |||||||||||||||||||||||||||
|
康托(Georg Cantor)
康托是數學史上最被誤解,而又最具革命性的思想家之一。
康托1862年就讀於蘇黎士,先後受教於 Weierstrass、 Kummer 及 Kronecker。1867年以一篇數論問題的論文,從柏林大學獲得博士學位。 他因為對一般數學的正確性產生質疑,因而受到數學界的排擠。 特別是有Kronecker 作敵人,所以只能到第二流的小學校當教授,直到退休。
由於受到 Weierstrass 在分析方面的影響,使得康托注意到實數線上點集的本質。 1874年他在《Crelle 雜誌》上發表了集合論的第一篇文章。 後來由於比較無窮集合的大小而產生了超限數的概念,使集合論變成數學的一支。
在他之前,所有的無窮都被視為一樣,但康托證明它們是不同的。1632年伽利略在他的對話錄中說:「數與平方數一樣多,因為每個數都有平方根。」 他問,自然數及平方數那一比較多。康托給了「一樣多」一個精確的意義,他說: 兩個集合為等價,如果它們的元素間存在一一對應。
|
![]() |
現在我們可以定義有限集合與無限集合如下: 一個集合如果它是空集, 或者存在一個自然數 n,使得此集合等價於 ,則此集合為有限集,否則它是無限集。
康托的無限的概念,激起了許多人的反對,包括 Kronecker 及 Gauss 等人。 Kronecker 說「上帝創造自然數,其餘的都是人造的。」Kronecker 對數學存在性的嚴厲要求大大地傷害了康托。
|
誰也不能把我們從Cantor為我們創造的伊甸園中趕出去 -----Hilbert
康托爾(Georg Cantor公元1845年 - 1918年德國)
![]() |
康托爾出生於俄國的聖彼得堡,為猶太人後裔。11歲時遷入德國,1867年獲柏林大學的博士學位,1872年升為教授。1874年開始引進他的無窮大概念,從而創立「超窮集合論」。 可惜的是,康托爾的觀點未能被當時的數學家所認同,尤其是數學家克羅內克(Leopold Kronecker,康托爾的老師),他更因而阻止柏林大學聘用康托爾。 |
由於康托爾受不起別人的抨擊,他終於在1884年患上精神崩潰。1918年1月6日,康托爾死於德國的一所精神病院之內。
踏入二十世紀,康托爾的理論終於為其他數學家所接受,從而成為現時抽象數學不可缺少的一環。
1845年3月3日,康托爾生於俄羅斯彼得堡。1856年移居德國,在蘇黎士和柏林大學求學,就讀柏林大學時,在Weierstrass的門下學習,徹底吸收了微積分的嚴格逼近方法,並於1867年獲得博士學位。 康托爾是集合論的創始者。他從一一對應這種原始基本觀念開始,比較無限集合是否有相同的階數,從而得出有理數集合與自然數集合具有相同階數,與實數集合是高於有理數集合的第二階無限集,並由冪集合創造出更高階的無限集。雖然大部分的數學界人士都對他所做的成果嗤之以鼻,但他卻依然不屈不撓,堅持到底。 有一個問題是康托爾無法滿意解決的,這就是有名的連續統假設:沒有一個超限的基數,嚴格地落在第一階---自然數無限與第二階---實數無限之間。以另一種方式來說,連續統假設敘述任何實數的無限子集若不是可數的(即與自然數集合一一對應),則必能與( 0,1 )區間做出一一對應關係,而沒有其它餘地存在。 1900年,希爾伯特(Hilbert)提出有名的Hilbert 23個問題,即以連續統假設為第一個問題,由此可看出其重要性。1940年,哥德爾(Godel)使用集合論的公設證明了連續統假設與其它公設在邏輯上為相容。1963年,史丹佛大學數學家Cohen證明了連續統假設是獨立的,即以集合論的公設也不能證明連續統假設。 所以康托爾的連續統假設在集合論世界中所佔的地位與平行公設類似,它是一種選擇的藝術,而不帶有必要性,乃依探究此問題之數學家的偏好而定。
格奧爾格·費迪南德·路德維格·菲利普·康托爾(Georg Ferdinand Ludwig Philipp Cantor,1845年3月3日-1918年1月6日),出生於俄國的德國數學家。創立了現代集合論作為實數理論以至整個微積分理論體系的基礎。他還提出了集合的勢和序的概念。由於研究成果得不到認可,並受到以利奧波德·克羅內克為首的眾多數學家的長期攻擊,患抑鬱症,最後精神失常。1918年,在德國哈勒大學附屬精神病院去世。
當代數學家絕大多數接受康托爾的理論,並認為這是數學史上一次重要的變革。大衛·希爾伯特說:「沒有人能夠把我們從康托爾建立的樂園中趕出去。」
康托爾出生於俄國聖彼得堡,他的父親是丹麥商人,母親是俄國音樂家。1856年他們全家搬到德國,康托爾在德語學校繼續學業,1867年他於柏林大學獲得博士學位。
康托爾提出了通過一一對應的方法對無限集合的大小進行比較,並將能夠彼此建立一一對應的集合稱為等勢,即可以被認為是「一樣大」的。他引入了可數無窮的概念,用來指與自然數集合等勢的集合,並證明了有理數集合是可數無窮,而實數集合不是可數無窮,這表明無窮集合的確存在著不同的大小,他稱與實數等勢(從而不是可數無窮)的集合為不可數無窮。原始證明發表於1874年,這個證明使用了較為複雜的歸納反證法。1891年他用對角線法重新證明了這個定理。另外,他證明了代數數集合是可數集,以及n維空間與一維空間之間存在一一對應。在上述理論的基礎上,康托爾又系統地研究了序數理論,提出了良序原理,即可以給任何集合內的所有元素定義一個大小關係,使得任意兩個元素都可以比較大小,且該集合的任意子集都有最小元素。康托爾晚年致力於證明他自己提出的連續統假設,即任意實數的無窮集合或者是可數無窮或者是不可數無窮,二者必居其一,但沒有成功。
康托爾的後半生受到抑鬱症的困擾,這嚴重影響他的工作,他不得不經常入院治療。根據後來他發表的論文,他患的可能是一種兩極失常性的抑鬱症,例如他寫了一篇驗證1000以下的歌德巴赫猜想的論文,其實幾十年前已經有人驗證到了10000。他又發表了幾篇文學方面的論文,試圖證明弗蘭西斯·培根其實是莎士比亞作品的真正作者。以及神學方面的論文,企圖證明絕對無窮的概念即是上帝。第一次世界大戰期間,他陷於赤貧狀態,最後死於哈勒的精神病院。
理髮師的困境
在一個小鎮裡,只有一個理髮師阿怪,阿怪很有原則,他只幫那些不替自己刮髮子的人刮鬍子。
小鎮裡所有的男人都有刮鬍子。
問題來了,那誰幫理髮師阿怪刮鬍子呢?
如果阿怪不幫自己刮鬍子的話,根據原則阿怪就得幫自己刮鬍子,因為全村男人都有刮鬍子而且阿怪是唯一的理髮師。
如果阿怪要幫自己刮鬍子的話,根據原則,他就不符合「不替自己刮鬍子」的條件,他就不能幫自己刮鬍子。
這是要阿怪如何是好呢?
於是有一個聰明的數學家發現了,「理髮師的困境」會產生,是因為那條「不替自己刮鬍子」原則不合理。因為每個男人都要刮鬍子,但是如果要完全符合原則,必定要有另一個理髮師來幫阿怪才行,但是這小鎮沒有第二個理髮師。還是…………這小鎮其實有鬧鬼…
言歸正傳,不要小看這個不合理的原則喔,事實上,這可是一個很有名的數學證明方法*。
例如,要怎麼證明自然數(就是大於等於零的整數 N: 0, 1, 2, .... ) 的數目和實數(R: 0.1, 0.3334,0.263988323, ....) 的數目是不同的呢?我們可以用反證法來證明 (proof by contradiction)。
1.首先,假設自然數和實數的數目是一樣多的,我們可以找到一個 一對一函數 f 將每一個自然數對應到一個實數,f: N →R。所以我們可以做出一張表,這張表的每一列代表一個不同的自然數對應到一個實數,而所有的自然數都被列在第一欄裡。下表是一個例子,第一列的意思是說,自然數 1 對應到 0.3333....33... 這個實數。
N | R |
1 | 0.3333....33... |
2 | 0.1000....00... |
3 | 0.6922....27... |
4 | 0.5566....77... |
... | .... |
n | 0.9734....63... |
n+1 | 0.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,中文叫作「對角線論證法」。
自然數和有理數的驚人事實
這個世界上有理數是不是也和實數一樣,比自然數還要多?
如果你忘記什麼叫做有理數的話,有理數的定義是這樣的:可以代表兩個整數之間比例的數,例如 2/3 是個有理數,因為 2 和 3 都是整數。(叉題一下,有理數的英文是 rational number,其實應該要翻成「比例數」才對,因為 rational 除了有「理性的」意思以外,也有「符合比例 (ratio) 的」這個意思,但是第一個中文翻譯的人大概數學不太好,就…)
我們先來算一算吧,自然數有 0, 1, 2, 3, 4, ..... 有理數有 0, ..., 1/4, 1/3, 1/2, ...., 1, ..., 5/4, 4/3, 3/2, ....,2, .... 所以,有理數比自然數多吧!但是,這文章的標題叫做「自然數和有理數的驚人事實」,難道是自然數比有理數多?
在這裡要先賣個關子,因為要瞭解數學家怎麼去思考這個問題,必需要先瞭解什麼叫做一對一對應性(One-to-one correspondence)。讓我用下面這個簡單的例子介紹這個概念:
小明和小華在下課時打彈珠,他們有天心血來潮,想知道現在誰的彈珠比較多。小明提議說:「那我們各自算自己的彈珠有多少,然後比大小。」小華說:「這樣太麻煩了,不如你出一顆我出一顆,看誰的彈珠先出完,就知道誰多誰少啦。」小華提議的這個方法,完全不需要知道他們兩個人各自有多少顆彈珠,也能得到誰彈珠多的正確答案,他用的就是一對一對應性的概念。這個概念在我們需要比較數量是無限多的集合上(像是自然數的數目)是非常重要的。
接下來是進階級一對一對應的例子囉:
1. 偶數的數目和奇數的數目是不是一樣多呢?是的,因為每一個偶數加一都可以對應到一個奇數,例如 4 可以對到 5。
2. 正整數和正偶數的數目是不是一樣多呢?是的,因為每個正整數乘以 2 都可以相對應到一個正偶數,像是 11 對應到 22。
看到第二個例子是不是有點困惑啊,正偶數的數目不是應該是正整數的一半嗎?當然,如果我們是算從 1 到 1000000000000000的話,偶數的數目的確是整數的一半,但是當要延伸到無限大的時候,無限的魔法就出現啦,因為無論是多麼大的正整數,我們都可以將它乘以 2得到它相對應的偶數。而根據一對一對應性,既然我們總是可以找到相對應的偶數(就像小明出一顆彈珠,小華也出一顆彈珠),就證明了正整數和正偶數的數目是一樣多的。
經過了進階級的考驗,超級賽亞人終於要變身啦!
一對一對應性的概念是由康特爾 (Georg Cantor) 這個數學家在西元1874年提出的,他在1878年的文章裡又證明了自然數( N )到二維自然數組 (N2)是一對一對應的。什麼是二維自然數組呢?就是二維座標上兩個自然數所標出的位置,如下圖的(1, 1) 、(2, 3) 這些點。,康特爾巧妙地安排了一個一對一對應方法,從0 開始,0 對應到二維的 (0,0), 1 對應到 (1,0), 2 對應到(0,1), 3 ↔ (2,0), 4 ↔ (1,1), 5 ↔ (0,2), 6 ↔ (3,0),.....以此類推,將這些點依序連起來,會呈現45度斜角的鋸齒擴大,下圖是更清楚的圖示,可以看到 0 到 24的自然數怎麼被一對一的排列到二維的(X, Y) 值上,例如 24 對應到(3,3)。這樣,每一個自然數就有一個相對應的二維自然數組,因此,(一維的)自然數和二維的自然數組的數目是一樣多的。
既然自然數和二維的自然數組的數目是一樣多的,接下來就容易了,只要把二維數組裡的第一個數當成分子,第二個數當成分母,很容易就達成了 (X, Y) 到有理數 X/Y 的一對一對應,因此,「有理數是不是比自然數還要多?」答案就是:有理數的數目和自然數的數目是一樣多的!
picture from:http://upload.wikimedia.org/wikipedia/commons/6/6f/Pairing_natural.svg
這個答案是不是和你一開始想的完全不一樣呢?事實上,證明了這個答案的數學家康特爾也對自己的這項發現感到十分驚訝,他在給好友Dedekind的信上這樣寫著:「我看見了,但是我不相信!」(I see it, but I don'tbelieve it!)當先知者果然並不容易啊。康特爾發表這些文章的時候,同時期的數學家對他的研究成果一直心存抗拒,那時柏林大學數學系系主任也曾是康特爾的老師的Kronecker甚至公開地指責康特爾的想法會「污染了年輕的一代」,康對此事一直梗梗於懷。在1885年,當時康特爾友好的一個數學期刊總編建議他不要發表一篇論文,因為他認為康特爾的文章「超前了時代100年」"… about one hundred years too soon." 但是康特爾暴怒地將這視為故意的侮辱,這時候他的精神狀態有異已現端倪,並且終於其一生,都受到躁鬰症(bipolardisorder)的糾纏。所幸,他的研究成果在十多年後開始漸漸受到全世界的重視,1911年還受邀為蘇格蘭的聖安卓大學 500 年校慶的傑出外國學者。(註:聖安卓大學是英語系世界裡第三老的大學)
康特爾的數學裡最讓我著迷的,是他對於「無限」這個概念的想像和研究。以前我只知道 ∞ 是無限大,從來不知道無限大也是有等級之分的,例如原來「實數數目的無限大比自然數數目的無限大更大」。康特爾的研究讓「無限」從哲學的領域進入數學的領域,從形而上的談論變成可以用數學式來描述的理論,為後代的人開創了在無限大的範疇裡思考的邏輯與方法。
用C語言證明Georg Cantor
現代數學的著名證明之一是Georg Cantor證明了有理數是可枚舉的。他是用下面一張表來證明這一名題的:
1/1→1/2 1/3→1/4 1/5 ……
↙ ↗ ↙ ↗
2/1 2/2 2/3 2/4……
↓ ↗ ↙ ↗
3/1 3/2 3/3……
↙ ↗
4/1 4/2……
↓ ↗
5/1……
……
我們以Z字形方法給上表的每項編號。第一項是1/1,然後是1/2、2/1、3/1、2/2、1/3、1/4、2/3……。編程輸入項號N(1 <=N <=1000000),輸出表中第N項。
例:輸入:N=7
輸出:1/4
#include <stdio.h>
#include <math.h>
typedef unsigned long ul;
void slove(ul N)
{
ul a = (ul)(sqrt(8*N+1)-1)/2 ,
b = N - a * (a+1) / 2;
printf("%lu : %lu/%lun ", N,
!b?(a&1?1:a):(a&1?b:a+2-b),
!b?(a&1?a:1):(a&1?a+2-b:b));
}
int main()
{
ul N ;
while(1 == (scanf("%lu", &N)) && N >= 1)
slove(N);
return 0;
}