前言

前言

三个婚礼和一个葬礼

如何看懂封面上的那些人,那些事

大约在 80 年前,第一台计算机诞生,但计算机科学史并不是从这里才开始的。为了将人类的思想用程序编写或仿真出来,我们必须能够理解、拆解、分解它。换句话说,在计算机语言中,为了能够将思想编写成代码,首先必须能够将其解码!不得不说,早在古代,人们就希望能分析思想。在数学和逻辑学各自围绕着本领域的标志性思想家逐渐发展的时期,作为当今计算机科学的基础的各种原理、规则和概念就开始萌芽了。其中两位伟大的思想家就是柏拉图亚里士多德。正如你在封二上的计算机科学史简图中看到的那样,计算机科学的历史也是人类梦想结合数学和逻辑学这两大相近分支的历史。在 13 世纪,神学家、马略卡岛上的传教士雷蒙·吕勒第一次阐述了这一梦想。但是,莱布尼茨才是这一梦想的忠实追随者。这位德国哲学家自问,这两门学科为什么自古以来就一直在并行发展?况且,二者显然是为了同样的目的——数学家和逻辑学家一样,都在试图建立不容置疑的真理,他们不断与推理错误斗争,希望树立一个正确思维的规律。

这种想把两种现有的思想结合起来,从而形成第三种思想的愿望是一种常见的创新机制。匈牙利记者兼学者亚瑟·库斯勒将这种“碰撞”(因为总是碰撞出来的)称为“异类联想”(bissociation),也就是说,将人们司空见惯的两个常见事物组成一个前所未有的新事物。

今天,我们知道莱布尼茨的梦想恐怕永远不会实现了,因为“真正的”和“可论证的”永远是两个截然不同的东西。但是另有三种异类联想,它们虽然不那么充满雄心和壮志,但事实证明是成果斐然的,而且还重新构建了人类的历史:笛卡儿调和了代数与何学,英国逻辑学家布尔结合了代数和三段论,美国工程师、麻省理工学院的克劳德·香农将二进制计算与电子继电器进行了异类联想。

如此一来,计算机科学史自然而然成了三个“婚礼”和一个“葬礼”1 的完美故事。让我们仔细看看这其中的细节。

1在美国喜剧电影《四个婚礼和一个葬礼》中,男主人公就是因为经历了四次婚礼和一次葬礼而与女主人公相识、相爱的。(本书脚注大都是译者注,原注会另作标注。)

笛卡儿与解析几何

在中世纪,阿拉伯数学家的思想抵达西方。西方语言中的“算法”(algorithm)一词就源于阿尔·花拉子米的名字。重要的是,阿拉伯数学家提出了一种全新的数学方法。自古埃及2 和柏拉图时代以来,几何学在西方数学中占主导地位,然而,阿拉伯人却热衷于阐释代数的基本概念和优点。

2据大量史料研究证明,西方几何学是古埃及人在丈量土地时发明创造的。

在阿拉伯数学的概念体系中,数学家们还发明了数字“零”。古罗马人竟然没有将“零”整合到自己的数字系统中,这实在不可思议!那么,他们又是如何将ⅩⅩⅩⅤ和ⅩⅤ相加的呢?如何向人们解释这两者相加的结果是 L ?3 我们还是别把话题扯远了。

3XXXV、XV 和 L 分别是罗马数字 35、15 和 50。因此对于古罗马人来说,计算的难点在于要解释清楚为什么字母组合 XXXV 和 XV 相加的和是字母 L。

幸好,笛卡儿发明了由 x 轴和 y 轴组成的坐标系,成功地调和了几何学和代数,于是,这一坐标系被命名为“笛卡儿坐标系”4。笛卡儿的几何代数被命名为“解析几何”,解析几何至今仍然是人们建立一条曲线模型的绝佳工具。自此以后,一个圆既可以用图形描绘出来,也可以用方程 x^2+y^2=r^2 表示。而且,两种表达方式丰富了彼此的意义。

