哲学和数学从柏拉图时代起就进入了理性时代。但尚处在萌芽状态的数学,却即将面临一场巨大的危机。

只有经历这场危机的洗礼,数学这门新生学科,才能真正化茧成蝶,蜕变为人类最重要的工具。

打开网易新闻 查看更多图片

01无理数的发现

事情要从毕达哥拉斯学派说起。

由于毕达哥拉斯学派认为万物皆数,追求事物的和谐,将任何量看成两个整数之比,因此在毕达哥拉斯学派的数学中允许有理数的存在。以几何线段为例,两条线段之外一定存在第三条线段,可对前两条线段完美细分,即第三条线段的长度就是前两条线段的共同单位,也即前两条线段的长度是可通约的。

然而这一结论出现了一个意外情况,正方形的对角线和其边是不可通约的。在一个等腰直角三角形里,弦的平方等于其每一边平方的2倍。那么当边长为1时,弦有多长呢?现在我们知道,这个长度是一个无理数 √2,但是在毕达哥拉斯时代,从未遇到过这种情况的古希腊人对此极度恐慌。

据说是毕达哥拉斯的学生希帕索斯最先发现这个问题。发现这个问题的时候希帕索斯正和毕达哥拉斯学派的其他成员在一条船上,他拒绝否认√2 的存在,而这将摧毁几乎整个毕达哥拉斯学派的核心理论和信念,世界不再是和谐的。

因此在极端的恐慌下,可怜的希帕索斯被其他毕达哥拉斯学派的成员捆绑起来,丢入无垠的大海,被汹涌的波涛吞没。希帕索斯可能是历史上第一个为坚持数学真理而献身的人。

打开网易新闻 查看更多图片

我们知道毕达哥拉斯学派发现了形数的存在,他们对于数的最早的认知都是用小石子一个一个摆出来的,由此就不难理解为何毕达哥拉斯学派起初就认定了数学的基础是整数,以及为何如此难以理解不可通约的无理数的存在,并视其为大不敬——他们无法理解不能由整数构造出来的数,必然会认为其违背了自然的规律。

对于√2 和1是不可通约的证明收录于《几何原本》第十卷的附录27,这是一个极其简洁漂亮的归谬法证明,简单描述如下:

打开网易新闻 查看更多图片

√2 可能是古希腊人发现的第一个无理数,但随后更多的无理数被发现,尤其是在建筑的设计中,古希腊人崇尚的美学让他们不断增加几何多边形的边数,直到突然发现不能再增加了,而这个过程就伴随着新的无理数出现。比如,在边长为单位1的正六边形中,较短的对角线长度为 √3。而古希腊人喜爱的黄金比例,也是一个无理数。

种种迹象表明,从毕达哥拉斯学派开始,新发现的无理数给古希腊人带来尴尬和恐慌。这次数学上的尴尬、信仰上的恐慌,史称“第一次数学危机”

在算术中无法解释这些不可通约量的存在,于是古希腊人将这些量从算术比率中抽离出来,构造出几何的量。几何可以使用推理作为工具处理一个像

这样的线段,而算术处理不了。通过几何对象的逻辑关系,代数上无限不可分的性质被回避了。这促成了从算术到几何的转变,而这一转变又恰恰是从数的计算向演绎推理的转变。

《几何原本》记录了伟大的古希腊数学家欧多克索斯如何用几何思想回避不可通约量,巧妙地完成了诸多定理的证明。此外,《几何原本》第十卷专门总结了对不可通约量的计算,古希腊数学家泰阿泰德做出了主要贡献。欧多克索斯用来处理不可通约量的定义,在2000多年后被18世纪德国数学家理查德·戴德金采纳,用于精确地定义无理数。欧多克索斯的定义方法也被阿基米德称为“欧多克索斯公理”,在《几何原本》第五卷中给出了其关键定义:

“如果其中一个量超过另一个量,这两个数的大小能够用比来表示。”

用这个定义可以比较不同的可通约量或不可通约量。比如,可证明 √3 > √2 或 2 > √2。

欧多克索斯继续做出定义:

