超越无穷大:一次跨越数学边界的冒险之旅
上QQ阅读APP看书,第一时间看更新

2 希尔伯特旅馆实验

数学可以被想象成很多事物:一门语言、一种工具、一个游戏。当你努力做家庭作业或者准备考试的时候,它可能不那么像是一个游戏。但是对于我来说,做研究最令人兴奋的一个阶段就是开始一个新的项目的时候。因为在这个阶段,你可以针对不同的观点进行有趣的尝试。这有点儿像在厨房里尝试不同的调味品。这比之后你努力记下发明出来的配方以免第二次做出来的味道不一样要有趣得多。当然,这比努力记下配方以免别人无法复制出来更加有趣。

所以作为开端,我会介绍一些关于无穷的有趣的观点,借此我们可以活跃一下我们的头脑,探索一下哪些关于无穷的观点可能是正确的,而这些观点的推论又是什么。数学的基础是通过逻辑理解事物。我们会发现,当我们对于“无穷”的理解不精确的时候,逻辑会把我们带到我们不曾设想的奇怪地点。数学家们往往会尝试从不同的视角来感受什么可能是正确的或者错误的。当乐高最初被设计出来之前,设计者一定尝试过很多不同的模型,而后才定稿完成最终的美妙设计。

一个数学家的“玩具”应该像乐高一样,足够强大,能够用来搭建事物,同时足够灵活,能够用来尝试不同的可能性。如果我们关于无穷的模型让一些基础概念出现了矛盾,那么我们就必须回过头去重新审视我们的模型。在最初的游戏之后,我们可能会多次回到我们的模型面前,因为我们会发现我们对无穷的思考可能引发了各种各样的问题。当我们最终得到了一个牢固的逻辑的时候,我们所完成的模型可能会和最初的想象完全不同。这同样会带来一些我们之前不曾预期的结果。比如,一个奇怪的事实就是,无穷可能有很多不同的“尺寸”。换言之,一些事物会比另外一些事物“更加无穷”。这正是所有旅程的美妙之处——发现一些不曾预期的事物。

在之前的章节中,我列出了一些关于无穷的基本观点,比如:

无穷会永远持续下去。

这是不是意味着无穷是一种时间、空间,或者长度呢?

无穷比最大的数字还要大。

无穷比我们能想到的任何巨大的事物都更大。

现在,无穷又有点儿像一种尺寸了。或者,它也许是一种更加抽象的事物——一个数字,我们可以用这个数字来测量时间、空间、长度、尺寸,甚至任何我们想要测量的事物。接下来,我们会将无穷当作一种数字做进一步的研究。

无穷加一,它还是无穷。

换言之,

∞+1=∞

这看起来更像是关于无穷的基本原则。如果无穷是最大的事物的话,加上一并不会让它变得更大——真的是如此吗?如果我们在等式两边都减去无穷呢?如果我们用大家熟悉的消除法,在等式两边都消除无穷,那么等式就变成了:

1=0

这简直是一个灾难。一定有什么地方出错了。而下面的说法会导致更多的错误结果。

无穷加无穷,它还是无穷。

这看起来好像是说,

∞+∞=∞

也就是说,

2∞=∞

现在,如果我们将两边都除以无穷的话,那么等式就变成了:

2=1

这成了另外一个灾难。现在,你几乎能猜到我们在思考最后一个观点的时候会发生什么。

无穷乘以无穷,它依旧是无穷。

如果我们把这句话写成一个等式的话,就是:

∞×∞=∞

如果我们在等式两边都除以无穷的话,就相当于在等式两边各去掉一个无穷。等式就变成了:

∞=1

这可能是所有结果中错得最离谱的一个。无穷代表着最大的事物,肯定不会是1这么小。

到底是什么地方错了呢?问题就在于,我们像处理一个寻常的数字那样处理无穷,而我们并不知道是不是能这样处理它。我们在这本书中将会首先学到的事情之一就是无穷不是什么。我们会发现无穷肯定不是一个寻常的数字,继而渐渐了解无穷可以是什么。这个旅程花费了数学家几千年的时间,其中牵涉数学领域的很多重大的发展,集合论和微积分就是其中很好的例证。

