簡介
希爾伯特旅館悖論是一個與無限集合有關的數學悖論,由德國數學家大衛·希爾伯特提出。
旅館悖論
假設有一個擁有可數無限多個房間的旅館,且所有的房間均已客滿。或許有人會認為此時這一旅館將無法再接納新的客人(如同有限個房間的情況),但事實上並非如此。
有限個新客人
構想此時有一個客人想要入住該旅館。由於旅館擁有無窮個房間,因而我們可以將原先在1號房間原有的客人安置到2號房間、2號房間原有的客人安置到3號房間,以此類推,這樣就空出了1號房間留給新的客人。重複這一過程,我們就能夠使任意有限個客人入住到旅館內。
無限個新客人
另外,我們還能使可數無限個新客人住到旅館中:將1號房間原有的客人安置到2號房間、2號房間原有的客人安置到4號房間、n號房間原有的客人安置到2n號房間,這樣所有的奇數房間就都能夠空出來以容納新的客人。
無限個客車且每個客車有無限客人
我們甚至能夠將可數無限個客車上的人(其中每個客車上有可數無限個客人)安排進旅館。不過,這需要有一個前提條件:所有客車上的每個座位都已經編好了次序(即旅館管理員對客人的安排滿足選擇公理)。首先,如同前面一樣將所有奇數房間都清空,再將第一輛客車上的客人安排在第3號房間(n=1, 2, 3, ...)、第二輛客車上的客人安排在第5號房間,以此類推,將第i輛客車上的客人安排在第p號房間(其中,p是第i+1個質數)。
另外,還能夠通過客車的車牌號與客人的座位號來解決這一問題。先將旅館設為第0號客車,然後將車牌號與座位號交替書寫,即能得到客人的房間號碼。如果客人是在1729號房間則移動到01070209號房間,如果客人是在198號客車上的4935座則移到第4199385號房間。
分析
這一問題雖然被稱作“悖論”,但事實上它並不矛盾,而僅僅是與我們直覺相悖而已。在有無限個房間時,“每個房間都客滿”與“無法入住新的客人”兩者其實並不等價。
無限集合的性質與有限集合的性質並不相同。對於擁有有限個房間的旅館,其奇數號房間的數量顯然總是小於其房間總數的。然而,在希爾伯特所假想的這一旅館中,奇數號房間數與總房間數是相同的。在數學上可以表述為包含所有房間的集合的勢與包含所有奇數號房間的子集的勢相同。事實上,無限集合都擁有這樣的特點,所有無限集合都與它的某些子集的勢相同。對於可數集,其勢記為
另外,我們還可以說,對於任意可數無限集,都存在由這一集合至自然數集的雙射,即便這一集合(如有理數集)本身就包含了自然數集。
宇宙哲學爭論
由於希爾伯特的這一悖論違反了我們的直覺,因而經常被用於反對實無窮的存在,如美國哲學家威廉·萊恩·柯萊格(William Lane Craig)就曾這樣來證明上帝的存在:儘管在數學上這種旅館(或任何無限的事物)並非是不可能的,但從直覺上這樣的事物永遠不可能存在,不僅如此,任何實無窮都不可能存在。如果一個時間序列能夠無限地回退到過去那就會建立起一個實無窮,既然實無窮不存在,那時間就必然有個“起點”。每個事物都有其發生的原因,而時間起始的原因不可能是其他事物,只能是上帝