吴文俊:机器证明中的“吴方法”
在“文革”期间,关肇直在思想上给了我非常大的启发。关肇直经常说,如果你的根子是在外国,数学上再扎根外国、追随外国,那就要经常去外国,甚至就留外国。但是如果做不到,你又怎么办呢?关肇直提出“要立足国内”,他不仅提出这个思想,而且身体力行,创造了“关肇直道路”。
当时国内很多数学家都在思考一个问题:中国数学将如何进步?中国数学处于劣势,怎么样把劣势转变成优势呢?
这个问题怎样解决?要创新,做开创领域的工作,这是最重要的创新。要开拓属于我们自己的领域,创造自己的方法,提出自己的问题。
在动荡年代中的经历和摸索,包括“大跃进”和“文革”,我接触了许多与拓扑学完全不同的东西,尽管研究不停地被迫中断,但我对数学的认识和理解有了很大的变化。
文革时期,我学习《毛泽东选集》,也从中得到许多启发。毛泽东有一句话叫“你打你的,我打我的”,我觉得这话说的非常好。结合数学研究,就是你国外干你国外的数学,我在国内寻找我的道路、方法。那个时候我已经研究了一段时间的中国古代数学,得到一种启示:不必照西方的道路走,而是走另外一条道路。
1971年,搞“三个面向”,面向农村、学校和工厂,那时到工厂叫“向工人阶级学习”,于是我就到了北京无线电一厂下厂劳动。北京无线电一厂当时正在给阿尔巴尼亚生产一种模拟型混合计算机,这是我第一次看到计算机,我看他们演示,输几个数,按几个键,一个微分方程的结果和曲线就出来了,太厉害了,使我大为惊讶。
我选择了做机器证明,从几何定理的机器证明这个方向突破。 这项研究是从1976年冬天开始的,那一年“四人帮”垮台了,人们对将来寄予希望。
我开始做机器证明的想法也有外部的影响。那个时候我阅读了很多外国的文章,我充分了解了机器证明这个东西。外国有许多讲机器证明的,但都是失败的。失败的经验也是很重要的,它告诉你哪些路是走不通的。
我觉得我有办法,外国人没办法,我有办法!
我对几何定理机器证明有自己明确的想法,但需要验证。那时我没有计算机,只有一条路:自己用手算!我当计算机。用“吴氏计算机”验证。
为验证我方法的可行性,“吴氏计算机”证明的第一个定理是费尔巴赫定理。证明过程涉及的最大多项式有数百项,这一计算非常困难,任何一步出错都会导致以后的计算失败。那些日子里,我把自己当做一部机器一样,没有脑子的只会算,一步一步死板的算,第一步第二步第三步······,算了多少记不清了,算了废纸一大堆,算的很苦。下苦功夫倒没什么,麻烦的是要找出毛病所在。到后来真正抓住了毛病出在哪儿,这是要靠你平时的数学修养。那是相当艰苦的一段经历。
1977年春节期间,我首次用手算成功的验证了我的机器证明几何定理的方法。我非常振奋,接着又用手算验证了其它几个有名的几何定理,也成了。我知道我这个方法对了!真高兴,这是关键的一步。我的儿子吴天骄做了件挺好的事儿,我当年手算的那些手稿没有专门整理保留,天骄把我准备当作垃圾扔掉的一些东西都留了下来,其中找出了我当初用手算验证吴方法的几页手稿,现在看来是很珍贵的。
要开展更进一步的研究工作还是得有台机器,我最初用过一台长城203,是北京无线电一厂出的。那时的计算机很“笨”,除了功能极简单之外,最麻烦的是人机“交流”问题。它只认识一种打了孔的黑色纸带,还要通过专用的光电读取设备读进去,这样机器才会干活。而这种打孔的纸带只有专业人员会打。我在长城203上证明了西姆松定理。
后来我从数学所借了一台HP25型袖珍计算器,可以放在口袋里面,已经“聪明”一些了。我用它检验过中国古代数学的求解三次方程的数值解法,最难的题目做到过求最高至五次方程的数值解。
我的第一台“正式”的计算机是我到美国买的,是个台式计算机,经费是当时中科院党组书记李昌批的,一共两万五千美金。
那时我都是自己编程序。我一直坚持自己编程,自己上机,一直到八十年代末期。有人问过我,为什么不让年轻人来做?我说,都让别人做,自己不做,就没有“感觉”了。
在58岁时,也就是常说的近花甲之年,我从零开始学习编写计算机程序,自己上机。我学过好几种编程语言,最早是汇编语言,后来有了高级语言。我用Basic编写了四五千行的证明定理的程序。过几年Basic被淘汰,换成Algol语言,又得从头学。等我熟悉了,不知道什么时候,Algol没有了,变成了Fortran,又得再来。哎呀,苦不胜言。
我的方法非常成功,许多定理一下子就证出来了,当时国外有人验证时能达到微秒级,在国外相当轰动。我的机器证明方法是我的一个学生周咸青介绍出去的。当时机器证明在国外都不成功,我的方法一下子就成功了。周咸青把我的方法介绍过去,用他们的机器做,取得了很大的成功。美国人守信用,都非常正派“出口转内销”,他们写信给国内的一些领导同志,比如方毅,这样我的这项工作在国内的影响也大了起来。
(节选自《走自己的路——吴文俊口述自传》,吴文俊先生口述,邓若鸿、吴天骄先生的访问整理。)
该文由院士文库团队整理