第一个意识到计算的巨大潜力的人——莱布尼茨,受中国文化影响发明了二进制?

博文视点Broadview

共 37529字,需浏览 76分钟

 ·

2024-06-17 18:23

👆点击“博文视点Broadview”,获取更多书讯


--文末赠书--

几何学的发展带来了演绎数学,代数学的发展以及计算工具的出现,逐渐让人类摆脱了算力的束缚。

但是如果仅仅把计算看作统计繁杂数字的工具,就太小看计算这一深奥的学问了。

对计算的终极追求可以上溯到17世纪,莱布尼茨是第一个意识到计算的巨大潜力的人,也是他第一次系统化地提出了计算的终极梦想。

17世纪在科学史上是牛顿的时代。牛顿上承伽利略、培根和笛卡儿,把科学实验、分析还原、逻辑和数学等几大工具融为一体,通过力学三定律和《自然哲学的数学原理》(简称为《原理》)一书,开创了近代科学的新时代。

牛顿创造性地用数学来解释物理原理、推导自然规律,极大地颠覆了当时人们的认知,也影响了此后数百年的科学发展。在17世纪到18世纪,一门学科只需要先完成数学化,剩下的问题交给数学来推理就可以了。

人类对世界的认知从此往前迈进了一大步,数学成为人类认知自然最重要的工具。追溯其源头,牛顿的《原理》一书的巨大意义不容忽视。

大多数人之所以熟悉莱布尼茨,更多是因为他和牛顿谁先发明了微积分的争论,鲜有人知莱布尼茨同时也是数理逻辑之父。正是他的创造性思想,影响了后人,最终使得今天的计算机成为可能。但只因他和牛顿生在同一时代,光芒被牛顿掩盖。这不由得令人感慨:既生瑜何生亮?




数理逻辑的创立


戈特弗里德·威廉·莱布尼茨1646年7月生于德国的莱比锡。

他在数学、哲学、法律、管理、历史、文学、逻辑方面都做出过重要的贡献,是真正的全才。

在此我们仅关注莱布尼茨在逻辑学方面的贡献,因为正是他发展了承自亚里士多德的逻辑学,开创了数理逻辑,奠定了现代计算机的基础。下图是莱布尼茨的画像。

莱布尼茨出生于一个官员家庭,祖上三代都在萨克森政府任职,因此从小受到了良好的教育。

莱布尼茨6岁那年失去了父亲,尽管如此,生前在莱比锡大学担任伦理学教授的父亲,仍将自己对历史的浓厚兴趣传给了莱布尼茨。

莱布尼茨的童年是在父亲的藏书室度过的。在这里他博览群书,8岁学习了拉丁文,12岁学习了希腊文,从而能阅读大量历史、文学和哲学方面的古典图书。

13岁时,莱布尼茨尚在中学,就试图改进亚里士多德的逻辑学。他从很早就开始思考逻辑学的问题。1666年20岁的莱布尼茨成为法学博士。

1666年是牛顿的“奇迹年”。在这一年,牛顿发明了微积分和万有引力。但牛顿只是将他的微积分—流数法记录在未公开发表的论文里,只有极少数几个好友知道。这为几十年后的大论战埋下了隐患。同样是在这一年,莱布尼茨写出文章《论组合术》,首次提出了关于“推理计算”和“普遍字符”的很多重要想法。这些想法未来将成为计算梦想的源头。

莱布尼茨生前的大部分著作并未发表,今天仅从公开的部分著作和文章来看,莱布尼茨被誉为数理逻辑的创始人名副其实。

著名逻辑学家肖尔兹曾说:“人们提起莱布尼茨的名字就好像谈到‘日出’一样。他使亚里士多德的逻辑开始了新生。”莱布尼茨继承了亚里士多德的古典形式逻辑哲学,同时进一步发展了逻辑理论。他最大的贡献在于用数学化的思想来处理古典形式逻辑。数理逻辑又称符号逻辑,正是莱布尼茨出于计算的目的将逻辑符号化,并提出一整套的思想,后人才能通过努力最终构建出数理逻辑(符号逻辑)的大厦。

亚里士多德是西方逻辑之父,他的学说经历了中世纪的发展后,始终处于不可动摇的权威地位。但是到了莱布尼茨的年代,亚里士多德的逻辑理论突然成为众矢之的。他不仅丧失了权威地位,还受到了学术界的普遍抵制。

亚里士多德的三段论受到来自英国经验主义的强烈攻击。培根宣扬三段论是“害多益少”,因为“它只能强迫他人同意命题,而不能把握事物”。洛克则认为“三段论顶多是用少量的知识进行诡辩的一项艺术,它丝毫不能增加我们的知识”。大陆理性派的笛卡儿则说道:“亚里士多德的三段论对于那些发现真理的人来说毫无价值……它唯一可能的作用就是偶尔向其他人解释我们已经发现过的真理。”