“有4个量,第一量比第二量与第三量比第四量叫作相同比,如果对第一量和第三量取任意等倍数,又对第二量和第四量取任意等倍数,而第一与第二倍量之间依次有大于、等于或小于的关系,那么第三与第四倍量之间便也有相应的关系。”

这段话有点拗口,用现代的代数学表述更好理解,这段话的意思即:

比例 a∶b=c∶ d,对一切正整数 m 和 n 有:

打开网易新闻 查看更多图片

巧妙的是,这个定义里没有要求比较的是相同类型的量,也就是说 a 和 b 可能是长度,c 和 d 可能是面积。欧多克索斯以强大的洞察力,将深陷不可通约性泥潭一个多世纪的古希腊人拯救出来。就这样,古希腊人回避了无理数带来的尴尬,却也错过了建立实数分析的机会。

这一错过,就是2000多年。

02芝诺悖论:无穷之辩

无理数的出现已经触碰到了无穷的问题:一个量可以被无限分割下去吗?

而古希腊时期的另一个哲学家芝诺,则提出关于时间和空间无限分割的4个问题,其与人们对世界的直觉感受相悖,被称为芝诺悖论。

芝诺悖论通过对无穷的诡辩,进一步将“第一次数学危机”推向高潮。

芝诺是古希腊南意大利的爱利亚人,出生于公元前约490年,他是古希腊哲学家巴门尼德的学生。

根据柏拉图在《巴门尼德篇》里的描述,芝诺身材魁梧,仪表堂堂。

第欧根尼·拉尔修的《著名哲学家的生平和学说》记载了作为哲学家和政治精英的芝诺,曾密谋推翻僭主暴君的独裁统治,事发被捕后,他因遭受痛苦折磨而死去。

据说芝诺死得很悲壮,面对僭主拷打他时的问题:“明白哲学教会你什么了吗?”芝诺轻蔑地回答:“视死如归!”

根据柏拉图的记载,芝诺提出悖论是为老师巴门尼德的学说辩护。巴门尼德和芝诺都不认同米利都学派、毕达哥拉斯学派关于“世界是运动的”的学说,他们认为万物是静止的。芝诺由此提出了4个悖论,以证明万物是静止的。原文都已遗失,现在看到的芝诺的观点都来自亚里士多德在《物理学》中的论述。

芝诺的第一个问题是“二分法”。芝诺认为运动不存在,理由是位移事物在到达目的地之前必须先抵达路程的一半处。“要走完一段路程,必须先走完一半路程,然后再走完剩余一半路程的一半,依此类推,这些一再两分的一半路程是为数无穷的,而走完为数无穷的路程是不可能的,因此走完全程是不可能的……随着运动的进行,每走完一半路程,就先计一半数,因此得出一个结论:如果要走完全程,就必须数无穷多的数,而众所周知这是不可能的。”

打开网易新闻 查看更多图片

芝诺的第二个问题是“阿喀琉斯与乌龟”。阿喀琉斯是荷马史诗《伊利亚特》中希腊联军的英雄,英勇善战,善于奔跑。芝诺辩称善跑的阿喀琉斯追不上一只乌龟,因为阿喀琉斯必须首先跑到乌龟的出发点,但在阿喀琉斯到达这一点时,乌龟又往前爬了一段路程,阿喀琉斯继续追,乌龟继续爬,如此往复。因为乌龟不是停止不动的,哪怕再慢也一直在移动,因此阿喀琉斯永远追不上乌龟。

芝诺的“二分法”和“阿喀琉斯与乌龟”本质上是一样的问题。在中国古代,庄子曾经提出过类似的诡辩思想,在《庄子·天下》中有“一尺之棰,日取其半,万世不竭”的说法。

芝诺的第三个问题是“飞矢不动”。芝诺认为,飞行的箭是静止不动的。如果把箭和标靶之间的距离(时间和空间)无限分割下去,那么箭在无限分割的每个时空里总是处于静止不动的状态中,而且箭要通过的时间和空间也无穷多,所以箭永远到不了标靶上。要理解芝诺的观点,我们可以想象一部电影的胶片,播放时看起来是连续的,但分开看都是一帧帧的静止画面,芝诺的想法是让这样的静止画面有无穷多个。在《庄子·天下》中也有“飞鸟之影未尝动也”“镞矢之疾,而有不行不止之时”的说法,和芝诺的“飞矢不动”悖论如出一辙。

