“如果没有可计算性理论的基础,我们连'什么是可计算的'这个基本问题都无法回答。现代 AI 遇到的很多理论难题,其实都可以追溯到邱奇的工作。”
近期,一篇题为 Alonzo Church: The Forgotten Architect of Computer Intelligence 的文章在 Hacker News 引发热议,登上了首页热门。这篇文章开篇便提出了一个引人深思的观点:
如果你听说过图灵测试,那么你一定听说过艾伦·图灵。但在提到图灵的同时,你可能也会遇到一个鲜为人知的名字——阿隆佐·邱奇。当我们回顾计算机和人工智能的'流行'历史时,图灵的名字经常成为焦点,但图灵许多开创性工作的合作基础,实际上是由邱奇奠定的。阿隆佐·邱奇的工作深刻影响了艾伦·图灵的思维,并在图灵测试的发展中发挥了决定性作用。
这些论断(包括这个争议性的标题:“计算机智能”)在 Hacker News 评论区引发了激烈讨论,主要集中在三个焦点问题上:
1. 邱奇是否真的被“遗忘”了?
一位评论者直言:“也许他只是被那些对计算机历史知之甚少的人‘遗忘’了。” 这句话火药味比较冲,还给“遗忘”打了个引号,颇具讽刺意味,直接引发了关于邱奇在计算机科学史上地位的热烈讨论。
2. Lambda 演算的符号起源之争
评论区对 λ(Lambda)符号的由来展开了深入讨论。有人引用了《人工智能编程范式》(Paradigms of Artificial Intelligence Programming)一书中的观点:
Lambda 这个名字来自数学家阿隆佐·邱奇对函数的符号表示法(Church, 1941)。Lisp 通常偏好使用富有表现力的名称而不是简短的希腊字母,但 lambda 是个例外。一个更好的名字应该是 make-function。
然而,另一位评论者提出了不同观点:“这个广为流传的故事可能并不准确。”,并引用了其他历史资料说明这可能只是一个随机的选择。
3. 他对计算机智能的贡献究竟有多大?
原文将邱奇称为"计算机智能的先驱",这一说法在评论区引发争议。有评论者指出:“我确信邱奇是一位杰出的逻辑学家,但他对「计算机智能」(也就是 AI/ML)的贡献绝对是零。”
这些争议背后,实际上反映了一个更深层的问题:在人工智能快速发展的今天,我们应该如何看待那些奠基性的理论工作?为了更好地理解这个问题,我们不妨先回到 1950 年代的普林斯顿大学,聆听一位亲历者的回忆。
美国国家科学院院士、洛斯阿拉莫斯国家实验室高级研究员、MIT(麻省理工学院)至今唯一同时担任数学与哲学双教席的 Gian-Carlo Rota(吉安-卡洛·罗塔)教授在他的回忆录《黄金时代的普林斯顿数学系》(Fine Hall in its golden age: Remembrances of Princeton in the early fifties)中,为我们生动描绘了邱奇的形象:
他的外表像是熊猫和一只大猫头鹰的混合体。他说话缓慢,用完整的段落,仿佛是在朗读书本,语调平稳而缓慢,就像一台会说话的机器。当被打断时,他会停顿很长一段令人不适的时间来恢复思路。他从不做随意的评论:这些不属于形式逻辑的范畴。
这段描述让我们看到了一个与通常印象完全不同的邱奇——他不是一个孤傲的天才,而是一个极度严谨、近乎偏执的学者。这种性格特征,或许正是他能够在逻辑学和计算理论领域做出开创性贡献的关键。
接下来,让我们围绕 Hacker News 评论区的这三个争议焦点,深入探讨这位被称为“被遗忘的计算机智能先驱”的真实模样,理解他的工作对今天的计算机科学和人工智能究竟有何影响。
争议之一:阿隆佐·邱奇是否真的被“遗忘”了?
“被遗忘”这个说法本身就充满争议。在学术界,特别是在数学、逻辑学和计算机科学领域,邱奇从未被遗忘。相反,他的影响力可能比我们想象的要深远得多。
普林斯顿的回忆
Gian-Carlo Rota 在普林斯顿求学期间,亲身经历了邱奇的课程。他的回忆为我们提供了一个独特的视角:
邱奇的数理逻辑年度课程是普林斯顿大学最重要的课程之一。1951年,这门课吸引了多达四名学生(必须补充的是,其中没有哲学系的学生,这是哲学系的损失)。每堂课都以一个十分钟的仪式开始——把黑板擦得一尘不染。我们试图在他到来之前就把黑板擦干净,但这是徒劳的。这个仪式是不可或缺的;通常需要用到水、肥皂和刷子,之后还要再用十分钟等待黑板晾干。
这种近乎偏执的严谨,在当时可能让很多人感到不适,但这恰恰反映了邱奇对学术的态度。Rota 继续描述道:
有人可能会问,为什么要去听一个完全照本宣科的课程。这个问题反映了对课堂教学的过于简单化理解。在学习过程中,人们真正学到的是当时并不知道的东西。给我们上课的这个人就是逻辑的化身。他的停顿、犹豫、强调、情感流露(尽管很少),以及其他各种非语言现象,教会了我们比任何书面材料都要多的逻辑知识。我们学会了像跟随健身教练示范动作一样,随着他的讲述思考。邱奇的课程永久地提高了我们推理的严谨性。
然而,即便在普林斯顿,邱奇的地位也并非无可争议。即使在普林斯顿这样的数学重镇,对待不同研究方向的态度也存在明显的等级差异:
数理逻辑在普林斯顿一直不受重视,无论是当时还是现在。在邱奇讲课结束前两分钟(课程在 Fine Hall 最大的教室进行),Lefschetz 就会开始从门缝里往里看。他瞪着我和黑板上一尘不染的文字,有时还会摇头,以表明他认为我是一个没救的人。
这种学术偏见可能部分解释了为什么邱奇在某些圈子里被“遗忘”。Hacker News 的一位评论者写道:“只有在普林斯顿数学系的主流论调中,邱奇才显得不那么重要。正如 Rota 回忆中提到的,当时的 Lefschetz 就对数理逻辑不屑一顾。这种学术偏见在当时相当普遍。”
另一位评论者则指出:“邱奇确实被遗忘了,但不是被计算机科学家遗忘,而是被更广泛的科技社区遗忘。图灵有布莱切利园的故事,有电影《模仿游戏》,但邱奇的故事就显得不那么'戏剧性'。”
但从另一个角度来看,邱奇的影响力是持久的。他的学生包括了一批后来成为计算机科学先驱的人物。正如原文指出:
邱奇也是他那个时代最伟大的逻辑学家和计算机科学家的导师。他的学术后裔包括 Stephen Kleene、J. Barkley Rosser,以及最著名的 Alan Turing,后者在普林斯顿在邱奇的指导下完成了博士学位。
美国哲学家、美国艺术与科学院院士、英国科学院通讯院士 David Kaplan 曾经这样建议他的新研究生:
“去上邱奇教授的课吧。它会改变你。即使你对他教授的科目不感兴趣,你也会把这件事讲给你的孙辈听。”
从历史文献看邱奇的地位
在计算机科学史上,邱奇的贡献得到了充分的记载。1941 年出版的《The Calculi of Lambda-Conversion》被认为是计算机科学最重要的奠基性著作之一。Stephen Cole Kleene 在《数理逻辑概论》(Introduction to Metamathematics,1952)中大量引用了邱奇的工作。
Martin Davis 在《计算机》(Engines of Logic,2000)一书中写道:
“邱奇的工作为我们理解什么是可计算的提供了第一个严格的数学框架。这项工作不仅影响了图灵,也影响了整个计算机科学的发展。”
这种影响力延续至今。在现代编程语言中,λ 演算的影响无处不在。函数式编程语言如 Haskell、ML 和 Scheme 都直接建立在 λ 演算的基础之上。更重要的是,邱奇的工作为计算机科学奠定了理论基础。
那么,为什么会有“被遗忘”的说法呢?原文给出了一个解释:
尽管做出了巨大的智力贡献,阿隆佐·邱奇从未像图灵、冯·诺依曼、哥德尔等人那样享有盛名。他的遗产是一种细致的抽象,这种抽象很难被写进好莱坞剧本或激发公众想象力。它缺乏战时破译密码的英雄主义或令人唏嘘的早逝悲剧。
Rota 的回忆为这个观点提供了佐证。他描述邱奇是这样一个人:
他从不做随意的评论:这些不属于形式逻辑的范畴。比如,他不会说:“下雨了。”这样一个孤立的陈述是没有意义的。(是否真的在下雨并不重要;重要的是一致性。)他会说:“我必须推迟去拿骚街的行程,因为正在下雨,这一事实我可以通过看窗外来验证。”
这种极度追求严谨的性格特征,虽然让他成为了一位杰出的逻辑学家,但也使他难以像其他科学家那样成为公众人物。某种程度上,邱奇确实被“遗忘”了,但这种“遗忘”似乎只存在于公众视野中。在学术界,他的影响力从未减弱。一位 Hacker News 用户在评论区分享了他 1982 年的亲身经历:“我很幸运能在 1982 年 8 月在 CMU 的 ACM LISP 和函数式编程研讨会上见到阿隆佐·邱奇和哈斯克尔·柯里……Gerry Sussman 在接待会上带着我们见他们时非常兴奋。” 这段回忆生动展现了邱奇在计算机科学界的地位。
争议之二:Lambda 符号的起源之谜
λ 演算不仅是现代计算机科学的理论基石,更是函数式编程范式的根基所在。笔者最近有幸采访了一位在这个领域颇有建树的编程大师——被全世界开发者亲切地称为“Bob 大叔”的 Robert C. Martin。这位面向对象编程的领袖级人物前段时间出版了一本关于函数式编程的新作《函数式设计:原则、模式与实践》,而当被问及为何这位“面向对象编程阵营”的大师要“背叛”到“敌营”时,Bob 大叔以其一贯的直率作风回应道:“近年来一些文章声称函数式编程与面向对象编程对立,面向对象编程已经过时。我不认同这种观点,因此决定写这本书。”
欢迎回顾:《对话世界级编程大师 Bob 大叔:当机器像人一样思考,编程技巧将会过时,技术迎来奇点》
在计算机科学发展的长河中,从 λ 演算到现代编程范式,或许本就不存在所谓的对立,而是一种递进与融合的关系。在 Hacker News 的讨论中,关于 λ(Lambda)符号的由来引发了一场激烈的辩论。这场辩论源于《人工智能编程范式》(PAIP)一书中的一段广为流传的说法:
Lambda 这个名字来自数学家阿隆佐·邱奇对函数的符号表示法(Church 1941)。Lisp 通常偏好使用富有表现力的名称而不是简短的希腊字母,但 lambda 是个例外。Lambda 源自罗素和怀特海的《数学原理》中对约束变量的符号表示法:在变量上方加上一个折角符号(x̂(x + x))。邱奇想要一个一维的表示方式,所以他把折角符号移到了前面:^x(x + x)。这个折角符号看起来很奇怪,所以邱奇换成了最接近的符号,大写的 Lambda:Λx(x + x)。Λ 容易与其他符号混淆,所以最终改用了小写的 lambda:λx(x + x)。
然而,这个看似合理的解释很快就遭到了质疑。一位评论者指出:
Dana Scott(邱奇的博士生)曾经回答过这个问题。他说,用邱奇自己的话说,这个选择完全是“碰运气”——换句话说,这是一个完全随意的选择,没有特别的原因。
这场争论引发了更深入的历史考证。有评论者提到了一个有趣的法语用法:
作为一个法语母语者,我喜欢用“personne lambda”这个表达,它表示一个普通人,也就是一个匿名者,这与匿名函数的概念非常契合。更普遍地说,在法语中,lambda 作为形容词意味着“普通/常见”,而且你可能知道 lambda 字母在希腊字母表中居中,所以用它来表示一个平均或普通的概念是有道理的。
这个符号起源的争议实际上反映了一个更深层的问题:在数学史上,有多少重要的概念是出于深思熟虑,又有多少是随机选择的结果?
根据目前最可靠的史料,既阿隆佐·邱奇的博士生 Dana Scott 在一段被保存下来的录像中,提到了三个关键点:
1. Scott 曾经亲自问过 John McCarthy(Lisp 语言的发明者,这门语言的诞生是对阿隆佐·丘奇的 λ 演算系统的实现)为什么邱奇选择了 lambda——McCarthy 说,他不知道
2. Scott 在普林斯顿求学期间,邱奇从未讨论过 lambda 演算
3. John Addison(邱奇的女婿)曾经写明信片询问邱奇这个符号的由来,邱奇在回信的边缘只写道一行字:“eeny, meeny, miny, moe”
这是个很有意思的回答,侧面体现了邱奇本人的性格。“eeny, meeny, miny, moe”是非常知名的一个顺口溜,主要的使用场合是在不知道该选择某项事物的时候,对着几个选项念“eeny, meeny, miny, moe”——也就是中文的“点兵点将”。邱奇可能是在暗示,λ 符号可能是他通过随机选择出来的。
无论这个符号的选择是否有深意,Lambda 演算本身的重要性是毋庸置疑的。Hacker News 评论区里还有一处相当有趣的评论:“有些人不愿意将语言中的函数式、lambda 演算部分与有副作用的部分混在一起。看来他们相信 Church and State(教会和国家)的分离。”
这是个精妙的双关语,Church 既指邱奇,也暗指“教会”。看来,关于 Lambda 符号的争议背后,其实反映了函数式编程和命令式编程的深层分歧。
作为争议的一部分,还有位 Hacker News 评论者补充道,“邱奇选择 lambda 符号的故事其实有多个版本。Dana Scott 的说法是完全随机选择,但 Barendregt 则说这是经过深思熟虑的结果。这种历史细节的争议本身就很有意思。”
这场争论实际上反映了学术界对这段历史的不同理解。这个评论提到的“Barendregt”正是指 λ 演算领域最具权威的学者之一 Henk Barendregt。他在 1984 年出版的经典著作《Lambda Calculus: Its Syntax and Semantics》中支持了符号源自《数学原理》的说法。但 Dana Scott 作为邱奇的学生,却在伯明翰大学的一次演讲中特别否认了这个版本,称符号的选择完全是随机的。
“如果我们就这个话题去采访 McCarthy,他的回答肯定会很有意思,” Hacker News 还有一位评论者写道,“因为在 Lisp 语言刚发明的时候,,他和他的团队其实更倾向于用 'make-function' 这样的名字。但最终还是保留了 lambda,这本身就是一个有趣的历史选择。”
评论区随即展开了关于编程语言命名的讨论。一位 Hacker News 评论者指出:
Steve Russell(实现第一个 Lisp 解释器的人)在几个月的教学后意识到"first"和"rest"是更好的名字,他和其他人(包括 John McCarthy 和 AI 项目的其他成员)试图让人们改用这些名字。但为时已晚!
这个细节揭示了一个有趣的现象:即使是最简单的编程概念,一旦被广泛接受,就很难改变。今天,在众多现代编程语言中,我们仍然能看到 Lambda 的身影:
Python 的 lambda 表达式
JavaScript 的箭头函数(=>)实际上是 Lambda 表达式的变体
Java 8 引入的 Lambda 表达式
C++ 11 后引入的 Lambda 表达式
有趣的是,Lambda 这个符号的选择可能确实是随机的,但它获得了意外的文化意义。正如前文那位法语评论者指出的,“lambda”在多种语境下都暗示着“普通/通用”的概念:
在法语中,“personne lambda”表示普通人
在科学中,lambda 常用作波长的符号,表示一个通用的度量
在计算机科学中,lambda 成为了函数抽象的象征
这种符号学上的巧合,或许正是这个被邱奇随机选择的符号能够持久存在的原因之一。
争议之三:邱奇对计算机智能的贡献究竟有多大?
在 Hacker News 的评论区,一位读者尖锐地指出:
我确信邱奇是一位杰出的逻辑学家,但他对'计算机智能'(也就是 AI/ML)的贡献绝对是零。
这个评论引发了激烈的讨论。一位评论者反驳道:“说邱奇对 AI 毫无贡献是非常片面的。如果没有可计算性理论的基础,我们连'什么是可计算的'这个基本问题都无法回答。现代 AI 遇到的很多理论难题,其实都可以追溯到邱奇的工作。”
这引发了一场关于理论基础重要性的讨论。“我想起了一个类比,”另一位评论者写道,“说邱奇对 AI 没有贡献,就像说麦克斯韦对手机技术没有贡献一样可笑。基础理论的重要性往往被低估了。”
还有评论者指出:“有趣的是,在函数式编程越来越受欢迎的今天,邱奇的工作反而显得越来越重要了。Lambda 演算不仅是理论工具,也是实践指南。”
表面上看,邱奇确实从未直接参与过我们今天所说的人工智能或机器学习研究。但这种观点可能过于片面,因为它忽略了一个关键问题:什么是计算机智能的本质?回顾最初引发争议的那篇文章 Alonzo Church: The Forgotten Architect of Computer Intelligence,或许能找到答案。
1936 年,阿隆佐·邱奇提出了现在被称为邱奇-图灵论题的概念,这个概念是理论计算机科学的基础,它指出任何可以被有效计算的函数都可以由图灵机或其等价物来计算。这个论题具有开创性意义,因为它不仅提供了理解机器理论上能做什么的框架,还指出了算法过程的边界。
这个论题的重要性怎么强调都不为过。它第一次从理论上界定了什么是“可计算的”,什么是“不可计算的”。这个理论框架直接影响了后来对人工智能能力边界的认知。
Gian-Carlo Rota 在回忆录中提到了邱奇对待数学证明的态度:
有一次他不得不使用一个此前已证明定理的变体,这个变体仅仅是符号表示法的改变。沉默片刻后,他转向全班说:“我可以简单地说'同理可证',但我最好还是重新证明一遍。”
这种极度严谨的态度,在今天看来,恰恰体现了“计算思维”的本质——将复杂的问题分解为可以被精确定义和验证的步骤。这不正是现代人工智能所依赖的基础吗?此外,除了 λ 演算,邱奇在逻辑学和哲学的其他领域也做出了重要贡献,比如他对希尔伯特提出的 Entscheidungs problem(判定问题)的工作。
这个问题是希尔伯特在 1928 年提出的,询问是否存在一个确定的算法来判定任何数学陈述的真伪。邱奇给出了否定的答案,证明这样的算法是不存在的,这就是著名的邱奇定理。
这个工作的意义远超纯数学领域。它实际上为人工智能的能力边界提供了第一个理论框架。当我们今天讨论 AI 的局限性时,很多论证仍然可以追溯到邱奇的这个基础性工作——他的遗产。
Rota 在回忆录中描述了邱奇独特的教学方式:
有人可能会问,为什么要去听一个完全照本宣科的课程。这个问题反映了对课堂教学的过于简单化理解。在学习过程中,人们真正学到的是当时并不知道的东西。给我们上课的这个人就是逻辑的化身。
这种教学方式本身就体现了一种将复杂知识系统化的努力,这与现代人工智能系统的知识表示有着惊人的相似之处。事实上,邱奇的学生后来在人工智能领域做出了重要贡献,其中最著名的就是艾伦·图灵。
在评论区,一位用户提出了一个深刻的观点:“图灵及其所代表的一切最终被 AI 研究所推崇,但邱奇恰恰相反。前者从纯粹性出发,关注最低限度的条件/可能性;后者关心的是我们实际上如何思考,他不关心实现,而是关心表达和抽象的推进。”
另一位评论者对这一观点做出了精彩的补充:“图灵在战时建造了实用的计算机,但后来被自己的政府禁止继续制造计算机,所以不得不退回到理论研究。邱奇则没有实际的计算机经验,他更多地是在扩展数学本身的理论。在他们跨越大洋的合作和交流中,他们将大量实践和理论结合在一起...我认为把这看作一场竞争是错误的,因为他们的合作成果如此丰硕。计算机科学有'两个父亲',这种说法因为多个原因而显得恰如其分。”
这个观点为我们理解邱奇对计算机智能的贡献提供了一个新的视角:也许不应该用今天的 AI/ML 标准来评判他的贡献,而应该从计算思维的本质出发来理解他的影响。当有人说邱奇对“计算机智能”的贡献是零时,可能是在用现代的眼光看待历史,或者说是在用狭义的“人工智能”定义来评判一个更基础的贡献。正如 Alonzo Church: The Forgotten Architect of Computer Intelligence 原文所言:
邱奇的天才属于另一种类型,它是那种看不见的天才,是没有它就无法存在的严谨结构的天才。他的工作构成了我们今天习以为常的许多数字交互的理论基础,影响了计算机科学的发展和塑造我们日常计算机交互的算法过程。
邱奇从未被遗忘,相反,他的工作一直在以最基础的方式影响着这个领域的发展。就像 Rota 在回忆录中所描述的那个一丝不苟的清理黑板的仪式一样,邱奇对待学术的态度体现了一种近乎偏执的完美主义。这种态度或许让他失去了成为公众人物的机会,但也正是这种态度,让他能够建立起经得起时间考验的理论基础。
今天,当我们谈论 ChatGPT、深度学习、神经网络这些炙手可热的技术时,往往会忽略这样一个事实:所有这些技术的可能性和局限性,其实都可以追溯到邱奇那个时代奠定的理论基础。λ 演算、可计算性理论、邱奇-图灵论题……正如量子力学为现代电子计算机的发展奠定了物理基础,邱奇的工作则为计算机智能的发展提供了逻辑基础。
相关资料:
https://onepercentrule.substack.com/p/alonzo-church-the-forgotten-architect
https://news.ycombinator.com/item?id=42042025
https://www34.homepage.villanova.edu/robert.jantzen/princeton_math/pmcxrota.htm