在这样的大环境下,莱布尼茨难能可贵地没有跟风。

他站出来为古典形式逻辑进行辩护。洛克写了一本书《人类理智论》,莱布尼茨就也写了一本书《人类理智新论》,旗帜鲜明地逐条反驳洛克、笛卡儿等人的观点,称赞三段论是“人类心灵最美好,也最值得重视的东西之一”。他甚至将其视为一种普遍数学,认为其中包含着一种不谬性技术。莱布尼茨年轻时就发展了亚里士多德的三段论。亚里士多德的三段论分为3个格14个有效式,莱布尼茨则证明了第四格的存在,将三段论扩展到4格24个有效式,同时从第一格的公理出发,有效地演绎出第二格和第三格的有效式,使三段论成为一种公理化演绎系统。

莱布尼茨在逻辑学方面最重要的贡献是建立了符号逻辑,或称为数理逻辑。他的这种思想主要受吕里、霍布斯、笛卡儿3个人的影响。

吕里早在1305年就出版了《至上的普遍术或大衍术》,据此还发明了一种“思维机器”。这台机器由围绕一个中心旋转的多个半径相同的圆组成,这些圆形成相互连接的网络,在交叉点上写有标识概念的词(比如“人”),以及标识各种逻辑关系的词(比如“相等”“并且”)。只要用手摇动这些圆,便能得到所有的概念组合及各种格式的推理。莱布尼茨盛赞吕里是一个“已经思考过普遍字符”和“组合术”的杰出人士,并将其思维机器作为《论组合术》手稿中的配图,如下图所示。

霍布斯则是西方逻辑史上第一个喊出“推理即计算”的人,但他所谓的“计算”无非是感觉观念上的“加减”。

青年时期的莱布尼茨对霍布斯无比崇拜,两人有过交流。霍布斯揭示了逻辑的数学本质,他的普遍数学的思想对莱布尼茨影响巨大。

笛卡儿是符号逻辑史上第一个明确提出“普遍数学”概念的人。

笛卡儿断言:“我不再专注于算术和几何的特殊研究,转而致力于探求某种普遍数学。……我们所称的数学指涉部分不仅包括上述提及的算术和几何,还包括天文学、音乐、光学、力学,以及其他一些学科。……其他一切学科和算术、几何一样有权利被叫作数学。”笛卡儿强调,只有逻辑、分析几何和代数才能够对他的科学计划和哲学计划“有所帮助”,数学的“基础”如此“牢固”和“结实”,以至于我们应当而且必须在它上面造起科学和哲学的高楼。

可以看到,在笛卡儿的思想里,数学基础和数学应用是混为一谈的。借由数学化的方法,笛卡儿将众多学科纳入数学范畴。这种分类法今天来看并不合理,但这恰恰反映了数学和科学的发展历程。在各学科理论发展的起步阶段,以笼统的数学范畴来概括和归类不失为权宜之计。直到今天,当我们没法区分清楚大数据与人工智能的技术、应用时,就再次回到了笛卡儿当年的处境,而我们似乎依然找不到更合理的分类法。

尽管在对亚里士多德三段论的看法上,莱布尼茨不赞同笛卡儿的观点,但他还是高度评价了笛卡儿的“普遍数学”理念,认为它是“独具一格的卓绝分析”。

莱布尼茨之前的思想家提出的计算或演绎方面的想法,要么没有形成公理系统,要么不够深入。而作为“数理逻辑之父”的莱布尼茨,则是集大成者,系统化地建立了这一理论框架。

莱布尼茨的数理逻辑有两个核心思想:一是逻辑演算,二是普遍语言。




人类思想字母表


莱布尼茨用数学符号来代替中世纪逻辑中的语言和文字,在逻辑中引入了数学的方法,这就让逻辑的推证变得像数学的运算一样。

莱布尼茨非常重视数字的作用,在《达致普遍字符》一文中,他提到:

“数似乎可以说是一种基本的形而上学模型或符号,而算术则是一种宇宙静力学,事物的各种力都可以借由它发掘出来。

“数里面隐藏着最深奥的秘密。自毕达哥拉斯时代起,人们就一直对此深信不疑。”

莱布尼茨继承了毕达哥拉斯学派的观点,认为万物中蕴含了数字的规律,而唯有数是永恒不变的。

因此,莱布尼茨认为,“我们必能将每件事物的特征数字指定出来”。

莱布尼茨的特征数从今天的角度来看是一种“编码”的思想,这很可能启发了后来的哥德尔。而哥德尔在晚年的时候曾痴迷于研究莱布尼茨,他和莱布尼茨一样证明了“上帝的存在”。在莱布尼茨的思想中,数学、哲学、形而上学和神学都是融合在一起的,我们在解读莱布尼茨时应当注意这一点。