芝诺的第四个问题是“运动场”。跑道上有两排物体,大小相同,数目相同,一排从终点排到中间点,另一排从中间点排到起点,它们以相同的速度做相反的运动。芝诺认为,一半时间和全部时间相等。

亚里士多德对芝诺的4个悖论都进行了反驳。

对于“二分法”和“阿喀琉斯与乌龟”,亚里士多德认为芝诺犯了一个错误,在《物理学》中,亚里士多德反驳道:“他主张一个事物不可能在有穷时间里通过无穷的事物,或者分别和无穷事物相接触。须知长度和时间被说成是‘无穷的’有两种含义,而且一般来说,一切连续事物被说成是‘无穷的’都有两种含义:分割上的无穷,或者延伸上的无穷。

因此,一方面,事物在有穷的时间里不能和无穷的事物相接触,另一方面,却能和分割上无穷的事物相接触,因为时间分割后本身也是无穷的。因此,通过一个无穷的事物是在无穷的时间里而不是在有穷的时间里进行的,和无穷的事物接触是在无穷数的而不是在有穷数的‘现在’上进行的。因此,既不能在有穷的时间里通过无穷的量,也不能在无穷的时间里通过有穷的量;而是:时间无穷,量也无穷,量无穷,时间也无穷。因此,经过一定的时间可以越过一定的距离。”

对于“飞矢不动”,亚里士多德认为,“这个结论是因为把时间当作由‘现在’合成而得出的,如果不认定这个前提,这个结论是不会出现的……因为时间不是由不可分的‘现在’组成的,正如别的任何量也都不是由不可分的部分组成的那样”。

对于“运动场”的悖论,亚里士多德的看法是,“这里错误在于,他把一个运动的事物经过另一个运动的事物,和以相同速度经过相同大小的静止事物所花的时间看作相等的,事实上这两者是不相等的”。今天,我们用牛顿的运动观点很容易解释芝诺的这个问题,运动是相对的,相向运动的物体速度要乘以2。而牛顿要在芝诺出生之后将近2000年才出生,所以芝诺认真地提出问题,亚里士多德必须认真地回答。

芝诺提出的4个悖论,涉及时间与空间表示的问题,在数学上又深入了无穷的领域,涉及连续性、极限、无穷等问题。时间与空间是物理问题,无穷是数学问题,物理问题与数学问题交织在一起,成为最深刻难解的问题,困扰着人类对宇宙的认知。此后,数学家试图从无穷的角度解释芝诺悖论,物理学家试图从时间与空间的角度解释芝诺悖论。在任何一条道路上如果有突破,都会取得巨大的进步。历史上每个时期都有学者在反驳芝诺,而每个学者都觉得他们有反驳的必要,这就是芝诺悖论最大的成功。

如果按照牛顿的思维范式反驳芝诺,应该是“时间和空间是绝对的,因为不可切割”。如果按照爱因斯坦的思维范式反驳芝诺,应该是“时间和空间是一体的,切了空间也就切了时间,切了时间也就切了空间;如果非要切,请以光速来切”。

从数学史上看,三次数学危机都与芝诺悖论涉及的无穷概念有关。

伯特兰·罗素曾说:“从芝诺时代到我们今天,每一代最杰出的知识分子都反过来攻击这类问题,但宽泛地说,一无所获。然而,在我们所在的时代,3位杰出的人物,魏尔斯特拉斯、戴德金和康托尔,不仅推进了对这些问题的思考,而且完全解决了它们。这些解释,对于熟悉数学的人来说,是如此清晰以至于不再有任何疑问或困难。在无穷大、无穷小和连续性这3个问题当中,魏尔斯特拉斯解决了无穷小的问题,其他两个问题的解答由戴德金开始,最后由康托尔完成。”

第一次数学危机涉及的无理数概念,等到19世纪建立严格的实数理论后才完美解答。