上面的故事的关键在于,虽然无穷的概念很好建立,但是我们必须非常小心地处理它,否则就会发生相当奇怪的后果。而这些都仅仅是开胃小菜。我们接下来会看见各种各样的伴随无穷发生的奇怪的事物,比如事物的无穷集合、有无穷个房间的旅馆、无穷双袜子、无穷条路径、无穷多的点心。其中一些奇怪的发现就像“1=0”一样,不仅仅奇怪,而且让人不满意。所以我们需要自己构建数学模型来避免这些情况。但是,也有其他一些奇怪的事物并不违背逻辑,它们仅仅是违背常理。这些奇怪的事物并不会给我们的逻辑带来问题,却会挑战我们的想象力和思维方式,就好像科幻小说作家所塑造的那些拥有无穷生命、永生不老的人,或者拥有无穷的速度,能够瞬间移动的人一样。

拥有无穷多房间的旅馆

当我们开始教孩子们数字的时候,我们总会给他们一些实物帮助他们思考,或者我们会在他们吃一些可计数的食物时,教他们怎么计数,又或者,我们会教他们数自己吃了几勺子食物。

如果我们想要一勺一勺地数,一直数到无穷的话,那得花费非常多的时间。事实上,我们下面要介绍的几个例子确实有一点儿从一一直数到无穷的意味在里面。但是在做这些事情之前,我们还是先看一个已经是无穷的例子——一个拥有无穷多房间的旅馆。

想象一下,一个旅馆里面有无穷多个房间,房间的编号是1、2、3、4……直到无穷(见图2-1)。

图2-1

现在假设你是这个旅馆的经理。你面对的情况是每个房间都住了客人,而你正沉醉在你所赚到的钱里面。这个时候,另外一个客人走了进来,要求开一个房间。一方面,旅馆已经住满了。另一方面,如果你能让每一个客人都往后挪一个房间的话……

这个有无穷多个房间的旅馆被称作希尔伯特旅馆。德国著名数学家戴维·希尔伯特使用这个栩栩如生的例子来描绘你开始思考无穷时可能遇到的问题。一个正常的旅馆只会有有限的房间,住满了就是住满了。面对下一个客人,你根本就没办法安排,除非搭一个临时建筑。然而,在一个拥有无穷多个房间的旅馆中,你可以让1号房间的客人搬到2号房间,让2号房间的客人搬到3号房间,让3号房间的客人搬到4号房间,以此类推,我们总是能让n号房间的客人搬到n+1号房间。因为我们有无穷多个房间,每一个n都有一个对应的n+1,所以每一个客人都有一个对应的新房间。这么做的话,1号房间就空出来了,新的客人就可以入住了(见图2-2)。

图2-2

这看起来是一个悖论,但是论证过程并没有漏洞。唯一的问题就是这个结论与人们的直觉不相符。我们怎么能在已经完全住满的旅馆里再安排下一个客人呢?这和我们的直觉相悖的唯一原因就是我们太习惯于有限的旅馆了。当我们严肃地思考无穷,而不是模糊地想象无穷的时候,我们必须准备接受一些可能会显得有点儿奇怪的事物,甚至是看起来非常奇怪的事物。这也正是无穷的美妙之处。

我们想要做的是把“无穷”这个概念融入普通的数学中,而不改变其余的逻辑。就像科幻小说中永生不老的往往只有一个人,其他所有人都是有生老病死的普通人一样。一些奇怪的事情可能会发生,但是我们并不想因此而毁掉关于这个世界的一些基本事实。言下之意就是,我们并不希望因为将无穷和数学交织起来研究而发生“1=0”这样的事情。但是也许仍会有一些奇怪的新事物出现,就像这个拥有无穷多房间的旅馆一样。

希尔伯特旅馆并不会挑战现有的数学逻辑,它挑战的仅仅是我们关于旅馆的直觉。这个例子开拓了我们的眼界,让我们意识到,在无穷的情况下可能会发生的奇怪逸事。