使用特征数是莱布尼茨逻辑学的主要特点。在传统逻辑中,概念、判断、推理都是与语言(语词)结合在一起的,但是在莱布尼茨看来,概念、判断、推理都蕴含着数学的形式和演算的性质。因此,他致力于用字符和数字替换传统逻辑中的语言和语词,用加法和乘法等算术关系来进行概念的解析和组合,用等式、方程式等演算来解释主谓词的包含关系和其他逻辑关系。

在《对逻辑演算的两个研究》一文中,莱布尼茨明确提出了素数的概念,并且用代表因子的素数乘积来表达复合概念。200多年后,哥德尔创造的哥德尔数所用的编码形式,和此如出一辙。莱布尼茨在文中提到:

“对每个词项,不管它属于什么种类,我们都可以将它的特征数指定出来。我们在演算中使用这种特征数,就像我们在推理中使用词项本身一样。……眼下,数字最有用。这一方面是由于其操作起来精确和简便,另一方面是由于概念的所有关系变得像数字那样确定和可以预测,从而一目了然。

“……当一个既定词项的概念直接由两个或两个以上的其他词项组成时,该既定词项的特征数就借由组成它的这些词项的特征数相乘产生。例如,既然人是一个理性的动物,倘若动物的特征数是   ,如2,而理性的特征数是   ,如3,则人的特征数或   ,就将是2乘以3,或6。”

思想的大衍术

莱布尼茨称他的逻辑思想为“思想的大衍术”(Ars Magna),意指继承自中世纪西班牙神学家雷蒙·吕里的相关学说。

吕里将范畴区分为6组,每组又各有6个范畴,各个范畴可以互相组合。吕里用这种组合方式来揭示宇宙的奥秘。

在中国的文化里,《易·系辞》中有“大衍之数五十”的说法,该说法被三国时期经学家王弼注释为“演天地之数,所赖者五十也”。中国的所谓大衍术,就是天地之数的推演数。莱布尼茨称自己的想法为“思想的大衍术”,旨在用这套方法推演天地宇宙之间的奥秘。

在《论思想的工具或大衍术》一文中,莱布尼茨为了解释“无限的事物能够由少数几个组合而成”,从而揭示自然的奥秘,举了一个例子,非常明确地提到了二进制:

“当我们计数的时候,我们通常用十进制位;当我们数到10的时候,我们又从1开始。这是否方便,我现在不予争论。与此同时,我却想表明在这个地方也可以用二进制位。这样,只要我们达到了2,我们便重新从1开始,如下图所示。

“我现在并不讨论这一进制位的巨大优越性,只要注意到所有的数字以多么奇妙的方式用1和0这样表达出来就够了。”

在中国文化中,有阴阳八卦之说。《易·系辞》中有:“是故,易有太极,是生两仪,两仪生四象,四象生八卦,八卦定吉凶,吉凶生大业。”下图是北宋邵雍的八卦图,将世上万物划归为八卦:乾(天)、坤(地)、震(雷)、巽(风)、坎(水)、离(火)、艮(山)、兑(泽)。八卦图还需要有阴和阳这两个基本组件,八卦之间互相组合可形成六十四卦。

莱布尼茨在1679年3月15日用拉丁文撰写了《二进制算术》一文,创建了二进制。

随后在1701—1703年,莱布尼茨与在华传教士白晋互通书信,从白晋那里得到“伏羲图”。

莱布尼茨发现自己的研究成果与伏羲图惊人地一致,信心倍增。

他于1703年5月公开发表了这一研究成果,标题也改为了《二进制算术阐释—仅仅使用数字0和1兼论其效能及伏羲数字的意义》。

可以说,莱布尼茨独立地发明了二进制,而且其与中国古代文化里的思想不无暗合。今天的计算机世界已普遍使用二进制。

尽管二进制算术是莱布尼茨发明的,但是并没有被他应用在计算器之中。

莱布尼茨也发明过如下图所示的计算器,他发明的机械计算器与帕斯卡的不同。

莱布尼茨独创了一种齿轮技术,可以使得计算器能做乘法运算。设计齿轮时显然用十进制会比二进制方便很多,效果好很多,所以莱布尼茨的乘法器用的是十进制。这种齿轮被称为“莱布尼茨轮”。

一直到近代,在IBM生产的手摇机械式计算器中,还在使用这种装置的设计。

而二进制被广泛应用到电子计算机中,主要是因为香农在逻辑电路中发现,逻辑的与门、或门可以用电路的不同状态来表示,这恰好对应了二进制的0和1。莱布尼茨的时代没有电,因此莱布尼茨根本不可能预见到他的二进制对后世有多么深远的影响。