第二次数学危机本质上源于微积分对于无穷小概念的滥用,等到18世纪建立极限的概念、19世纪数学严格化后才完美解答。因为到那时才能借助求导和极限的数学概念清楚回答芝诺的二分法和阿喀琉斯悖论。无穷个无穷小相加并非等于无穷大,而是存在一个极限。飞矢悖论则可以用瞬时速度或者导数的定义来完美解答。

第三次数学危机由对“无穷大”概念的探索引起,涉及数学的基础,至今尚未完全解答。但是在解答过程中建立了集合论。二分法和阿喀琉斯悖论实际上也是相关集合是否完备的问题。芝诺尝试证明“运动不存在”,提出的悖论用现代数学来表述,就是“如果运动存在,那么就存在无穷集合;因为无穷集合是荒谬的,所以运动不存在”。

为了应对无穷是否存在的问题,亚里士多德提出将无穷分为“潜无穷”与“实无穷”两种。潜无穷是变化发展的过程,能够接近,但不必达到。而实无穷是将无穷视为一种实在,比如,自然数列{1,2,3,4,…}。如果将其视为一个永远在增长的没完没了的数列,那么是潜无穷的观点;如果将其视为一个整体,所有自然数都囊括在内,则是实无穷的观点。在毕达哥拉斯学派,无穷是恶的,有穷是善的。到了亚里士多德时代,则明确禁止对实无穷的使用。他不认为线段是由无穷多个点组成的,但承认“潜无穷”,认为无穷只是潜在的存在,是在变化发展的过程。

直到17世纪,伽利略在他的《两门新科学的对话》中嘲弄了这种说法。他说,当一条直线是直的的时候,你声称它只是潜在包含了无穷多个部分,但如果把线段弯成一个圆的时候,你却把所包含的无穷多个部分变成了实在的东西。但无论如何,亚里士多德对实无穷的禁令,统治了人类的思想2000多年之久,直到19世纪才由德国数学家康托尔打破。

有了对无穷的初步理解,我们可以回过头来再看看引发第一次数学危机的罪魁祸首,史上的第一个无理数 √2。它还有其他的展现形式,如果将其写成连分数,那么有如下的等式:

打开网易新闻 查看更多图片

这种无理数 √2的连分数形式,非常好地用有穷形式表达了无穷特征,同时也给出了一种 √2的计算方法。但它还有更简洁的写法,如果令:

打开网易新闻 查看更多图片

那么有:

打开网易新闻 查看更多图片

如果用现代数学知识来解释,则这是一个递归过程,对它的计算是不断在调用自身的定义。从这个等式也可以看出,在对无穷的计算中,“整体等于局部之和”不再适用。有文献表明,这种计算 √2的方法,已经为柏拉图时代的数学家们所掌握。

17世纪法国哲学家笛卡儿曾说:“无穷可以被认知,但无法理解。”无穷问题的诡异之处就在于它是反直觉的。我们再看一个反直觉的无穷悖论,它由汤姆逊提出。

有一盏电灯,用按钮来控制开关,把灯拧开1分钟,然后关掉半分钟,再拧开1/4分钟,如此往复。每次的时间都是这个序列中前次的一半。这个序列的结束时间恰好是2分钟。现在问题来了,在这个序列结束后,电灯是开着的还是关着的?如果电灯是开着的,则计数是奇数;如果是关着的,则计数是偶数。

这是一个可以让人发疯的思想实验,它等价于在问自然数列最大的数是奇数还是偶数,但它的本质和芝诺的二分法悖论没有区别。

如果用潜无穷的观点看,我们根本就得不到这个数,因为无限分割的过程只存在于潜在中,永远是尚未发生的状态。

如果用实无穷的观点来看,则根本无须关心最终结果的数,而只需将整体拿来运算。

这里的陷阱是,不管我们采用哪种无穷观点,我们都得不到最终结果的数。这是一个思想实验,因为现实中根本构造不出这样的实验。在物理构造中,电灯必然会在某一精度达到物理极限值,即时间或空间上的极限值,从而得到结果。

