庄子曾言:“夏虫不可以语于冰者,不可同日而语也。”这寓意了生命的短暂,难以领略永恒的风景。庄子眼中,生命的维度固然有限,“生之有涯,而知也无涯”,我们不可能以有限的生命去囊括无穷的知识。然而,这并不妨碍人类利用想象力,去勾勒出宇宙的宏大法则,并通过逻辑的筛选,保留那些合理之见。正是凭借这一能力,一些智者便能跃升至知识的更高层面。
如今,我们不妨从“无穷大”这一概念入手,去探索认知的升级之道。
提及无穷大,便不得不谈起数字的庞大。孩童们在嬉戏中常常竞相比较数字的庞大,比如当一个孩子喊出“一百”,另一个便回应“一万”,而“一万”便是“一百个一百”。孩童们心中的逻辑,已悄然预示了无穷大的影子。
不过,当输掉的孩子向家长询问,得知了“一亿”这一数字,他们便又翻盘了。接下来,孩子们可能竞相叠加,直至“一亿亿亿亿亿亿……”,最终肺活量最大的孩子赢得比赛。
然而,当某个孩子回家询问家长后,得知了“无穷大”这一概念,他便可以轻而易举地击败那些喊着一亿亿的孩子们。尽管如此,“无穷大”并非简单的数字,而是一种象征,表示着宇宙间最庞大的量级。
此时,让我们探讨一个基本问题:无穷大是否一个数字?它是否可以视为数轴的尽头?在数学上,它与某个特定的大数是否等价?
这些看似基础的疑问,即便是大学里的高等数学学习,也未必能给予明确的答复。在大众的心目中,无穷大似乎不过是数字中的一个,只是它远超我们的想象,我们习惯性地用理解特定数字的方式去理解它。然而,无穷大的世界,与我们所熟悉的日常世界,在本质上截然不同。
事实上,直到现代,人类才开始真正理解无穷大的哲学意义。1924年,数学巨擘希尔伯特提出的旅馆悖论,迫使我们重新审视无穷大的奥秘。他所描述的悖论情境如下:
假设一家酒店拥有无限多的房间,每间都已客满,这时有人前来询问能否安排住宿,老板自然只能婉言拒绝。然而,在无穷多房间的旅馆中,情形可能大不相同。尽管所有房间已满,但老板仍有法子“挤出”一间空房。
他可以将1号房间的客人安置到2号房间,2号房间的客人则搬至3号房间,以此类推,1号房间便成了新客人的“容身之所”。这样的操作,即便是十人、八人前来投宿,旅馆依然可以轻松应对。
于是,悖论出现:既然每个房间均有人入住,如何又能容纳新的客人?然而,这并非数学上的矛盾,只是与我们的直观感受相悖。在我们的直觉中,满客即无法再容纳,但在无穷大的世界中,这样的等价性并不成立。数学的诸多逻辑,在无穷大的维度里,需重新审视。
例如,在有限的世界中,一个数加1即不再等同于原数,但在无穷大的世界中,无穷大加1仍旧是无穷大,就如同旅馆悖论中的投宿问题一样。
因此,在希尔伯特旅馆悖论提出之后,全球的数学家们不得不重新在无穷大的框架内,验证所有的数学结论,以寻找可能的漏洞。
至于在无限多房间的旅馆里,不仅可以容纳有限个新客人,甚至可以容纳无限多的新客人。那么,当无限个客人投宿时,应该如何操作?解决办法如下:将原住第1间的客人移至第2间,第2间的客人迁至第4间,第3间的客人迁往第6间……以此类推,便能空出无穷多的房间接待新客。
无限集合与有限集合的性质截然不同。对于有限房间的旅馆,其偶数号房间数量总是少于总房间数。而在无穷多房间的旅馆中,偶数号房间数量与总房间数相等。
以5厘米和10厘米长的线段为例,我们发现两者上的点是“一样多”的。证明过程如下:
将图中10厘米长的线段置于5厘米线段之上,并平行放置,连接两端,交于S点。接着,将10厘米长线上的任意点X与S相连,便可在5厘米短线上找到对应点Y。由此可知,长线上的任一点,在短线上都能找到对应点。
因此,短线上的点不应少于长线上的点。故在无穷大的世界中,我们可认为10厘米线段上的点数与5厘米线段上的点数“相同”。
进而,不同类型的无穷大,如整数、10厘米长线段上的点数能否比较?答案是可以。一根极短线段上的点数,比所有有理数的数量都多,前者的基数大于后者。这或许有悖直觉,但结论确凿无疑。
至此,我们便可回答最初的问题:“无穷大是否一个特大的数?”答案是,它并非一个具体的数,不同于万亿、googol数(10的一百次方)等。它是动态的,反映着无限增长的趋势,不同的无穷大会因变化趋势的差异而大小不一。
理解无穷大的真谛,在于把握它描述的是动态变化最终极的景象。实际上,无穷大(以及随后将介绍的无穷小)代表了一种新的世界观,促使我们关注动态变化的趋势,特别是在发展进程中不断延伸的情形。
无穷大世界的这些特性,或许会让你重新审视自己的认知。这并不是说原先的认知有误,而是我们的认知在庞大的宇宙面前,宛如夏虫,受限于生活的狭小空间。这也是我们提倡通识教育的原因,因为这有助于我们迅速突破认知的局限。
当然,有同学可能会质疑了解无穷大世界的现实意义。实际上,它的意义重大,在此我举一个具体的例子。
我在《谷歌方法论》中讨论了计算机算法的衡量标准。假设有三个功能相同的算法,分别为A、B和C:
算法A需执行100,000*N次运算;
算法B需执行N^2次运算;
算法C需执行N次运算。
哪种算法最佳?
多数人可能会认为C算法最优,A和B算法则视情况而定。如果N<100,000,则算法B更佳,否则A算法胜出。例如,当N为20万时,A算法相当于10万20万次运算,B算法相当于20万20万次,故B更佳。
然而,在计算机科学中,衡量两个算法的复杂度时,仅关注当N趋近无穷大时的情形。这是因为它关注的是,随着问题复杂性的增加,每种算法所消耗的资源(如计算时间)的增长趋势。据此,B算法的计算量显然最高。
至于两种算法在复杂度上只差常数倍,在计算机科学上则被认为是等价的。对于计算机科学家而言,将一个算法从平方的复杂度降低到线性,是捡到西瓜般的大事,而将一个线性复杂度的算法的计算量再减小几倍,则是捡芝麻的小事。
总结要点:
首先,通过希尔伯特旅馆悖论,我们明白生活在有限世界的人们,难以想象无穷大的世界,在那里,许多规律与有限世界截然不同。例如,无穷大的世界里,部分可以与整体等量齐观。
因此,我们不能以有限的认知去理解无限的事物,亦不能将有限经验的结论放大至更大的场景。例如,有人因受骗而得出“世上无一好人”的结论,便陷入了以有限认知理解无限事物的误区。
接下来,我们强调了无穷大并非一个静止的巨大数字,而是一个动态的、不断扩张的变化趋势,希望通过这一概念,提醒大家以动态的眼光看待世界。
至于无穷大的现实意义,我们通过计算机科学中的算法复杂度例子,阐明了量级的差异比同量级内的几倍差异更为重要。在工作中,我们应优先考虑量级的提升,而非专注于“捡芝麻”式的琐碎改进。
热门跟贴