4笛卡儿坐标系是直角坐标系和斜角坐标系的统称,传说是笛卡儿在生病卧床时,偶然看到屋顶墙角的蜘蛛网,继而联想到了发明坐标系。

笛卡儿的成果及其对数学的热情激励了一些天才去探索未知的土地。在他们当中,有三个人也出现在我们的历史简图中。

第一位是伽利略,他在很多领域都取得了革命性进展。首先,伽利略用意大利语写书,而在他之前,没有任何西方科学家敢于舍弃知识界众人习惯使用的拉丁语。伽利略甚至在写作风格上进行了创新,以哥白尼论点的支持者和反对者之间的对话形式呈现了自己的理论。其次,伽利略擅长使用实验仪器,这又是一个打破常规的大胆之举!自古以来,知识形态与技艺对立、科学家与工匠对立,只有工匠才会“弄脏自己的双手”,因为他们需要动手实际操作。这是一个悠久的传统。如同安德烈·维萨里决定用手术刀来证明盖伦的错误一样 5,伽利略用天文望远镜证明,亚里士多德也错了。

5盖伦是古罗马时期最著名的医学家,其医学及解剖学理论曾长期支配着西方医学世界,但维萨里勇于挑战盖拉的权威,并使用解剖工具亲自解剖验证,为学生们演示操作,从而纠正了盖伦的部分错误观点。

伽利略的运气很好,通过观察金星、木星卫星的运动周期及其他一些现象,他终于以无可辩驳的方式证明了哥白尼是正确的。伽利略曾说过:“数学语言是上帝用来书写宇宙的文字。”无疑,他已经自视为柏拉图的追随者了。

{%}

第二位是布莱士·帕斯卡。这是一位生活经历相当丰富的人物,他在多姆山筹划的实验证明了大气压强的变化,他写就了著名的《思想录》,他帮助做税务工作的父亲打造了第一台计算器,还在巴黎建成了第一个公共交通系统!

在帕斯卡丰富多彩的经历之中,最让我们感兴趣的是他创建概率论的故事。事实上,帕斯卡对亚里士多德的“目的论”提出了质疑,并假定很多事件纯属偶然。但更重要的是,帕斯卡打算将这个偶然性计算出来!帕斯卡将这一新学科命名为“随机几何学”,并证明,如果同时投掷两个骰子,只有 11/36 的机会能至少出现一个 66。简而言之,帕斯卡建立了规则,在给定一个原因的条件下,能够计算出某个给定结果的概率。

6也就是说,如果同时投掷两个骰子,一个掷出 6 而另一个不为 6 的概率为 10/36,掷出双 6 的概率为 1/36,因此至少掷出一个 6 的概率为 11/36。

不久之后,一位好奇心极强的英国牧师托马斯·贝叶斯决定以另一种方式提出疑问。他想知道,如果给定一个结果,那么产生该结果的原因的概率是多大?换句话说,如果掷骰子掷到一个 6,那么骰子被动了手脚的概率是多大?

当然,戈特弗里德·威廉·莱布尼茨的伟大梦想才是本书所讲故事的奠基石。将数学和逻辑学进行异类联想?这位德国哲学家相信,这是有可能的。相传在讨论过程中,如果与对话者产生了分歧,莱布尼茨就会说:“那好吧,让我们来计算一下!”

除此之外,莱布尼茨与牛顿同时独立建立了微积分的基础,也就是无穷小的方程。二人并未就此交换过意见 7。于是,莱布尼茨最终证明无论阿基里斯前进了多少,他也永远追不上乌龟 8。过了 2000 年,芝诺终于等到了比自己更强的人。

7数学界在“到底是谁发明了微积分”这个问题上存在争议,因为牛顿和莱布尼茨几乎在同一时期各自创立了微积分。但是,二人创立的微积分理论其实都不严格。

8阿基里斯是古希腊神话中的英雄,他十分擅长跑步。假设阿基里斯和乌龟赛跑,他的速度为乌龟的 10 倍,而乌龟在其前面 100 米起跑,他在后面追,那么阿基里斯永远不可能追上乌龟。这是著名的“芝诺悖论”中的例子,古希腊数学家芝诺提出了运动“不可分性”的哲学悖论。