莱布尼茨一度对古老神秘的中国文化十分神往。他曾有一个猜想:中国的伏羲在古代就已经发明了二进制,阴爻与阳爻的形式就可以对应到0和1,在《易经》中用来表示64个数,即六十四爻,只是在后代失传了。古代中国人引入了不少形而上的东西,反而放弃了通过理性推理来表达更多的事物。尽管莱布尼茨有如此猜想,但是迄今为止并没有切实的证据表明,中国曾用阴爻和阳爻排列组合出六十四卦以外更多的东西,或是推演出加法和乘法这样的算术,而莱布尼茨的二进制则是明确提出了算术法则。

但中国文字对莱布尼茨的影响是确切的,而且极可能启发了莱布尼茨提出“普遍字符语言”这一重要思想。李约瑟曾说:

“一般来说,在中国文字中,一个字的发音和它的书写方式是没有任何关系的。确实,在这种意义下,人们写出来的文字的意思是固定的,不管讲什么方言的人都能明白,但他们发出来的音完全不同,彼此无法听懂。就是这种语言中的“数学”素质……引起了像莱布尼茨这样的17世纪欧洲学者的注意,也许还推动了欧洲数学逻辑的发展。

……

“1666年,莱布尼茨发表了《论组合术》,这使他成为符号逻辑或数理逻辑之父。这一观念公认受到来自汉字会意特征的启发。”

李约瑟在这里提到的观念,就是莱布尼茨的普遍语言的思想。在《论思想的工具或大衍术》中,莱布尼茨提到:

“无限的事物能够由少数几个组合而成……自然世界通常以最少的假设做尽可能多的事情,它是以最简单的方式运作的。”。

这种“最简单的方式”就是莱布尼茨构思的“人类思想的字母表”。在这篇手稿中,紧接着的一句话被莱布尼茨删掉了:

“人类思想的字母表,是那些他们自己设想出来的事物的一个目录,我们的其他观念就是由这些字母结合形成的。”

莱布尼茨甚至希望这种字母表能够成为一种普遍语言,以解决不同地区或说不同语言的人们之间的沟通和争端问题。在《达致普遍字符》一文中,莱布尼茨提到:

“各种不同的概念和事物都能够用这种语言或字符以一种合适的顺序组合到一起;借助于这种语言和字符,不同民族的人才有望相互交流思想,把一种外来语言的书写符号翻译成他们自己的语言。”

在《人类学说的视域》一文中,他则写道:

“现在,既然全部人类知识都能够借字母表里的字母表达出来,既然我们可以说,不管是谁,只要他懂得字母表的用法就能够认识一切,则我们便能够得出结论—我们能够计算出人类能够表达的真理的数目,我们还能够确定一部将会包括所有可能的人类知识的著作的规模,在这部著作中将会有人类能够认识、书写或发现的一切,甚至比这还要多。”

在我看来,莱布尼茨的这种人类思想字母表,可以被称为一种“元语言”。莱布尼茨则对制定出这样的字母表充满信心。




计算之梦


下面我们可以谈谈莱布尼茨的梦想了。在《普遍科学序言》一文中,莱布尼茨提到:

“倘若我们能找到一些字符或符号适合表达我们的全部思想,就像算术表达数字或几何分析表达线段那样明确和精确,我们就能在一切学科中,在其符合推理的范围内,完成像在算术和几何中能完成的事情。

“所有依赖于推理的探究都能够借字符的置换和一种演算得到实施,这将直接帮助我们发现各种各样的美妙结果。”


这段话揭示了计算的本质。莱布尼茨非常清楚地提到了“字符的置换”,其思想对后世的数理逻辑和计算有着深刻的影响。200多年后,希尔伯特提出的形式系统,图灵对计算的精确定义,其基本思想就植根于这几个字之中。莱布尼茨继续提到:

“我们也应该能够说服世人,使其相信我们已经发现或得出结论的东西。因为无论是再来一次,还是用类似算术检验九点之类的方法,核查计算结果都非常容易。要是有人怀疑我的计算结果,我就可以告诉他:‘先生,让我们坐下来演算一下吧!’这样,只要拿起笔墨纸张,问题顷刻便迎刃而解。

……

“我们也始终能够在已知数据的基础之上,决定什么是最可能的。而这正是理性能够做到的一切。

“这样,那些表达我们全部思想的字符就将构成一种既能够用来写作也能够说的新语言。……这种语言将成为理性最伟大的工具。”

通过这段话,莱布尼茨论述了计算能解决什么问题。在他的构想中,计算可以用于真理的判断,同时可以用于从已知数据中发现新的真理。其中那句“我们也始终能够在已知数据的基础之上,决定什么是最可能的”则既揭示了科学研究的作用,也揭示了今天我们大数据所期盼实现的目标—通过数据找到规律,找到价值,然后对新的可能性或对未来做出预测。莱布尼茨也曾说过:

