到目前为止,数学家们能够自身验证任何证明的正确性,但当他们转向用计算机去解决一些长久悬而未决的难题时,除了机器以外没人能够验证解答的正确性。
1976年,美国伊利诺斯大学的两位数学家肯尼斯 · 阿佩尔和沃尔夫冈 · 哈肯解决了四色问题。这个问题起源于1852年,当时英国伦敦大学的一个名叫弗朗西斯 · 古时利的学生观察到要对地图着色使不同的国家相邻处有不同的颜色,似乎用四种颜色就足够了,随后他提出这是否可以从数学上加以证明。此后一个多世纪过去了,虽然人们作了很大的努力,但是没人能够给出一个答案,一直阿佩尔和哈肯才证明了:对!四种颜色足够了。但这种证明似乎并不是古时利提出这个著名的问题时所想象中要求的证明。这不但是由于其部分证明需要用机器来完成,而且其正确性除了借助于计算机之外也无法得到验证。
这种史无前例的在数学证明中使用计算机的方法引起了数学家之间的大量争论,从而提出了一些实际的和哲学上的问题:我们如何知道程序员和机器就不会犯一点儿错误?这些个证明与传统的纸和笔证明有本质的不同吗?有一些数学真理是取决于经验而不是先验地存在的吗?
从那时起,其它一些借助于计算机的证明也陆续问世,关于它们的有效性的争论也一直在继续。“如果没有人能够验证它,一个数学证明能够称为是一个证明吗?”1988年12月的纽约泰晤时报上的一篇文章的标题质问道,这篇文章涉及到阶为10的投影平面的不存在性的证明,这个问题是几何学中有二个世纪历史的古老问题,借助于超级计算机后才得以彻底地解决。什么是用计算机来做的数学证明?什么是一般意义上的数学证明?
1928年,著名的英国数学家乔治 · 哈代以一种相当诗情画意的方式解释了数学证明的本质和目的。他把一个数学家比作是凝视远处群山的一个观察者,他的目的是为了清楚地辨别尽可能多的山峰。很简单,他相信有一个山峰在那里是由于他看到了它,如果他想让其他人也看到它。”哈代说:“他直接指着它,或通过一系列导致他本人发现这个山峰的山顶而最终指向它,当他的学生也看到了它,那么所谓的研究,论证,证明就完成了。”这个粗略的类比说明了一点:就是证明的主要目的是为了使人信服。
一个典型的数学证明是从一些已知的结论到一个新的结论的逻辑推理,这些已知的结论可以是明显成立的公理也可以是一些以前已证明了的定理。大多数书面的证明在几行字到几页纸之间,有一些证明很长,如正式发表的瓦尔特 · 费特和约翰 · 汤姆逊的关于所有奇数阶群都是可解的证明有251页纸,而关于著名的拉马努扬猜想的完全的证明需要大约2000页纸。
传统上,一个证明的出现必需使一个有足够耐心和足够能力的数学家能够验证其是正确的,数学科学中的这个要求就相当于实验科学中的“可重复性”,当然,即使一个证明已经被审验通过了,它还是有可能是错误的,就像由阿尔弗莱特 · 凯姆佩给出的四色定理的证明中的情形一样,阿尔弗莱特 · 凯姆佩是一个律师同时又是伦敦数学会的会员,数学家们于1890年在凯姆佩的证明中发现了一个错误,此时离凯姆佩的证明的发表已11年了,从而使得先前认为已被凯姆佩于1879年解决的四色问题再一次地成为尚未解决的问题。
在20世纪20年代,德国数学家大卫 · 希尔伯特和他的学派发展了一套数学证明的形式理论,在这个体系中,我们首先用形式语言把数学定理表示成为一些表达式,这些表达式至少正式地是不含任何意义的,所以,它们既无所谓真也无所谓假。用一些规定的推导法则我们能够“证明”某些表达式可以从另外一些表达式推导出来。这些“证明”只不过是一些用纯形式方法产生的一系列表达式,只涉及到这些表达式的形式方面。进一步说,给出任何这样的“证明”,从原理上来看要机械化地去验证此证明是否正确是可能的,比如说,我们可以编一个程序让机器去验证它。
希尔伯特的目标如其说是为了用这种方法去做数学研究还不如说是为了建立一个没有内部矛盾的数学体系。但他没有成功,事实上几年后奥地利逻辑学家库特 · 哥德尔指出了任何想去证明数学相容性的企图都是注定要失败的。但形式方法的确抓住了数学的一些基本特征,当今大多数的数学证明都是在一个形式体系中形式推理的结果。
对什么是有效的数学证明这个问题并不是所有的人都有一致的意见,被称为是直觉主义学派的数学家们就长久以来怀疑那些“街头数学家”认为是理所当然的逻辑原则。其中一个原则是“排中律”:给定任何命题P,要么P真,要么它的逆命题非P真,这种直觉主义家的方法排斥了许多在数学主流中常常使用的证明方式。
就关于证明的这个主题,苏联数学家茹利 · 马宁在1977年写道:“一个证明只有在被社会实践接受为是一个证明后才能成为一个证明,这对数学来讲是这样,对物理学、对语言学和对生物学也是这样。”
那么计算机是从哪里冒出来的呢?计算机以多种方法帮助数学家:计算、解题、探索和模拟。画曲线、图形和曲面。在数学真理的证明上计算机也能帮上一忙。所谓“计算机辅助证明”,我们理解为是一些数学定理的一个证明,这个证明包含了计算机产生的证据,这些证据不能像数学家在验证传统的数学证明时用手来加以验证。举个例来说,宾夕法尼亚大学的赫伯特 · 伟尔夫和多伦 · 采尔伯格编了一个程序用来证明一定的组合恒等式。但这些证明并不是我们严格意义上的计算机辅助证明,因为我们能够把计算机的输出转换成一般的纸和笔的证明。简言之,一个证明只有当我们没有其它的选择只有相信计算机的时候,才能够称得上是一个计算机辅助证明。
信任计算机
就像四色问题和阶为10的投影平面不存在性问题的求解,这两个问题在如此长的时间内经过了数学家们所作的努力而未被解决,这个事实说明了光使用传统的证明方法可能是不够的。事实上,为了完成这两个定理的证明而必需加以验证的情形的数量已远远超出了用纸和笔计算能够达到的范围。
就计算机来说,它能够以非常快的速度有效地执行各种指令,所以它能够在数学家的头脑所不能触及的角落里起作用,让我们来查看一下在投影平面问题的解决中计算机所起的作用吧。
一个投影平面只不过是由一固定数量的点和线所组成的一个抽象的几何实体,就最简单的情形而言,一个三角形中三点由三条线相联,这个平面被称为是阶为1的。每个投影平面都有它自己的几何结构,例如,第二个最简单的平面(阶为2)有7个点被7条线相连,而这个平面已经是有点奇怪了,如果你想看一下它如何与传统的欧几里得几何相适合而把它在一张纸上画一下的话,你将会发现其中有一条线是一个圆,每个平面都能够用一个只含0和1的所谓的关联矩阵来描述,每个矩阵满足一定的容易验证的条件,例如在阶为10的投影平面的情形,其关联矩阵必须含有111行和111列,每行必须包含11个1和100个0,而且,最关键的一点是:如果没有满足所有这些条件的矩阵,就没有阶为10的投影平面。
以这种方法,要找一个投影平面就归结为只要能找到它的关联矩阵。然而系统地一个一个地验证所有111乘111种0和1的排列甚至对于一台超级计算机而言也是一项不可能完成的任务。
加拿大蒙得利尔康考迪亚大学的克利蒙特 · 兰姆、拉利 · 士伊尔和斯坦利 · 斯威尔士用理论推导设法将需验证的情形减少到了计算机能处理的范围。他们并且编写了作最终搜寻的程序,使用一种称为“回头搜寻”的算法,计算机从部分华是空的矩阵开始,试着根据一个关联矩阵需满足的条件去填充空白位置,只要程序至少在一个情形上成功了,那么一个阶为10的投影平面就被发现了,然而克莱-1A超级计算机完成了搜寻却并未发现任何关联矩阵,从而三个研究者作出结论:不可能有阶为10的投影平面。
我们可以总结一下说明这个几何实体不存在性的根据:如果存在一个的话,计算机应该已找到了它。面对这样的一个“证明”,首先出现在头脑里的一个问题很可能是:我们如何知道就没有一点儿软件或硬件上的错误?简单的回答是:我们不知道。
如果计算机出错怎么办?
有很多潜在可能出错的根源:错误的输入、程序设计错误、编译程序中没有检测出来的“瑕疵”和硬件错误(就像在计算机内存中数位的随机改变)。要说呢,我们几乎可以肯定有某些错误出现,兰姆承认这一点:“这是一个实验结果,”他写道,“其中总是有错误的可能。”但他继续相当有说服力地辩解道:“存在这样的一个没有被发现的阶为10的平面的概率是非常小的。”
至于不可能去验证这个证明的正确性应该是非常显然的,也许我们能够检查所有的计算机程序(包括编译程序和操作系统),但我们如何保证就没有内部的硬件错误和运算时产生的随机错误呢?就试着用手去模拟超级计算机所作的工作而言,此工作的艰巨超出一般人的想象令人大吃一惊:“计算机以每秒几亿次的运算速度足足搜索了2000多个小时。
即使不能保证错误的不出现,我们也可以间接地得到结果的正确性,比如,用不同的程序和不同的机器独立地进行验证(事实上对四色定理而言这个工作已被加拿大马尼多巴大学的弗兰克 · 阿莱尔所完成)。另外一个这样的检验方法是经受时间的检验,从一个错误的假设我们能够证明任何事情,这是一个简单但基本的逻辑原则。如果四色定理是假的,但被我们认为是真的,我们用它去证明其它的一些定理,其中之一将很有可能与一些早已成立的事实相矛盾,如果没有这样的矛盾出现,这就加强了计算机所得结果的正确性。
无可否认,在证明中计算机的使用给数学家而不是实验科学家带来了一种新的不定的因素,但这与能使用这样一个奇妙的工具相比微不足道。兰姆说道:“就像物理学家学会了与不确定因素相共存,我们数学家也应该学习面对‘不确定’的证明。”
一个中心的议题是关于证明的长度问题,某些数学定理的最短的证明对人类来说要完全地去加以验证也是太长了。公认地,我们不知道这个范畴里是否有任何重要的或有趣的定理。而且,即使命题P有非常长的证明,一个简单的证明可以存在于陈述“有一个命题P的证明”之外。但某些命题(就我们所知,如四色定理)可以没有传统类型的证明,这种可能性是存在的。阿佩尔和哈肯有这同样的看法,我们的四色定理的证明,意味着在数学领域里光使用理论的方法所能达到的境界是有一定限度的。”
如果我们把哈代的类比稍为向前推进一步的话,一个计算机辅助的证明就好比是由一个空间探测器所传送的遥远星球上的一个山峰的图像。我们的观察者可能以不可靠的和第二手的证据为理由拒绝接受这个电子的影像。但他必须知道,即使我们没有事实上确确实实地看到它,一个山峰照样可以是存在在那里的。
现实中的数学家们当他们面对一个计算机所作的证明时,陷于同样的困境之中,他们可能延迟接受此结果,直到有一天某人提出一个更短的证明,一个他们能够亲自加以验证的证明为止。但他们领悟到这样的一个证明可能是不存在的。而且,如果他们拒绝接受此“间接”的证据,他们将冒脱离只有用非传统的方法才能处理的数学真理的风险。
根据马宁的观点,在证明的概念中隐含有一个时间的因素。他说道:“一个‘证明’被理解为是一个‘使用现时被接受的方法的证明’。如果举一个例子来
说,我们引进了一套新的集合论的公理,而且被广泛地接受,那么证明的概念就变得更宽广了。”
[据New Scientist,1991年2月]