乔治·布尔与二进制

莱昂哈德·欧拉曾住在哥尼斯堡(现在的加里宁格勒)。这座城市围绕着两座岛而建,岛与岛之间被七座桥连接。这位数学家尝试用不同的走法,希望能够恰好通过每座桥一次后,再回到起点,但他所有的尝试都失败了。从失败的沮丧中,欧拉萌生了对拓扑学、网络学的兴趣 9

9这就是 18 世纪著名的古典数学问题“七桥问题”。

欧拉不仅是一名数学家,他对逻辑学也很感兴趣,因此,他在我们的历史简图中也占有一席之地。欧拉创立了一种图形表示方法,通过重叠的圆来解决“三段论”——在图中河流右侧的石碑上刻着三段论的理念,我们后面将详细讨论这个问题。欧拉的圆在今天被称为“文氏图”10。这再次印证了“斯蒂格勒定律”11,任何科学发现都没有根据其最初发现者的名字而命名!

1019 世纪英国数学家约翰·维恩发明的表示集合或类的草图。

11又名“名字来由法则”,是美国统计学家史蒂芬·斯蒂格勒提出的定律,指出科学发现或定律的命名最终大多归功于后来更有名望的科学家,而非其原发现者或创始人。

康德也曾住在哥尼斯堡。他在逻辑学和数学领域没有做出什么决定性的贡献。康德没有真的将逻辑学和数学等学科看作有用的课题项目。他不是写过“亚里士多德的逻辑是一门完备的科学”吗?当然,这里面包含着谦虚的意味,但对于康德这样一位天才来说,如此缺乏洞察力,着实令人惊讶。

但是,康德在我们的故事中尚有一席之地,至少出于以下两个原因。首先,在他的著作《纯粹理性批判》中,事实上,康德尝试颠覆作为主体的“我们”和在我们周围的客体之间的关系。这一大胆尝试让心理学等全新研究领域一下子成为可能,并且,我们后面将会看到它对新兴的计算机技术的影响。

此外,康德曾说过,为了完成这个“哥白尼式革命”,必须有一个空间的先验概念。简而言之,康德认为,如果我们能够感知一个客体,是因为这个客体是属于空间的,并且,客体所在的这个空间是欧几里得创立的欧氏几何空间。

我们把乔治·布尔置于历史简图的中心,这并不是巧合,因为他恰好处于两个世界的交汇处。他推动了莱布尼茨的梦想。同时,为了将亚里士多德的三段论和代数进行异类联想,换句话说,为了找到“推理的方程”,布尔发明了二进制编码,使得验证论据就如同证明定理一样成为可能。

布尔最初的想法很简单。人们用算术完成加法和乘法,用逻辑讨论“或”和“与”,那么,为什么不尝试把上述两种方法结合起来呢?假设有两个彼此相交的集合,其中一些元素只属于两个集合中的一个,即为逻辑或,而另一些元素为两个集合所共有,即为逻辑与。例如,如果有两个集合,一套木制品和一套乐器,那么木棍只属于前者,小号只属于后者,而小提琴则同时属于两者。逻辑或类似于加法,因为我们考虑到两个集合之和。于是布尔开始思考,两个集合的共有部分会不会有一点相当于乘法?

他的研究最终得到了方程 x^2=x,而这个方程仅在 x 等于两个值时才能成立,即 0 和 1。如此一来,二进制运算比计算机技术早诞生了整整 100 年!

从计算机科学发展史的角度来看,布尔虽然在亚里士多德的逻辑中发现了两处错误,却反而因此强化了亚里士多德在历史上不可动摇的地位。这有点难以置信,但无论如何,万变不离其宗……

但在我们的故事中,布尔也标志着逻辑史的终结(见第一部分)。

香农与信息论