“我敢说,这是人类心灵的最高成就,这个工程一旦竣工,就将完全致力于人类的幸福。这是因为人们从此将会获得一种工具,这种工具提高理性的功能丝毫不逊色于望远镜对我们视力的完善。

“如果上帝给我足够的时间,我的抱负之一就是完成这一工程。我的这一抱负不是从任何人那里,而只是从我自己这里获得的。我是在18岁的年纪最早想到这件事情的。……由于我确信没有任何一项发现堪与之相提并论,我便相信没有任何事情像这件事这样能够使发明者永垂不朽。但我之所以这样想,还有一个更为有力的理由。因为我一心信奉的宗教使我确信,上帝的爱即在于对人类获得普遍福利有一种热忱的渴望,而理性也教导我,没有任何东西比理性的完善能够对人类的普遍福祉做出更大的贡献。”

莱布尼茨构思出了逻辑演算和普遍语言方面的伟大工程,可惜的是他终生也没有实现自己的梦想。但莱布尼茨的这些想法启发了后人,直接影响了乔治·布尔、弗雷格和罗素等人的工作,在他们的努力下数理逻辑的奠基终于得以真正完成。

罗素早年是一个对神学和数学都持有怀疑立场,对逻辑也不怎么感兴趣的人,但最后竟然成为现代数理逻辑的先驱。1899年春,罗素在剑桥大学三一学院开设了莱布尼茨哲学的课程,并在第二年出版了专著《对莱布尼茨哲学的批评性解释》。罗素发现“莱布尼茨哲学大厦的最幽深处”在于“莱布尼茨哲学差不多完全源于他本人的逻辑学”,而这一观点几乎构成罗素此后一生的学术信仰。

罗素与怀特海合著的著作《数学原理》于1910—1913年分卷出版,这可能是20世纪最重要的数学著作。肖尔兹将其视为“莱布尼茨逻辑系统的完成”。罗素本人也心安理得地被视为莱布尼茨“逻辑系统”的发现者和继承者,并尊莱布尼茨为“数理逻辑始祖”。罗素谈道:

“莱布尼茨的数理逻辑的研究成果当初假使发表了,会重要之至。那么,他就会成为数理逻辑的始祖,而这门学科也就比实际提早一个半世纪问世。”

今天的计算机是以数理逻辑为基础的,我认为莱布尼茨关于逻辑演算和普遍语言的梦想,就是计算的梦想。300多年来大批数学家、物理学家、计算机科学家都在朝着实现这个梦想而努力,但迄今为止人们依然没有成功。前路漫漫,我辈当努力!

公元1700年以后,莱布尼茨热衷于组建科研团体。在他的努力下,普鲁士成立了柏林科学院,他担任首任院长。同时,他奔走于奥地利和俄国,不断游说筹建维也纳科学院与彼得堡科学院。据说他甚至还给康熙皇帝写信,期望建立“北京科学院”。只是迄今尚未找到莱布尼茨给康熙写过信的任何证据,可能这只是莱布尼茨的设想。还有一种说法,莱布尼茨曾经赠送给康熙一台机械计算器,但是同样没有证据。目前北京故宫所藏的手摇式机械计算器,都是根据法国传教士的思路由中国匠人制成的。

莱布尼茨和牛顿一样终身未婚。和牛顿不同的是,牛顿死后葬于英国伦敦的威斯敏斯特大教堂,得到了国葬的礼遇;而莱布尼茨1716年11月14日死于痛风和胆结石,死后无人凭吊,只是由他的私人秘书和几个工人草草地葬于一个无名墓地。欧洲的大地上再也见不到莱布尼茨乘坐着漏风的马车在颠簸的牛道上奔波于各国之间的身影。但身灭灯传,数理逻辑已经点燃火种,酝酿着200多年后的大放异彩。




思维规律的研究



19世纪数理逻辑的复兴

莱布尼茨的计算之梦开启了数理逻辑的新篇章,但是它却一度被遗忘。直到200多年后的19世纪,在德·摩根、乔治·布尔、皮尔斯、施罗德等人的倡导下,数理逻辑迎来复兴。其中,英国数学家乔治·布尔迈出了最关键的一步。

在19世纪的英国爱丁堡,有一位叫哈密顿的逻辑学教授(不是发明四元数的那位)。他认为亚里士多德的三段论只量化了命题主语(所有   ,存在   ),而没有量化谓词(是   ,不是   ),普适性受到很大的限制。他将这一观点告诉密友逻辑学家德·摩根。后者在做了一些尝试后,于1847年通过《形式逻辑》一书提出了“关系逻辑”的概念。