如果来了更多的客人呢?

如果来了第二位客人呢?很简单,我们可以让每个客人都多往后挪一个房间。现在,原来住在1号房间的客人搬到了3号房间,原来住在2号房间的客人搬到了4号房间,原来住在n号房间的客人搬到了n+2号房间。这就是数学的世界,我们不需要考虑搬房间所带来的麻烦,我们只要开开心心地知道每个客人都有房间住就好了。

如果这两位客人同时到达,我们可以从一开始就让所有的客人都往后挪两个房间。当然,如果是三位客人同时到达的话,我们可以让每个人都往后挪三个房间。以此类推,只要是有限数量的客人同时到达,我们都可以用这种办法安排(见图2-3)。

如果有无穷多的客人同时到达怎么办?我们不能让每个客人都往后挪无穷个房间。虽然这个方案听起来好像有点儿道理,因为我们有无穷多个房间。但是让我们考虑一下某位特定客人的具体情况,比如1号房间的客人。这位客人要搬到哪个房间去呢?“1+∞”号房间?这肯定不行,因为这就不是一个房间号。我们确实有无穷多个房间,但是每个房间还是有一个有限的房间号的。所以并不存在“1+∞”号房间,让1号房间的客人搬到“1+∞”号房间就等于这位客人还是没有地方可以去。如果我们不能告诉客人们他们应该搬到哪个房间去的话,那么我们就卡住了。

图2-3

所以我们不得不表现得更加聪明一点儿。(处理数学问题经常需要我们更加聪明,这也是数学看起来很难的一个原因。)我们可以让每个客人都去房间号是原来房间号两倍的房间。这样,1号房间的客人就去了2号房间,2号房间的客人就去了4号房间,n号房间的客人就去了2n号房间。(见图2-4)这样就空出来无穷多个房间。我们怎么会知道这样能行呢?我们知道本来已经入住的客人都已经搬到双倍房间号的房间了,所以他们现在全都住在偶数号的房间里。换言之,所有奇数号的房间都已经空出来了,而这样的房间有无穷多个。

图2-4

事实上,我们可以写一个指导手册来告诉每位客人在不同的情况下他们接下来的房间号是什么。但是这个单子将会非常长,完成它花费的时间也会非常多。所以一个简便的办法就是我们可以写一个公式。使用公式的好处就是可以避免花费过多的精力写一个过长的清单。下面就是这个指导手册的简化版:

原来就已经在店里入住的客人:如果你住在n号房间,请搬到2n号房间。

新来的客人:如果你是第n号客人,请入住2n-1号房间。

现在,每个人都知道自己的房间号了。我们可以再检查一下,保证不会出现两个人被分配到同样的房间的情况,除非客人在计算的时候出现了问题。

你可能会注意到,这种情况只有在新来的客人已经排了队的情况下才能成为现实。否则,不守规矩的客人就会扭作一团,上演数学版的房间争夺大战。新来的客人必须按照编号顺序排队才能到达他们被分配的房间。因为现在情况变得复杂了,所以我们之后将会花点儿时间讨论一下队列的问题。

如果旅馆不止一层呢?

现在让我们假设我们的旅馆有两层,每一层都有无穷多个房间(见图2-5)。1楼有房间1、2、3、4……,2楼也有房间1、2、3、4……(更常见的编号方式是1楼有房间101、102、103、104……,2楼有房间201、202、203、204……,但是现在我们先不考虑这个问题)。

图2-5

如果这个旅馆起火了呢?现在,我们需要把所有的客人都转移到马路对面的只有一层的希尔伯特旅馆(这个旅馆刚好完全是空的)。这也不是什么难题。我们可以让原本住在1楼的客人把自己的房间号乘以二然后减去一,这样这些客人就分别去了1号房间、3号房间、5号房间、7号房间……,就像上一个例子中讲的新到的客人一样。接下来,我们会让原本住在2楼的客人都把自己原本的房间号乘以二,就像上一个例子里面原本就已经在店里入住了的客人一样。这些客人会住进2号房间、4号房间、6号房间、8号房间……(见图2-6)。