这告诉我们,不能基于真实操作的观念去看待无穷的概念,无穷的作用是概念性的,是基于计序操作的概念性创造。

到了近代,哲学家和数学家们才终于对芝诺悖论给出了一个相对合理的说法。

18世纪德国哲学家黑格尔在《哲学史讲演录》的“芝诺篇”中解释了悖论产生的根源。黑格尔认为,芝诺所论述的连续统(时间、空间和反映时空本质的运动连续统)都具有“点积性”和“连续性”的双向性结构物。点积性与连续性是互相否定的,点积性表明了元素之间的区别性,而连续性恰恰抹杀了点与点的区别性,甚至无视点的单独存在性。连续统本来就是连续性与点积性相互结合的产物,而芝诺对其概念强行拆分,抛弃了实际存在的连续性,只考虑抽象出来的“点积性”,悖论就产生了。黑格尔这段话是一种哲学基础,很像量子力学中的波粒二象性。

20世纪初,法国的布尔巴基学派在数学的基础问题上提出了结构主义,认为整个数学基于3种母结构:序结构、代数结构和拓扑结构,不同数学对象都是由这3种数学结构混杂在一起得到的。他们认为实数集同时具备这3种数学结构,既有比较大小的序结构,又有由算术运算(加法和乘法及其逆运算)定义的代数结构,最后还有由极限理论(规定了某些点必须在另一些点的附近)定义的拓扑结构。实数系统是一个“完备有序域”,是由这3种结构交汇而成的,具有有序性、稠密性和完备性。

在过去,数轴经常用来形象化地表示实数,但数轴实际上是一种图像概念化的产物,它引入了直觉上超出以上3种结构的东西,因此通过数轴对实数进行表达往往会引起一些误会。19世纪末戴德金关于无理数的研究告诉我们,有理数虽然处处稠密,但是无法覆盖整个数轴,实数轴上充满了孔隙,这些孔隙是运算所不能达到的无理数,是纯想象之物,因此稠密性不等于连续性。实数轴代表的其实是一种序结构,序结构是一种完全静态的结构,序操作给出的是两个点之间必有一个中间点,点之间的次序是靠序的比较运算实现的,点其实根本动不起来。

从人的直觉来看,点的移动形成了线,这是一个错误的说法。芝诺提出的问题,恰恰默认了这个假设前提。但从数学上来说,点和线是完全不同的数学概念。用布尔巴基学派的结构主义解读“连续”,马上就能看出芝诺悖论的逻辑问题。线是拓扑结构,点在直线上的排布是一种序结构,无法代替线的“线性”拓扑结构。线是基于开集定义的拓扑结构,有无限小的线度存在,但再小,它也依然是线,是基于邻近意义的拓扑结构,而不是基于度量意义的序结构。线之所以连续,是因为线具有非“点性”的“线性”。基于序结构只能得出本质是离散的结论,这就是芝诺悖论在尝试将运动进行概念化时犯的错误,点的移动无法组成线,它只是一种运动的表象。

这里完全没有任何线存在的迹象,芝诺悖论在数学上得到的其实是离散的结构,不依靠对运动的想象,点是动不起来的。而这种想象的直觉是需要从数学上排除的冗余信息。

打开网易新闻 查看更多图片

以上摘自吴翰清新作《计算》!转自博文视点,[遇见数学]已获转发授权。

打开网易新闻 查看更多图片

计算已经成为人们生活中不可或缺的组成部分,人类社会享受了计算技术的红利得以飞速发展。可以说当今的计算机科学和产业应用的成就是人类文明有史以来所有智慧的结晶。
解释、澄清和发展“计算”这一重要概念,即本书之写作目的。
本书从探索数学的起源开始,细数了数学史上三次危机的来龙去脉,逐渐引出计算理论的诞生和发展,以及这些过往是如何影响当今计算机科学最前沿方向的。
最后本书从哲学层面探讨了计算的边界,将其视为人类需要继续探索的未解之谜。
本书横跨了人类近3000年的文明史,综合了数学、哲学、物理学、计算机科学、人工智能、复杂系统科学等多门学科,呈现出一种独特的计算主义的世界观。