手把手教你如何开一家生意兴隆的旅店

科学无国界

我们是知识的搬运工

“一辆不断向后延伸、载满乘客的客车,到达了一家有着无限多房间和一个数学天才接待员的旅店。接待员刚刚安排好这辆车上的客人,却发现另一辆客车又到了!通过和现有的客人协商,我们的接待员总能重新安排房间分配,为新来的客人留出空房来。”

这种存在于理论上的协商既精巧又让人感到困惑。当希尔伯特在1924年构建出这样一个旅店时,他也创造了一个用于讨论“无限”的数学和哲学的绝妙框架。

       欢迎光临本旅店 

假设你是一家旅店的经理,现在你这家旅店已经住满了人。当然这已经很不错了,但是作为经理总是面对着可以多接一点顾客的诱惑。在现实当中,你可能得把杂物间都清理腾出来——然后你就会在网上被刷一堆差评。

但是在数学的世界当中,这却是没问题的。只要你的酒店有无限多间房——这就是所谓的“希尔伯特旅店”。

欢迎来到希尔伯特旅店

希尔伯特旅店悖论是一个针对无限集合的美妙证明。这个设想来源自德国数学家大卫·希尔伯特,他举了旅店的例子来说明你可以利用“无限”玩一个反直觉的把戏。作为一家有着无限多房间的旅店的经理,你可以把这些房间用1、2、3等等来标记。所有的房间都住满了人。这个时候来了一个客人要求住店,这个时候你要怎么办?

很简单,让房间1中的客人住到房间2去,房间2中的客人住到房间3去,房间3中的客人住到房间4去,以此类推。如果房间个数是有限个的话,最后一个客人显然会无处可去。但是因为我们这个是无限多个房间,每个人都会找到一个新房间。不过你需要要求所有客人同步进行调换,因为如果你让他们一个接一个地移动,这种调换操作会耗费无限的时间——因为有无限的客人要进行移动。

通过这种技巧事实上你可以容纳任何有限数量的新客人。如果来了n个新客人,只需要让现有的客人移步到房间号为原房间号加n的房间即可。比如新来了8个客人,那么现在住在房间10的客人需要移步到房间18(10+8=18)去。

但是旅店的生意还可以更好。假设来了无限个新客人,他们在酒店外排成了一条有序的长队。在这种情况下,让现有的每位旅客都搬到房间号码是原房间号码二倍的新房间去,这样,原先住在房间r的客人就住进了房间2r这样一通操作之后就只有偶数号房间住满了(2=2×1,4=2×2,6=2×3,以此类推),而奇数号房间都空了出来。这时可以让新来的第一个客人住进房间1,第二位则住进房间3,第三位住进房间5,如此操作下去。每个人都会心满意足。

           无限分层 

事情还没完。假设来了无限个数的长途客车,每个客车都载了无限个数的新客人。为了简洁起见,我们假定每个客车用1,2,3等等来标记,而客车上各自的座位也用1,2,3等等来标记。一开始我们还是要求现有的每位旅客都搬到房间号码是原房间号码二倍的新房间去,这样奇数号房间再次全部空出来了。现在让客车1的1号座位乘客住到房间3去,客车1的2号座位乘客住到房间32=9去,客车1的3号座位乘客住到房间33=27去,以此类推。换句话说,客车1的座位号为n的客人住进房间3n去。3的任意次幂都是奇数,这就保证了这部分房间都是可以入住的。

每个人都有房间住

那么客车2上面的客人怎么办?下面是容纳他们的办法:客车2的1号座位乘客住到房间5去,客车2的2号座位乘客住到房间52=25去,客车2的3号座位乘客住到房间53=125去,以此类推。换句话说,客车2的座位号为n的客人住进房间5n去。

如何对客车3上的乘客继续进行这种操作呢?3,5是两个连续的素数,而下一个素数是7,所以我们把客车3的座位号为n的客人安排住进房间7n去。7后面的素数是11,所以客车4的座位号为n的客人会住进房间11n去。通常我们把客车m的座位号为n的客人会住进房间pn去,其中p是第m+1个素数。

刚才提到的这部分房间都是空出来的吗?答案是肯定的。所有新客人住的房间的号码都是素数的幂。这里有一个被称为“算术基本定理”的美妙结论,它告诉我们所有的数都可以唯一写成素数乘积的形式

这说明如果房间号x是某个素数的幂,那么它就不会是另一个素数的幂。举个例子,我们知道客车1的客人5将住在房间35=243,这时如果有另一个乘客也被分配到了这个房间,比方说客车2上面的乘客3,那么x就会等于另一个素数的幂,即x=53,而根据基本定理这是不能成立的(因为53=125)。

接下来更进一步。假设来了无限个数的轮船,每艘船上有无限个数的客车,每个客车又带着无限个数的乘客。现在每个乘客有三个数字组合作为编号:轮船编号、客车编号和座位编号。一开始,和之前一样,我们把现有的所有客人调换到偶数房间中。现在设想一个新来的客人,他乘坐的是s号轮船上的第m列客车,座位号是n。和之前一样操作,我们找到第m+1个素数,记作p,然后把它升为座位号n次幂,即pn。接下来是轮船的编号,找到第s+1个素数,记作q,将其升幂,我们就得到

举个例子,来自1号轮船上的第1列客车的座位号为2的客人会被分到的房间号是

按照这个方式数字很快会变得非常大。来自2号轮船上的第3列客车的座位号为4的乘客将入住的房间是

但是如果你试着算一下这个数字,你会发现你的计算器罢工了。不过理论上讲,是有可能将全部客人都安置好的(证明可以戳这里),而且既然我们是在讨论数学,理论总是最重要的。

现在我们解决了按照三层无限个数(无限艘船,每艘船带着无限辆客车,每辆车带着无限个乘客)的客人的安置问题。那我们还能更进一步吗?答案是肯定的。你可以安置按照任意有限层数的无限到来的客人。但是你总是无法处理的是无限层数的无限。不过话说回来,这种情况也不可能会发生。

作者:Marianne Freiberger, Ollie Watkinson

翻译:Dannis

审校:Nuor

原文链接:

https://plus.maths.org/content/hilberts-hotel

https://medium.com/cantors-paradise/hilberts-hotel-you-re-missing-the-best-bit-ff5281b2213b

我们是谁:

MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!

扫描二维码

关注更多精彩

约瑟夫问题与魔术(三)——终极数学推导

每一个魔术,都应该是一场直播的微电影!

一次刨根问底的收获——从一道微积分题说开去

序列周期性与魔术(六)——魔术欣赏与解析续集

《猫和老鼠》里的魔术艺术(五)——一定要合理!


点击阅读原文,往期精彩不错过!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值