图2-6

从某种程度上讲,我们已经把“无穷×2”位客人装进了“无穷”个房间里。从数学上看,这和把新到达的无穷个客人安排进已经住满了的无穷多个房间的旅馆是一样的。

这个原则也可以应用到起了火的三层希尔伯特旅馆。唯一的不同就是,这次我们需要把“无穷×3”位客人安排进“无穷”个房间。所以我们需要把原本的房间号乘以三(见图2-7)。

原本住在1楼的客人需要把自己的房间号乘以三,然后减去二。那么他们就会住到1号房间、4号房间、7号房间、10号房间……

原本住在2楼的客人需要把自己的房间号乘以三,然后减去一。那么他们就会住到2号房间、5号房间、8号房间、11号房间……

原本住在3楼的客人需要把自己的房间号乘以三。那么他们就会住到3号房间、6号房间、9号房间、12号房间……

你可以想象一下,所有的客人按照他们原本的楼层排成了3列长队。然后你按照他们排队的次序安排房间,依次安排每个队伍的第一个人入住新房间。这里,你必须注意留好同一层客人入住房间的号码间隔,稍有不慎,你就没有足够的房间安排所有人了。

图2-7

像前面说的一样,我们可以为此写一个指导手册。正确的写作方式应该是下面这样的:

原本住在1楼的客人:如果你的房间号是n,那么请搬到3n-2号房间。

原本住在2楼的客人:如果你的房间号是n,那么请搬到3n-1号房间。

原本住在3楼的客人:如果你的房间号是n,那么请搬到3n号房间。

如果我们先安排所有原本住在1楼的客人的话,我们就会说:

原本住在1楼的客人:如果你的房间号是n,那么请搬到n号房间。

但是这样一来,我们是不是就没有房间安排原本住在2楼和3楼的客人了?

是的,已经没有了。因为每一个房间n都已经被原本住在1楼n号房间的客人占据了。这就是为什么我们要么得按照楼层顺序轮换安排客人,要么得在安排1楼的客人的时候给2楼和3楼的客人预留下房间,而不能先把1楼的客人按照原本的房间号安排进旅馆。

我希望你能够按照这个逻辑处理更多楼层的情况(见图2-8)。

图2-8

但是如果有无穷层楼呢?现在,我们把希尔伯特旅馆想象成一座摩天大楼,楼层有第1层、第2层、第3层、第4层……,每个楼层都有1号房间、2号房间、3号房间、4号房间……。我们可以把这个建筑想象成“无穷乘以无穷”(见图2-9)。

图2-9

如果这一回是这座摩天大楼起火,我们是不是就无计可施了呢?我们能不能把这栋摩天大楼里的客人转移到只有一层的希尔伯特旅馆呢?也许在现在的情况下,只有一层的希尔伯特旅馆看起来已经成了一个相当普通的概念。当我们一次又一次地锻炼我们的头脑的时候,就会出现这样的情况:原本非常令人诧异的事情变成了普普通通的事情。这标志着我们已经更加聪明了。

回到正题,你可能觉得这次的情况有点儿无望了,因为我们不能让每一个人都“把自己的房间号乘以无穷”,然后再减去点儿什么东西。我们也不能依次安排每一列楼层队列的第一个人了,因为如果我们这样做,就会发生下面的情况:

原本住在1楼1号房间的客人搬到1号房间

原本住在2楼1号房间的客人搬到2号房间

原本住在3楼1号房间的客人搬到3号房间

原本住在n楼1号房间的客人搬到n号房间

把每个楼层1号房间的人安排完之后,一层的希尔伯特旅馆就客满了。因为每一个n号房间都已经被原本住在n楼1号房间的客人占据了。

然而,我们并非完全没有办法。我们需要变得更聪明一点儿。问题的关键还是让大家排起队来。但是,这次我们让所有的客人按照对角线的方式排队(见图2-10)。