在亚里士多德的三段论中,确实存在缺乏关系逻辑这一缺陷。这会导致一些问题,这些问题莱布尼茨也曾注意到。看看下面这个三段论:

苹果是酸的;

酸是一种味道;

因此,苹果是一种味道。

可以看出,这个结论明显是不对的。

德·摩根试图通过改进书写逻辑公式的方式来量化谓词,但这一改变并不彻底。真正的改变由英国数学家乔治·布尔通过完整的现代代数字母符号体系完成。

乔治·布尔出生于贫寒家庭。他的父亲—老布尔是一个鞋匠,却热衷于各种技术。老布尔酷爱科学、数学,并在自己的作坊里自制各种望远镜、显微镜和照相机。布尔的童年受此熏陶,很早就开始对光学产生兴趣。布尔从小就大量阅读历史和科学著作,并热爱诗歌和外语。他在十几岁时就掌握了拉丁语、希腊语、法语、德语和意大利语。在布尔16岁时,父亲的作坊破产了,布尔不得不辍学回家。他找了一份助教工作,后来成为一名教师,并开始集中精力研究数学。

布尔接受正式教育的时间非常短,主要靠自学成才。这也让他在数学研究的道路上没有任何思想的束缚。到20岁时,布尔就攒够了钱,在家乡办了一所学校。在当校长的18年里,他大部分时间都在经营自己的学校,业余时间则用来研究数学和逻辑。1842年,布尔开始与德·摩根通信,并在后者的鼓励下在英国皇家学会发表了一篇关于微分方程的论文。1849年,布尔经过3年的努力,终于申请到新建成的爱尔兰科克女王学院(现在的爱尔兰大学)的教职,成为数学教授,并在这个岗位上工作了15年,直到逝世。

1833年,英国数学家皮考克提出“形式永久性原则”:把代数看成一种符号与其组合规律的学科,代数定理只依赖于其符号所遵循的组合规律,而与符号的内容无关,即符号和运算可以用来表示任何事物。这种观点影响了同时代的布尔。哈密顿的四元数这一伟大成果还说明,代数中确实也存在着更多的可能性。1847年,布尔在《逻辑的数学分析》一书中提出了他的逻辑代数。他在导言中说道:

“凡是熟悉当前符号代数理论的人都知道,分析过程的合理性不取决于对所选用的符号的解释,而仅仅取决于它们的结合规律。任何解释体系只要不影响假设关系的正确性,都是同样可以被接受的。因此,同一个过程,在一种说明体系下,可能表示一个关于数的性质问题的解法;在另一种说明体系下,则可能表示一个几何学问题的解法而在又一种说明体系下,它又可能表示力学或光学问题的解法。这一原则确实是非常重要的;我们可以断言,这一原则在指导目前的研究中产生的影响,大大促进了纯粹分析最近取得的进步。”

布尔这段充满洞察力的话在当时代表非常激进和新颖的思想。1854年他在代表作《思维规律的研究》中进一步阐述了自己的思想。他继承了莱布尼茨的梦想,并给出了莱布尼茨未完成的逻辑演算系统的一个具体实现,即逻辑推理规则可以由符号形式来表达,这可以使逻辑更严格并促进其应用。他提到:

“下述论文的目的是研究思维运算的基本规则—推理正是依据这些规则而完成的—给出演算的符号语言表达式,并在此基础上建立逻辑科学和构造它的方法。”

从历史的脉络中,我们可以看到形式主义的影子。很明显,此后从罗素、希尔伯特的理论,到20世纪丘奇、图灵从数学上精确定义计算的概念,都基本上可以追溯到布尔的思想启蒙。罗素曾评价:“现代的纯粹数学起源于英国数学家布尔的工作。”


布尔的逻辑代数

布尔创造了一个新的数学分支,即布尔代数。他实际上构造了一个演绎思维的演算系统,方法是尝试用代数来驱动逻辑,以达到严格性和高效性。他是第一个思考将代数应用到逻辑中的人,他的工作是逻辑和代数的一个交汇点,这些工作也证明了数学对于逻辑是充分的。

与亚里士多德的三段论不同,布尔使用代数方法来表达各类之间的关系。他的逻辑方法取决于3个简单的运算,今天我们将其记为“AND(与)”“OR(或)”“NOT(非)”。

AND的定义为:给定两个类   和   ,表达式   AND   表示由x和y的所有公共元素构成的集合。比如,   表示所有红色物体构成的类,   表示所有狗构成的类,那么   AND   就表示所有红色的狗构成的类。但布尔的想法的独特之处在于,他尝试用代数驱动逻辑,因此他很自然地意识到   AND   这个符号使用起来非常不方便。他发明了“逻辑积”的概念,将   AND   表示为   。因为与   所有元素相同的集合是   本身,因此有   AND   是   ,可以表示为   ,用指数形式可以表示为   。推广后,可以得到   ,其中   为自然数。这是布尔代数的一个有趣性质。在布尔代数中,乘法满足交换律,即   ;从逻辑上说就是,   AND   与   AND   中的所有元素相同。

