
马丁·戴维斯
本书讲述了计算机思想层面的历史,通过引人入胜的材料描写了莱布尼茨、布尔、康托尔、希尔伯特、哥德尔、图灵等天才的生活和工作,讲述了数学家们如何在成果付诸应用之前就已经提出了其背后的思想。
看完了。主要内容是计算机思想层面的发展史。看完这本书你会想起另一本书《伟大为什么不能被计划》,伟大为什么不能被计划,因为伟大的发生是建立在一连串的偶然“踏脚石”的基础上的,而“踏脚石”是随机出现或涌现的。 伟大为什么不能被计划,主要体现了谁总结的规律?达尔文。在上一本书《复杂的引擎》里指出谁才是自然科学总结规律的集大成者?达尔文。达尔文的思想,变成了链接了数学物理化学生物社会科学的桥梁。 每一块踏脚石,也许在当时已经成名了,也许没人重视,更甚者被迫害死了。但他根本不知道未来的历史的长河中,自己会有多伟大。后人踩着他的肩膀,创造了他根本无法想象的图景。这就是追寻真理,做“正确的事”的价值。 尽管关上上帝视角,人很难知道什么是“正确”。毕竟,在漫长的历史长河中,大多数人相信大脑产生精子,大多数人相信地球是方的,大多数人相信量子物理是无稽之谈……从未来看今天,今天的我们的教科书估计也是令未来人笑掉大牙。所以,未来人为啥要跟霍金吃饭,未来人知道的太多了[破涕为笑][旺柴]
好的。以下是 **《逻辑的引擎》**(*Engines of Logic: Mathematicians and the Origin of the Computer*)——作者:[美] 马丁·戴维斯(Martin Davis),译者:张卜天,湖南科学技术出版社(“第一推动丛书·综合系列”)——的**系统性思维导图与核心观念梳理**。 > **书名**:《逻辑的引擎》 > **作者**:马丁·戴维斯(1928–2023),数理逻辑学家、可计算性理论先驱,“戴维斯-普特南算法”提出者,亲历计算机科学诞生 > **初版时间**:英文2000年;中文版为经典科技史著作 > **定位**:一部**思想史与人物传记交织**的作品,追溯从17世纪莱布尼茨到20世纪图灵、冯·诺依曼的**逻辑学如何孕育现代计算机** --- ### 一、全书核心主旨 > **现代计算机并非源于工程需求,而是源于数学家对“**推理能否机械化**”这一古老哲学问题的探索。从莱布尼茨的“普遍符号语言”构想,到布尔代数、弗雷格逻辑、康托尔集合论、希尔伯特形式主义纲领,再到哥德尔不完备性定理、图灵机模型与冯·诺依曼架构,**逻辑学的每一次突破都为计算机器提供了概念基石**。计算机的本质不是“算得快”,而是“**通用符号处理能力**”——它是一台执行逻辑规则的“引擎”,其根源深植于人类对确定性、可证明性与机械思维的千年追求。** → 书名寓意:**逻辑是驱动计算机的思想引擎,而非电子管或晶体管**。 --- ### 二、思维导图(文字层级版) #### **1. 起源:莱布尼茨的梦想**(17世纪) ├─ **① “普遍符号语言”**(Characteristica Universalis) • 用符号表示所有概念,推理化为演算(Calculus Ratiocinator) ├─ **② 二进制与机械计算器**: • 发明步进计算器(Stepped Reckoner) • 提出二进制作为逻辑基础(未用于计算) └─ **③ 遗产**: • 首次将**逻辑形式化**与**机械实现**联系起来 > “若发生争执,无需辩论,只需说:‘让我们算一下!’” --- #### **2. 布尔:逻辑即代数**(19世纪) ├─ **① 《逻辑的数学分析》**(1847) • 将命题真值映射为 **0/1** • 逻辑运算(与、或、非)化为代数运算 ├─ **② 布尔代数**: • 成为数字电路设计的数学基础(香农,1937) └─ **③ 意义**: • **逻辑可计算化**的第一步 > “真理可以用方程表达。” --- #### **3. 弗雷格与罗素:逻辑主义纲领** ├─ **① 弗雷格**(Gottlob Frege) • 创立**谓词逻辑**(含量词∀, ∃) • 试图将算术还原为纯逻辑(《算术基础》) ├─ **② 罗素悖论**(1901): • “所有不包含自身的集合的集合” → 自指矛盾 • 动摇逻辑主义基础 └─ **③ 《数学原理》**(罗素 & 怀特海): • 用类型论规避悖论,但体系臃肿 • 证明“1+1=2”需362页 → 显示形式化的代价 > “逻辑必须先清理自己的地基。” --- #### **4. 希尔伯特:形式主义与可判定性问题** ├─ **① 形式主义纲领**: • 数学 = 符号游戏,公理+推演规则 • 目标:证明**一致性**(无矛盾)、**完备性**(所有真命题可证)、**可判定性**(Entscheidungsproblem) ├─ **② 可判定性问题**: • “是否存在通用算法,判定任意数学命题真假?” • 成为计算机诞生的**直接催化剂** └─ **③ 悲剧**: • 哥德尔与图灵证明其三大目标**不可能全部实现** --- #### **5. 哥德尔:不完备性革命**(1931) ├─ **① 不完备性定理**: • 任何足够强的形式系统,**要么不完备**(存在不可判定命题) ├─ **② 方法**: • **哥德尔编码**:将符号、公式、证明映射为自然数 • 实现**自指**(“本命题不可证”) └─ **③ 对希尔伯特的打击**: • 一致性无法在系统内证明 → 形式主义受挫 • **但启发了“形式系统可被数值化处理”的思想** > “真理超越证明。” --- #### **6. 图灵:通用机的诞生**(1936) ├─ **① 图灵机模型**: • 抽象机器:无限纸带 + 读写头 + 状态表 • 定义**可计算函数**(等价于λ演算、递归函数) ├─ **② 解决Entscheidungsproblem**: • 证明“停机问题不可判定” → 可判定性问题无解 ├─ **③ 通用图灵机**(UTM): • 一台机器可模拟**任何**图灵机 → **存储程序概念雏形** └─ **④ 意义**: • **为现代计算机提供理论原型** • 计算 = 机械过程,不限于数字 > “思考可以被分解为简单步骤。” --- #### **7. 冯·诺依曼:从理论到架构** ├─ **① EDVAC报告**(1945): • 提出**存储程序计算机**架构 • 指令与数据共存内存 → 实现图灵通用性 ├─ **② 关键组件**: • 中央处理器(CPU)、内存、输入/输出 └─ **③ 遗产**: • 几乎所有现代计算机仍基于此模型(“冯·诺依曼瓶颈”) > “机器应能修改自己的指令。” --- #### **8. 逻辑如何成为引擎?** ├─ **① 概念链条**: • 莱布尼茨(符号化) → 布尔(代数化) → 弗雷格(形式化) • 希尔伯特(机械化目标) → 哥德尔/图灵(界定可能性边界) • 冯·诺依曼(工程实现) ├─ **② 核心洞见**: • **任何可形式化的推理过程,均可由机器执行** └─ **③ 计算机本质**: • 不是“计算器”,而是**通用符号处理器** • 其能力源于**逻辑的普适性** --- ### 三、核心观念总结 1. **计算机源于逻辑学对“机械推理”的千年追问,而非工程需求**; 2. **莱布尼茨、布尔、弗雷格奠定形式化基础,希尔伯特提出明确目标**; 3. **哥德尔不完备性划定逻辑系统的极限,图灵机定义计算的本质**; 4. **通用图灵机是现代计算机的理论原型,冯·诺依曼实现其工程架构**; 5. **计算机的核心能力是通用符号处理,其“引擎”是逻辑规则而非硬件**; 6. **可计算性理论揭示:有些问题原则上不可解(如停机问题)**。 --- ### 四、关键人物与贡献速览 | 人物 | 关键贡献 | 对计算机的意义 | |------|--------|--------------| | **莱布尼茨** | 普遍符号语言、二进制 | 提出“逻辑机械化”愿景 | | **布尔** | 布尔代数(0/1逻辑) | 数字电路的数学基础 | | **弗雷格** | 谓词逻辑、形式系统 | 使逻辑可严格操作 | | **希尔伯特** | 形式主义、可判定性问题 | 设定计算理论的目标 | | **哥德尔** | 不完备性定理、哥德尔编码 | 揭示形式系统局限,启发数值化 | | **图灵** | 图灵机、通用机、停机问题 | 定义计算本质,提供理论原型 | | **冯·诺依曼** | 存储程序架构 | 实现通用计算的工程蓝图 | --- ### 五、本书独特价值 - ✅ **思想史视角**:揭示计算机是“逻辑之子”,而非纯技术产物; - ✅ **人物生动**:展现数学家的性格、挣扎与时代背景(如哥德尔的偏执、图灵的悲剧); - ✅ **概念清晰**:用通俗语言解释深奥逻辑(如自指、可计算性); - ✅ **历史纵深**:跨越300年,连接哲学、数学与工程。 > 适合读者:计算机专业学生、科技史爱好者、逻辑学初学者、对“智能本质”感兴趣的人。 --- ### 六、2026年回看:遗产与启示 - **✓ 图灵机仍是计算理论基石**:复杂性、可计算性研究以此为基础; - **✓ 冯·诺依曼架构主导至今**:尽管面临量子/神经形态计算挑战; - **✓ 逻辑与计算深度融合**:编程语言、形式验证、AI推理均依赖逻辑; - **✓ 哥德尔/图灵的哲学影响扩大**:对人工智能极限的讨论(如彭罗斯)持续引用其结论。 --- ### 七、一句话总结全书思想 > 《逻辑的引擎》宣告:当你在手机上滑动屏幕时,驱动它的并非硅片中的电流,而是三百年前莱布尼茨写下的一行梦想——“让我们算一下!”——这梦想经由布尔、弗雷格、希尔伯特、哥德尔与图灵的淬炼,最终化作一台能执行任何逻辑规则的通用机器,成为人类思想最强大的延伸。
这本书是我使用微信读书以来读过的最干最硬的书了。自2017年7月李老师对“莱布尼茨之梦”的讲述开始,我用了两年半的时间,以蚂蚁跑马拉松的方式把这本书看完,虽然本科读计算机,并且和离散数学、汇编语言、数学分析等科目死磕过2-3个回合,但必须承认的是,绝大多数相关内容都需要重新回忆(而且绝大多数没有回忆起来[捂脸]),就当是补一补本科的课吧。 这本书以一个被打开-没看完的状态,蹲在书架上待了两年半,如果“它”也有思想,估计也会很感慨,毕竟这么水的读者也比较少见;而当我“名义上”把这本书“看完”一遍的时候,掩卷深思良久,对一个本科时代的设问得到了一个笃定的答案。 “马殿富院长当年讲离散数学,确实已经算是讲的非常通俗易懂、引人入胜了”
一是译者不要自作聪明,规范翻译采用中国科技术语,香农就是香农翻译成仙农有点不考究。二是词不达意,这本书并没有解决回答逻辑学命题的演化关联,实际上很多议题都在人的“传记”中被忽略掉了,逻辑的引擎不在于人是多么有创意,而是这个解决方法突破了什么。 三是巨擘的“事”无不尽,构造主义/直觉主义和抽象主义和逻辑关联是有限的,但海廷发展布劳威尔的直觉主义就没了,直接跳到了哥德尔。哥德尔完了吧Tarski就又好像没怎么细谈。就突出了一种很不完整的切面,这个切面本身就是大家都知道的。谁解决了什么问题,这个问题为什么在历史上是重要的,他是怎么解决的才是逻辑的引擎,不要英雄史观。
随着我们的故事从背后的逻辑思想转到现代通用计算机的实际制造,工程问题以及能够有效应对这些问题的人便走上了前台。计算史已经给出了各不相同的说法,在继续我们的故事之前,我们最好先简要回顾一下这些人物: 1)约瑟夫—玛丽·雅卡尔(1752—1834)雅卡尔织布机是一种可以用一堆穿孔卡片来控制编织纹样的织布机器,它首先在法国引发了纺织业的革命,最后席卷了全世界。职业织工往往不无夸张地说,这就是第一台计算机。尽管它是一项奇妙的发明,但雅卡尔织布机与其说是一台计算机,不如说是一架自动钢琴。因为它就像自动钢琴那样,可以通过在输入介质上打孔来自动控制一台机械装置。 2)查尔斯·巴贝奇(1791—1871)参见第7章开头。巴贝奇建议把雅卡尔那样的穿孔卡片用到他没有制造出来的分析机上。他的想法类似于雅卡尔关于织布机的想法。 3)达·洛甫莱斯(1815—1852)她的父亲拜伦爵士在她一岁之后就再没见过她。她对数学,特别是对巴贝奇的分析机有很大的热情。她翻译了一本有关分析机的法文研究报告,并且经巴贝奇的同意,在其中加入了自己的注释。她被称为世界上第一位计算机程序员,为了纪念她,有一种主要的编程语言就是以她的名字“爱达”命名的。她把分析机与雅卡尔织布机联系起来的名言常常被人引用: 我们也许可以非常恰当地说,分析机编织的代数模式和雅卡尔织布机编织的花和叶完全一样。 4)克劳德·仙农(1916—2001)仙农在麻省理工学院所做的硕士论文中,说明了乔治·布尔的逻辑代数如何能被用于设计复杂的开关电路。这篇论文“有助于把数字电路设计从一门技术转变成一门科学。”他的信息论在当代通信技术中起着至关重要的作用。仙农在计算机下棋的算法方面做了先驱性的工作。他说明了如何就可以制造出一台仅有两个状态的通用图灵机。(当我1953年在贝尔实验室做暑期工作时,仙农是我的上司。) 5)霍华德·艾肯(1900—1973)参见第7章开头。1944年,他为哈佛大学设计的、IBM用电子继电器制造的“自动序列受控计算机”研制成功,它可以完成巴贝奇所设想的任何任务。在为物理学家和工程师的数字压缩研制了一台专用机器之后,艾肯发现,通用机很难有效地处理这种计算。 6)约翰·阿塔纳索夫(1903—1995)这位衣阿华州立大学的不大引人注意的物理学家(和他的助手克利福德·贝利一起)基于美国参加二战时的真空管电子学,设计并制造出了一台专用的小型计算机。尽管这台机器只能处理非常特殊的问题,但它的重要性体现在它能够证明真空管电路对于计算的重要性。 7)约翰·莫齐利(1907—1980)莫齐利的先见之明为世界上第一台大型数字处理电子计算机ENIAC在费城宾夕法尼亚大学的摩尔电子工程学院的成功研制打下了基础。莫齐利也是一个物理学家,他曾经访问了阿塔纳索夫在埃姆斯和衣阿华的实验室,并有机会研究了在那里制造的电子计算机。 8)约翰·普瑞斯伯·埃克特(1909—1995)埃克特是一位卓越的电气工程师,他的工作为ENIAC的成功研制起到了关键性的作用。 9)赫尔曼·戈德斯坦(1913—)数学家赫尔曼·戈德斯坦于1942年入伍,他被派到美国陆军军械弹道研究实验室当一名中尉。作为ENIAC项目的军方代表,他把冯·诺依曼吸收到了摩尔学院的小组中。在后来与埃克特和莫齐利的争论中,他支持冯·诺依曼一方。战争结束后,他成了冯·诺依曼在计算方面的工作的主要合作者。他关于计算史的书[Goldstine]强调了冯·诺依曼的地位,并因此而受到指责。(1954年,我如果要使用高等研究院的计算机,就要向他提出申请。)
从“思考的发展”角度,这本书简洁、有力、又不失诙谐的介绍了计算机从无到有的过程。虽然非常遗憾,我看不懂他们的计算。以及,文章中存在些许的错别字。但是,在这段令人兴奋的阅读过程中,获取到了以前从来没有意识到的规则和规则背后的哲理,了解到了数学课本上的名字,他们鲜灵的人和故事。 1.不论是计算机语言,还是数学符号,他们都是被人创造出来的。规则一直都存在,回顾学校教授我们背诵的公式,实质上是在指导我们推断。对应的,每一个数学问题都值得思考其本质,数学家在运算1+2+…+n,其实就是在思考∞到底有多远,有多大。 2.真空管的脉冲信号与大脑皮层的神经纤维信息传导,有着异曲同工之妙。或者说,我们正在致力于成为造物主——从思维角度创造拟人思考机器,赋予逻辑能力。 3.莱布尼茨的工作是为公爵编撰族谱,布尔的女儿出版了《牛虻》,哥德尔的一生充满了神奇绚烂的思想,图灵一边在二战中破译代码一边创造奇迹……每一个人都为如今我们的生活贡献了让普通人无法企及的高度,可他们实际上也是普通人,不普通的是他们一直一直一直,在思考。 可是真的好遗憾,我看不懂他们的计算
在逻辑学发展历史中经历了逻辑远古启蒙阶段(亚里士多德,阿奎那)→幼年期(莱布尼茨,康托尔,弗雷格)→公理化(希尔伯特,罗素,哥德尔)→计算机时代(图灵,诺依曼,摩尔),其中最为重要的便是哥德尔定理,通俗讲它阐述这样一个事实:当两个学生吵架去找老师评理,可是两个学生却无法证明老师是否公正(为真or为假),于是他们去找校长,校长呢可以判定班主任公正与否,但已不再是(学生,老师)这个逻辑体系内部的证明了,而是升级到新的(学生,老师,校长),同理要在(学生,老师,校长)这个逻辑体系证明校长是否公正也是无法进行的,而校长就是哥德尔句子。于是波普尔曾解释自己的证伪主义时说,要想知道一个逻辑体系的哥德尔句子就需要不断证伪(无穷)。但它也可以引申出这样一个事实:在过去认为正确的东西,在未来有可能是错的,因为从时间因果性上看过去和未来不属于同一个逻辑体系(不可逆)。
这本书回答了我很多问题,比如导致数学基础大厦动摇的罗素悖论原来是算术一致性的问题,而算术的基础是逻辑,逻辑的基础是数字,反过来逻辑代表了一种计算,而不一致的问题就转化为了总有一些逻辑是不可计算的,因为它们通通属于一个内部的系统,然而通过引入额外的规则,即从系统的外部总可以解决内部系统解决不了的问题,这也是分层的思想。 莱布尼兹之梦其实就是找到一种逻辑可以对所有问题进行一种演绎推理(计算),经过布尔、弗雷泽、康托尔到哥德尔,这种逻辑的演绎才趋于完善。 再比如,图灵为什么在计算机科学领域有如此崇高的地位,因为他不仅洞察到莱布尼兹之梦的本质,也将其思想进行了升华,变成了一种可实现的设计即通用计算机,而冯·诺依曼架构都是在图灵通用计算机的思想上构造的,或者正是图灵的工作使得莱布尼兹之梦成为现实,使得计算机的诞生和程序语言的诞生,而这背后的一切是300年来数理逻辑学家的共同不懈努力。
数理逻辑才是计算机科学的灵魂!人类大脑的运作到底是不是一种提前植入的算法,我们虽没有结论,但不妨大胆预测:倘若我们是某更高级文明的程序,而如今蓬勃发展的 AI 就是我们设计的程序,未来它们能否取代甚至统治我们是否也暗示我们之于高级文明的影响?在我看来,答案是否定的,就像哥德尔不完备定理阐明的,人类认知无论在何种维度上,都是有边界的,暗示着 AI 也一样。但这仍然不能作为不去谨慎发展 AI 的借口,就像作者所警示的“只要注意到自EDVCA和ACE报告出现以来的计算机的发展状况,我们在预测它们未来能够做什么和不能做什么时,便很有理由要谨慎一些”。
第一推动系列丛书(共计62本)综合系列(14册)第3本 如本书的尾声和译后记所讲,本书介绍的主要人物是莱布尼茨、布尔、康托尔、希尔伯特、哥德尔和图灵等一批卓越的革新者横跨3个世纪的生活,他们中的每一位都以这样那样的方式关注人类推理的本性,他们每个人的贡献加在一起便构成了理智的母体,由此孕育出了通用数字计算机。计算机技术可以分为两大部分,其一是它的工程实现方面,另一则是它的思想或逻辑方面。计算机实际上是逻辑机器,它的电路体现了几个世纪以来一大批逻辑学家所提出的观点之精华。正是那些逻辑学家的思想使得计算机技术以惊人的速度突飞猛进成为可能。从莱布尼茨到图灵,计算机的硬件和软件体现了几个世纪以来的一批逻辑学家所提出来的概念。本书讲述的就是这些位于计算机背后的思想层面的历史。 计算机技术的发展体现了人类智慧迭代升级这一显著特点,一代代顶尖人才接力发掘逻辑的地基并逐渐夯实,继而由正确的理论到持续的实践。从1646年莱布尼茨出生,到现在已经过去了将近380年,计算机的发展也才刚刚踏入智能化的门槛,实现真正的人工智能还有很远的路要走。 书中对于各位大家关于逻辑底层原理和公式的阐述,对于非该领域的人来讲显得较为深奥。