1931 年,保险丝终于烧断了。库尔特·哥德尔公布了他的“哥德尔不完备性定理”。在这个定理中,哥德尔证明了“真实的”和“可证明的”是两个截然不同的东西——莱布尼茨的梦想将永远不会实现。于是,伯特兰·罗素利用这次“冲击波”颠覆了整个逻辑学,顺便处理了一个困扰了众人 2000 多年的问题。身为克里特人的埃庇米尼得斯曾经表示:“所有克里特人都是骗子。”12

12这就是著名的“说谎者悖论”。在公元前 6 世纪,克里特哲学家埃庇米尼得斯说:“所有克里特人都是骗子。”但他本身就是克里特人,如此一来,如果这句话是真的,那说明埃庇米尼得斯也在说谎,如果这句话是假的,那说明埃庇米尼得斯是个骗子,因此,这句话形成了一个悖论。

伯特兰·罗素是一个时代的象征。当他出生的时候,伦敦还没有电力,当他去世的时候,尼尔·阿姆斯特朗已经在月球上漫步过了。这位英国贵族在思想上有远大的抱负,而且行事果断。关于亚里士多德,他只写道:“三段论的逻辑从头到脚都是错误的,而剩下少许没出错的地方也没什么用。”在这一点上,他是对的。当时,罗素与自己的老师阿尔弗雷德·诺思·怀特海全心投入撰写一本名为《数学原理》的宏伟巨著。告别命题逻辑,迎来关系逻辑。而在这一过程中,诞生了新的术语,正如历史简图中河岸边的路标所提示的那样:对于任意一个 x,存在一个 y\forall~x~\exists~y)。

{%}

但是,这场冒险并没有取得圆满成功,路德维希·维特根斯坦指出了一个问题:语言存在逻辑上的缺陷。维特根斯坦是罗素在英国剑桥大学的门生和同事,同时也是反驳者。我们在第二部分将详细探讨这一逻辑问题。

令人难以置信的是,多亏了克劳德·香农的研究,布尔才真正走出了陈旧的逻辑学大门——第三次异类联想成效显著。

克劳德·香农的名气不算大,即使是计算机领域的专业人士也往往不了解香农给自己的学科带来哪些决定性贡献。这位美国工程师把自己的全部生活都贡献给了麻省理工学院和贝尔实验室。事实上,正是他决定将二进制系统和早期的继电器结合起来,以此实现逻辑功能,建立早期的逻辑回路。而在那个年代,继电器还只是一些灯具!

香农希望奠定“信息论”的基础。正如尼古拉·卡诺用“热力学”将蒸汽机理论化了一样,香农也努力寻找可以用来管理信息的规则和基本概念。他找到了令人惊讶的类比。事实上,他试图优化电报传输,寻求最有效的编码方式,所以,香农提到了“效率”,甚至是“熵”等词语。13

13读者如果有兴趣,请参阅《信息简史》一书。——编者注

黑匣子与黑天鹅

20 世纪的心理学以非常简单的方式连接了两条理论支流,这两条支流分别出现在历史简图主河干流的左右两侧,即认知主义和行为主义。起初,行为主义领导大家反思,他们坚信,通过理解人对精确的刺激所做的反应,就可以知晓人的本质。当诺伯特·维纳开始研究调节和转向机制的时候,这种“黑匣子”理论强烈地启发了他。维纳在 1948 年创立了名为“控制论”的新学科,深入研究了自动化的可能性。之于当今人们梦寐以求的机器人和人造人技术,维纳是其不容置疑的先驱。

在第二次世界大战期间,行为主义逐渐让位给一种全新的人类研究方法。在计算机隐喻 14 理念的影响下,认知主义认为,思想可以被建模,推理可以分解为一系列连续步骤。毫无疑问,阿兰·图灵受到了这种观点的启发,认知主义的这种观点促使他设计出了一台以自己名字命名的虚拟机——图灵机。图灵是考虑人工智能的可能性的第一人。

14计算机隐喻是指把计算机作为人脑功能的一种心理模型,人类心智就像计算机一样运作,人的认知过程与心理活动也是一种“计算”。