类似地,OR的定义为:给定两个类   和   ,表达式   OR   表示属于   或属于   的对象构成的集合;特别地,若一个对象既属于   又属于   ,那么它也属于   OR   ,可以用符号化的   表示。比如,   代表男人的集合,   代表所有老人的集合,那么   代表所有男人和老人的集合(这一集合也包含女性老人)。可以进一步证明OR支持结合律,比如,令   表示民族是汉族的人的集合,那么有   。

而NOT,是一个相对于全类1的补运算。   相对于1的补可以表示为   ,意为   的补就是其分子属于全类但不属于   的事物类。

在布尔代数中,基本关系是相等关系,可以用=表示。这样,布尔就提出了他的代数系统的基本原理:

(一)   

(二)   

(三)   

(四)   

(五)如果   ,则   

(六)如果   ,则   

(七)如果   ,则   

(八)   

(九)      ,一般而言,   

前7条公式是普通数字代数的规则,第八条公式是矛盾律,第九条公式是指数律,后面的这两条公式是布尔代数所特有的。在布尔代数中,矛盾律可以由指数律推出:

(1)   

(2)   

(3)   

满足以上9条公式的所有理论,都被称为布尔代数。因此,布尔代数可以有很多种解释。布尔自己给出了对以上公式的类的解释、二值解释、命题解释和概率解释。

