希尔伯特旅馆悖论源于伽利略。在《关于托勒密和哥白尼两大世界体系的对话》一书中,他经过初步观察之后发现 :平方数肯定比自然数的数量要少。但是我们可以把每个平方数和其自然数一一对应起来,因此这两个集合所包含的元素应该是一样多的。在有着上千年历史的希腊哲学传统的影响下,伽利略得出的结论是没有人可以用无穷大的数字来解决数学问题,尽管他自己经常背离这个传统。

接下来让我们详细讲讲希尔伯特旅馆悖论吧!有一个美丽的度假胜地,这里的旅馆有一个独特之处 :它有无数的房间,所有的房间都对应一个固定的数字。不巧的是,里面所有的房间都住满了,但是旅馆从来没有贴出过“房已住满”的告示。事实上,如果有一位新客人入住,那么旅馆就会安排他到1号房间,把1号房间原来的客人安排到2号房间(“我们理解您的不便,但我们向您保证,新房间将比现在这间更好!”)。2号房间的客人将被转到3号,3号到4号,直到n+1号房间,这样每个人都有自己的房间。不用说,就算来的新客人有100万个,这种方法也适用。到了康托尔杯决赛这天,无数球迷涌进来,这个时候事情就有点复杂了,经理没办法把新客人安排到“无限大”号的房间里,因为无限大不是一个数字。不过经理是个很会变通的人,他把1号房间的客人安排到2号房间,把2号房间的客人安排到4号房间,以此类推,把n 号房间的客人安排到2n 号房间,这样就把所有的奇数号房间空出来,只有偶数号房间住了客人,那么新来的球迷客人就能住到奇数号房间里。这样一来,除了换房间的麻烦和清洁费用变多以外,就没有其他烦人的事了。

还有其他的情况。希尔伯特旅馆属于一家连锁酒店,这家连锁酒店有无数个像希尔伯特旅馆这样有无数房间的旅馆。为了节约成本,酒店决定关闭其他的有无数房间的旅馆,把所有客人都安排到希尔伯特旅馆。这个时候旅馆经理要怎么安排让无数个客人住进无数个房间呢?

我们可以选择最简单的一种方法,将住在n 号房间的客人安排到2n 号房间里。然后给其他旅馆单独编一个编号(质数),那么p 旅馆n 号房间的客人在希尔伯特旅馆的房间的编号就是p×2n 。由于因数分解定理的独特性,不会产生两个客人被安排到同一个房间的状况。唯一可能产生的状况是旅馆还剩下很多空房间,酒店的管理人员会继续抱怨资源浪费。不过旅馆经理很聪明,他设计了如图1所示的换房间路径。从希尔伯特旅馆开始对所有旅馆进行编号,希尔伯特旅馆为1号旅馆。每当需要安排房间时,则先按图中的方向进行移动。第一次安排房间,1号旅馆1号房间的客人保持不动,2号和3号房间的客人则分别被2号旅馆1号房间的客人和1号旅馆2号房间的客人所取代,2号旅馆1号房间空出。第二次安排房间,4 ~ 6号房间的客人则分别被1号旅馆3号房间的客人、2号旅馆2号房间的客人和3号旅馆1号房间的客人所取代,原来房间的客人则按方向进行移动 ;以此类推。客人也可以从图中看出自己该住哪个房间。

但是可别以为能用这种方法接待所有类型的客人。如果来的客人是公司的代表,每个代表都有对应的公司表示,并且有独一无二的位置做区分,那么正如康托尔所言,这种情况下就没办法接待这些客人了。他们得去用实数进行编号的连锁酒店而不是去用自然数编号的旅馆,似乎……总之,这些区别是无穷无尽的。

最后,我再介绍一个更加令人不安的悖论。在希尔伯特旅馆里有很严格的禁烟规定,不仅旅馆里面不允许吸烟,外面来的人也不允许把烟带进去。有一天晚上,1号房间的客人突然非常想吸烟,但是他没有烟,于是他去找2号房间的客人。2号房间的客人也没有烟,但是他也很想吸烟,所以去找3号房间的客人想要两支香烟,一支给自己,一支给1号房间的客人,以此类推,那么在n 号房间的客人可以从n+1号房间获得n 支香烟,一支自己抽,另外的n-1支给前面房间的客人,如此一来大家都能抽到烟,这是怎么做到的呢?

来源: 《午餐时间聊数学》