你或许注意到了,认知主义的支流从历史简图的左侧流入主河干,而行为主义的支流则是从右侧流入。这并非偶然。因为,对于亚里士多德来说,知识首先建立在经验之上,与此不同,对于柏拉图来说,知识主要建立在理智之上。

在过去的二十年中,计算机科学的发展达到沸点。但正如牛顿所言 15,所有新发展都是站在巨人肩上的前行,上面的故事也说明了这一点,今天完成的种种成就不过是先贤们从古代就开始的研究的延续。

15牛顿曾经说:“我之所以有这样的成就,是因为我站在巨人的肩上。”

计算机科学的未来将会怎样?人们已经开始畅想各种各样的未来情景。在 2008 年 8 月,著名的科技杂志《连线》(Wired)就预言,大数据将导致“科学的终结”!如果用一句话来总结这篇文章的论点,那就是:如果能够积累数量庞大的信息,我们就不再需要方程式,不再需要因果律 16,也不再需要模型,只需要与统计学相关的知识就足够了。

16因果律是指任何一种现象或事物都必然有其原因,任何一种状态都是此前状态积累的结果。

亚里士多德曾说过:“科学知晓原因。”这句话过时了吗?不,对于哲学家诺姆·乔姆斯基等人来说,这句话甚至比从前更具现代意义了。在《哲学杂志》2017 年 3 月的一篇采访中,乔姆斯基重申,科学的核心并不是在统计的基础上建立一个粗略近似的现象。否则,这就好比“我们不再需要做运动,而只需要拍摄大量人们摔倒的视频,然后就可以预测下一个行为了”。此外,“这也像研究数以百万计的正在跳舞的蜜蜂一样,蜜蜂的舞蹈并不能让我们理解它们的语言”。

计算机科学的未来将会怎样?对此,我已经学会了保持谨慎。正如序中提到的,我在 1984 年曾是一名工程师,我几乎阅读了关于计算机学科的所有前沿书籍。我试图思考所有选择:广播式网络与交互式网络、低或高信息流量、模拟信息或数字信息等的可能性。我试着考虑到所有问题,却在一个很重要的问题上失算了——不久,出现了无线电话。今天,人们称这种事件为“黑天鹅”17,即一个貌似不可能发生却非常有影响力的事件。

17“黑天鹅”事件指难以预测的非寻常性事件,一旦突发,通常会引起一连串负面反应,甚至能就此颠覆现有状态。“黑天鹅”存在于各个领域,包括金融、经济、商业以及日常生活。

因此,世间存在许多不确定性,尽管如此,有一件事却得到了确认:莱布尼茨的梦想将永远不会实现。这个梦想会就此变成噩梦吗?有人这么担心是有道理的。在硅谷,人们经常讨论第五次异类联想(也许这是最后一次?),希望将人类和机器融合在一起。但是,现在讨论这一想法的人基本都是技术专家和企业家,我们较少看到人们从社会学或政治角度围绕这一话题进行思考,而从道德上的考虑貌似就更少了。

一切都将发展得越来越快……最终,到底是互联网是我们的工具,还是我们成了互联网的工具?到底是谁为谁编程?谁能够为人类再撰写一部名为《自动化理性批判》18 的书?

18这里影射的是康德的《纯粹理性批判》。

目录

  • 封面插图
  • 版权声明
  • 献词
  • 前言
  • 第一部分 莱布尼茨之梦
  • 从前的数学故事
  • 最美的逻辑故事
  • 有缘无分,只因意气不相投
  • 插曲一 数学的乐趣
  • 第二部分 三座丰碑
  • 托马斯·贝叶斯,真正的互联网巨星
  • 香农证明,如何计算1 + 1
  • 诺伯特·维纳与控制论
  • 插曲 逻辑学的乐趣
  • 第三部分 自动化理性批判
  • 连接互联网,却脱离现实
  • 算法“布鲁斯”
  • 诺查丹玛斯与大数据
  • 全球化管理的重要性
  • 死亡电脑社
  • 人工智能:许多问题之一
  • 后记
  • 附录
  • 答案
  • 参考文献