亚里士多德的三段论,通过布尔代数可以非常简洁地书写出来。比如,如下4个直言命题,对应的布尔代数语言为括号中的内容(其中,字母   表示非空的对象类)。

  • 所有   都属于   。(   )

  • 有一些   属于   。(   

  • 所有   都不属于   。(   

  • 有一些   不属于   。(   

对于布尔代数而言,三段论的逻辑只是广阔的代数空间中很小的一部分,每个命题可变成一个简单的代数方程。有了布尔代数,任何三段论都可以通过一个代数方程组表示。比如,字母   、   、   分别表示哺乳动物、狗和卷毛狗,以下三段论可以写成布尔代数的形式。

  • 前提1:所有的狗都是哺乳动物。(   )

  • 前提2:所有的卷毛狗都是狗。(   

  • 结论:所有的卷毛狗都是哺乳动物。(   

根据布尔代数的9条公式,在这个三段论方程组的运算过程中,先用   乘以第一个方程,得到   ,然后将   代入,即可得到结论。运算过程非常简洁,结论也与三段论的推理结论相符。在这个过程中,我们非常清晰地看到了“推理即计算”。类似地,在布尔的眼里,连接符陈述的逻辑推论,都可以转换为对符号的代数运算。

布尔对自己的逻辑代数系统做出的二值解释非常重要。他加上一条限制:   、   等仅取1或0为值,布尔的9条公式对这种数字解释成立,这样就有了第十条公式:

(十)   或   

于是,布尔代数就可以用二进制来进行运算了。二进制首先有一个重要的作用,就是可以用0和1来表示真与假,我们可以将其记为T和F。这就从形式系统迈向了语义系统。比如,令   为命题   为真的次数,   表示命题   为真的次数,逻辑积表示命题   和   同时为真的次数。如果命题   表示“天正在下雨”,命题   表示“天正在刮风”,那么表达式   表示天既下雨又刮风的次数。如果1表示真命题,0表示假命题,就得到了:   ,   ,   ,   这4个公式。也可以将AND运算表示为下图中的真值表。

采用简单的二进制代数来驱动逻辑的表达,好处是明显的。它大大简化了逻辑推理中需要人工理解的部分,从而可以在计算环节中去除大量人工工作,这样计算就可以极大地加快逻辑推理的速度。由于这种计算上的便捷性,20世纪香农在设计逻辑电路的时候,应用了布尔的逻辑代数,通过编排电路控制电流,实现了布尔代数的AND、OR、NOT及其他逻辑门,这就为现代电子计算机奠定了基础。可以说,没有布尔代数,就没有今天的电子计算机。

香农在设计逻辑电路时选择的原理影响巨大,带来的结果之一就是现代电子计算机都建立在二进制的初等算术基础上。布尔的二进制算术没有涉及其他数域,比如实数、复数。尽管从物理上讲实现实数计算目前是不可能的,但是我们也需要了解,香农选择了布尔代数的二值解释,就放弃了数学上的其他可能性,现代电子计算机也同样失去了这些可能性。

二进制算术可以对应到自然数算术,可以推广到有理数的代数,因此多项式的应用在现代电子计算机中发挥了重要作用。事实上,在一些复杂的应用问题中,比如气象预测、弹道预测、人工智能等,要求解的函数非常复杂,不太可能实现精确计算,因此往往都是用多项式进行近似计算的。在求解多项式方程时,如遇到实数计算的问题,一般都采用级数或递归等算法计算出有理数的有限位,截取到一个可用精度,用一个有穷的有理数来近似表达要求解的实数的结果。这样的有穷计算完全可以用基于布尔代数的逻辑电路来实现。这也是现代电子计算机的基本原理。

香农放弃的可能性包括布尔对逻辑代数做出的概率解释。除了二进制解释,布尔还提出一个概率解释。他在《逻辑的数学分析》、《思维规律的研究》和《逻辑与概率的研究》等著作中都不同程度地提到了把逻辑代数应用于概率的问题。由于概率显然并非只有0和1两个选择,因此概率解释不满足布尔的公式(十)   或   。布尔的逻辑代数的概率解释,与后来发展的模态逻辑、多值逻辑理论类似,是一种更丰富的逻辑理论。

事实上,从莱布尼茨提出普遍语言和逻辑演算开始,逻辑发展出了两个分支:一个以后来的弗雷格、罗素为代表走向形式逻辑和语言学,继承的是莱布尼茨的普遍语言的路线;另一个以布尔、施罗德、哥德尔、塔斯基、勒文海姆等为代表,走向模态逻辑和语义学,继承的是莱布尼茨的逻辑演算的路线。弗雷格、罗素等人相信的是单世界,而哥德尔、勒文海姆等人则基于更多可能性的存在,相信的是多世界。

布尔的代数系统好处明显,很快就为大多数逻辑学家和数学家所接受。他们陆续对其进行研究、发展和完善。由于布尔代数并不包括“全部”“部分”这类量词,因此布尔代数可被称为零阶逻辑。后来,逻辑学家皮尔斯、施罗德等人对其进行了进一步的完善。皮尔斯发展了布尔代数,在逻辑代数中引入了量词,这一工作是独立于弗雷格的。此外,施罗德为布尔的逻辑代数建立了完善的公理体系,使之更加严格。

布尔一生有着非常好的口碑,我们几乎找不到任何对他的负面评价。他的家庭也很幸福和睦,妻子为他生下5个女儿,其中第三个女儿艾丽西亚·布尔·斯托特通过自学也成为一名数学家,在高维几何领域取得了重要成果。

1864年11月,布尔冒着暴雨步行1.6公里去学校上课,湿漉漉的衣服一直没换,回来就因肺炎病倒,接下来几天一直高烧不退。

那时医学还不发达,布尔的妻子迷信土办法,选择以水克火来降温,用一盆凉水直接浇向布尔。

布尔,卒,享年49岁。


以上摘自吴翰清新作《计算》

计算已经成为人们生活中不可或缺的组成部分,人类社会享受了计算技术的红利得以飞速发展。可以说当今的计算机科学和产业应用的成就是人类文明有史以来所有智慧的结晶。

解释、澄清和发展“计算”这一重要概念,即本书之写作目的。

本书从探索数学的起源开始,细数了数学史上三次危机的来龙去脉,逐渐引出计算理论的诞生和发展,以及这些过往是如何影响当今计算机科学最前沿方向的。

最后本书从哲学层面探讨了计算的边界,将其视为人类需要继续探索的未解之谜。

本书横跨了人类近3000年的文明史,综合了数学、哲学、物理学、计算机科学、人工智能、复杂系统科学等多门学科,呈现出一种独特的计算主义的世界观。



向上滑动阅览




↑限时五折优惠↑

限时五折优惠,快快抢购吧!



       

互动有奖

按以下方式与博文菌互动,即有机会获赠图书!

活动方式:在评论区留言参与“你如何看待莱布尼茨的计算之梦”等话题互动,届时会在参与的小伙伴中抽取1名幸运鹅赠送图书盲盒一份!

说明:留言区收到回复“恭喜中奖”者将免费获赠本图书,中奖者请在收到通知的24小时内将您的“姓名+电话+快递地址”留言至原评论下方处即可,隐私信息不会被放出,未在规定时间内回复视作自动放弃兑奖资格。

活动时间:截至6月24日开奖。

快快拉上你的小伙伴参与进来吧~~

温馨提示可以将“博文视点”设为星标以免错过赠书活动哦!


        
          
           

发布:刘恩惠

审核:陈歆懿

              
                
 


如果喜欢本文
欢迎 在看留言分享至朋友圈 三连
<
 PAST · 往期回顾 
>


书单 | 6月新书速递!


浏览 155
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报