前言
个大于1的整数,像3,5,17,或31等不能被1和本身之外的其他整数整除的数?早在古希腊人的时代就知道素数是无穷尽的,但是没有一个人知道孪生素数——成对的素数,如3和5,相差2,它们是否也是无穷尽的。没有人知道是否存在无限多的完全数,像6一样等于它所有因子(当然除去它本身外,即3,2和1)之和的整数。而且没有人知道一个完全数是否是奇数。匈牙利伟大的数论家保罗·厄尔多斯是一个证明素数基本定理的大师——他在18岁的时候,就提出了著名的论证:在每个大于1的整数和它的倍数之间一定有一个素数——他认为,数学家们还远远没有理解整数,更何况其他类型的数。他说:“至少还得再过100万年,我们才可能理解素数。”
在数学上,对形状的理解也远远不够。在二维方面,关于什么形状可以在一定条件下用砖瓦贴盖表面的问题还有许多疑难未解之处。在三维的砖瓦贴面模拟中,形状的填充要尽可能使给定的空间密集,这对于许多基本形状来说仍悬而未决。但是,缺乏理论知识未必总是实用主义者的拦路虎,设计师罗纳德·雷施制造出三层半的复活节彩蛋就是明证。
由于有关数字和形状的基本问题仍未解决,因此对计算机——一种复杂的数字工具——能做什么和不能做什么常常众说纷纭,并出现一些混乱状态,这不足为怪。我尽量避开那些关于人和机器的本质的含糊不清的形而上学问题,便于向人们展示人们所不了解的关于计算的理论局限性方面的问题。我要讲述图灵通用计算机的惊人之处——分成若干单元的一条纸。我要考查一种可能出现的局限性:计算机科学家认为,他们将能够证明某些仅仅在探索阶段的计算问题——包括旅行推销员在一连串的城市之间要选择的最短路线的问题——从来没有被计算机(或数学家)有效地解决。从理论转移到实践,我特意检验了汉斯·伯林纳和丹尼·希尔设计的对弈机和通用计算机,使“三个臭皮匠,顶过诸葛亮”的构想走向极端。要知道这些努力的整个结局如何还为时过早,但这两种机器的性能在某些领域,已经超过了传统计算机。
从根本上说,旅行推销员问题无疑是数学问题,可是实际上已证明,用传统的数学方法解答它是无效的。在这本书里,我将介绍一种出现在设计选举系统或分配代表的问题中的类似的解决办法。从绝对意义上说,数学对这些问题是毫无帮助的。的确,数学证明了,它对开创一个完善的民主选举制在理论上无益,尽管缺乏完善的民主体制,但数学为公正的选举制和国会的公正分配方法指出了道路。
传说阿基米德是在一时的愤怒之中设计出一个关于牧牛的极其困难的数字问题。他的报复一直持续了22个世纪,直到1981年,使用刚诞生的一台巨型计算机才彻底解决了这一问题。牧牛的问题多少有些编造的味道。但是,面对阿基米德的报复,一代代数学家所感受到的挫折常常类似于那些比较自然地出现的较简单的数学问题所造成的报复。这种数学本身造成的报复看来还没有迹象会消退。
一个令人惊奇的宗教学生,
解出了无穷大的平方根,
这使他对计数烦躁不宁,
他终于放弃了数学又继续学神。
——无名氏