图2-10

如果我们从左下角开始,按照对角线的方式排队,我们还是能够把每一个客人都安排到新的房间。这次的安排方式无法像前几次那样用一个简单的公式总结,我们用一个图形来表示(见图2-11)。

图2-11

一个指导每位客人应该去哪个房间的指导手册的文字描述需要像下面这样写:原本住在k楼n房间的客人搬到……房间。你可能可以根据上面的图总结出一个公式来,但是我觉得在这次的情况下,用图来表示会更加清晰一些。

顺带一提,我们关于希尔伯特旅馆的讨论包含了下面这个奇怪的事实:偶数的个数和所有数字的个数一样多。因为当你让每一位客人都把自己的房间号乘以2的时候,你就用偶数房间号的房间安排下了所有的客人。而我们将一整层的客人安排到奇数房间号的房间的事实也说明奇数的个数和所有数字的个数一样多。按照这个逻辑,如果我们有无穷多的钱的话,我们能表现得极为博爱——我们可以把无穷多的钱捐给慈善机构而自己仍然剩下无穷多的钱。我们需要做的就是把银行里的每一块钱中的偶数号捐给慈善机构,自己留下奇数号。但是这显然不太现实,因为银行里的钱并没有编号,有的只是一个总数。但是我们可以转一块钱到慈善账户,再转一块钱到自己的个人账户,然后再转一块钱到慈善账户,再转一块钱到自己的个人账户。这做起来有点儿慢。所以你也可以一次转一亿元到慈善账户,再转一亿元到自己的个人账户,以此类推。但是,你需要一直不停地这么做下去。

受到成功完成这个几乎不可能完成的任务的鼓舞,你可能会觉得你现在可以把任何旅馆的全部客人转移到仅有一层无穷多房间的希尔伯特旅馆里了。然而,事实并非如此。如果你有另外一个更加疯狂的旅馆,旅馆的房间编号包括所有的有理数和所有的无理数(“你好,我在π房间”),那么我们可能就真的被打败了。所以,事情的关键在于“可数性”。我们接下来就会开始接触这个概念。在第6章,我们会看到一个令人脑洞大开的事实,即,有一些无穷比另外一些无穷要大。

无穷令人着迷的一点就是你总会在无意间撞见这个概念,而且总会无意间撞见围绕着这个概念发生的神奇的事情,但是要搞清楚这些事情背后的原因则非常困难。我们现在知道,一个有无穷多的房间的旅馆和“常规”的旅馆非常不一样。我们还知道,我们不能像处理“常规”的等式那样处理涉及无穷的等式。看起来,无穷好像不是一个“常规”的数字,那么它到底是什么?数字看起来是数学的基石,但是数字到底是什么?有很多的道理我们认为是理所当然的,但是我们从来没有思考过它们的本质是什么,数字就是其中之一。如果我们想要宣称无穷不是一个数字的话,我们最好先搞清楚数字是什么。你可能会很诧异地发现数学家竟然花了如此长的时间来搞懂数字的本质。人类虽然并不清楚数字是什么,却还是毫无障碍地使用了它上千年的时间,你可能也是如此。有鉴于此,你可能会觉得弄清楚数字的本质是一件毫无意义的事情。那么,难道说数学家在做这件事情的时候是非理性的吗?

事情是这样的。常规的整数是不难理解的。即便你将常规的数字扩展到负数和分数的领域,也不是什么大问题。问题出现在分数与分数之间这个领域,也就是无理数,此时事情就开始变得难以捉摸起来。不明白整数是什么不是什么大问题,但是不明白无理数是什么就成了问题。在移除这个障碍的过程中,微积分出现了,而微积分极大提升了过去两个世纪里科学、医药学和工程学领域的精确度和人们对其的理解。而为了更好地理解这些无理数,我们需要更好地理解所有的数字,包括最基本的数字。我们需要将地基打好,如此才能在其上构建坚固的建筑。如果地基不稳,那么除了回头去重新打好基础之外,我们别无他法。