1 生平
1.1 早年与教育
1.1.1 波士顿成长背景
约翰·麦卡锡于1927年9月4日出生在美国马萨诸塞州波士顿。他的父亲约翰·帕特里克·麦卡锡是一名爱尔兰裔工会组织者与活动家,母亲艾达·格洛里亚·麦卡锡则是立陶宛犹太裔移民。童年时期,麦卡锡随家人在波士顿地区辗转,由于父亲参与劳工运动,家庭经济状况并不稳定。然而,麦卡锡很早便表现出对数学与机械的浓厚兴趣,常在家中使用二手课本自学微积分和基础物理学。波士顿作为新英格兰地区的文化与学术中心,为少年麦卡锡提供了接触科学书籍和社区图书馆的便利,这种环境促使他养成了独立探索问题的习惯。
1.1.2 加州理工学院与普林斯顿大学求学
1944年,麦卡锡进入加州理工学院学习数学,并于1948年获得学士学位。在加州理工学院期间,他首次接触到早期的电子计算机和数理逻辑课程,这为他日后在人工智能领域的思考奠定了基础。随后,麦卡锡转入普林斯顿大学攻读研究生,师从数学家所罗门·列夫谢茨,于1951年获得数学博士学位。他的博士论文研究的是偏微分方程中的定量分析问题。尽管此时麦卡锡尚未正式涉足人工智能领域,但他在普林斯顿接触到了数学逻辑、控制论以及早期计算机理论,这些积累使他逐渐形成“机器可以模拟智能”的初步构想。
1.2 学术生涯
1.2.1 达特茅斯学院时期
1955年,麦卡锡加入达特茅斯学院,担任数学助理教授。正是在这所新罕布什尔州的学院里,他构思并推动了人工智能领域的里程碑事件。1956年夏天,麦卡锡与马文·明斯基、克劳德·香农、纳撒尼尔·罗切斯特等人共同组织了达特茅斯夏季人工智能研讨会。这次会议被公认为人工智能作为独立学科的诞生标志。麦卡锡在会议的正式提案中首次使用了“人工智能”一词,并设定了为期两个月的研究议程,涵盖自然语言处理、神经网络、抽象推理等多个方向。尽管会议期间未达成统一的理论框架,但它成功吸引了首批研究者,并奠定了麦卡锡在学界内的领袖地位。
1.2.2 麻省理工学院与斯坦福大学
1959年,麦卡锡离开达特茅斯,转赴麻省理工学院任教。在MIT期间,他创建了MIT人工智能实验室的前身——项目MAC(Project on Mathematics and Computation),并在此开发了Lisp编程语言。1962年,麦卡锡因对MIT的学术氛围感到不满(部分原因是他认为实验室过度强调应用而忽视基础理论),接受斯坦福大学的邀请,成为该校数学与计算机科学系的教授。在斯坦福,他创建了斯坦福人工智能实验室(SAIL),并持续工作近30年。SAIL在机器视觉、逻辑推理和自主移动系统方面产生了众多开创性成果,麦卡锡本人则在此深化了情景演算与容错逻辑的研究,直至1994年正式退休。
2 主要贡献
2.1 人工智能概念与达特茅斯会议
2.1.1 会议发起与定义
1955年,麦卡锡在向洛克菲勒基金会申请资助的提案中,清晰地提出了“人工智能”这一术语。他写道:“本研究的目的是探究如何让机器使用语言、形成抽象概念、解决人类才能解决的问题,以及实现自我改进。”达特茅斯会议于1956年7月至8月举行,与会者包括马文·明斯基、克劳德·香农、亚瑟·塞缪尔、特伦奇·莫尔等10余人。会议虽未产生统一的定义或核心技术,但麦卡锡的提案和会议议程实际框定了人工智能的研究范围:符号推理、模式识别、博弈、语言理解等。
2.1.2 对后续研究的催化作用
达特茅斯会议直接催化了早期AI研究机构的建立。会议结束后不久,MIT成立了MAC项目与AI小组,卡内基梅隆大学、IBM研究部也相继启动了AI相关课题。会议还促使美国国防部高级研究计划局(ARPA)对人工智能进行长期资助。麦卡锡本人随后在斯坦福将会议提出的议题系统化为“基于逻辑的人工智能”路线,与明斯基等人提倡的“感性-连接主义”路线形成学术竞争。尽管当代AI领域已转向机器学习,但麦卡锡对“智能可被形式化”的信念,始终支撑着符号主义AI的研究传统。
2.2 Lisp编程语言
2.2.1 设计与开发
2.2.1.1 树形数据与符号处理
麦卡锡在1958年构思并开发了Lisp。Lisp的核心创新在于使用“列表”(list)作为唯一的基本数据结构,并通过递归定义对列表进行操作。这种设计将数学函数的概念直接映射为程序,允许代码和数据使用同一种表示——即著名的“代码即数据”(homoiconicity)原则。麦卡锡特别强调树形结构的符号处理能力,这使得AI系统可以便捷地表示逻辑规则、语义网络和推理过程。1960年,他发表了论文《符号表达式递归函数的机器程序设计》,详细阐述了Lisp的理论基础。
2.2.2 Lisp对函数式编程的影响
Lisp不仅是AI研究的母语,更是函数式编程语言的先驱。它引入了lambda演算、高阶函数、递归、垃圾回收等特性,这些概念后来影响了Scheme、Common Lisp以及非Lisp阵营的Haskell、Scala等语言。1960年代,麦卡锡在Lisp中首次实现了条件表达式、函数绑定的作用域规则,这些设计直接启发了ALGOL语言族的演化。直到21世纪,Lisp的分支(如Emacs Lisp和AutoLisp)仍在特定领域被广泛使用。
2.3 分时系统与交互式计算
2.3.1 早期分时系统构想
1959年,麦卡锡在MIT撰写了一份备忘录,提出了分时系统(Time-Sharing System)的构想。他设想让多台终端通过一台中心计算机轮流使用计算资源,每位用户都能获得仿佛独占系统的交互体验。此前,计算机采用批处理模式,程序提交后需等待数小时才能得到结果。麦卡锡认为交互式使用对于AI研究的调试至关重要——研究者需要与系统实时对话,以观察推理与学习的动态过程。这一构想直接促成了MIT的CTSS(兼容分时系统)和后来的Multics系统。
2.3.2 与AI研究的关联
分时系统的开发与麦卡锡的AI研究紧密交织。AI程序通常规模庞大,需要频繁试错和渐进式改进。没有分时系统,研究者只能通过纸带打孔或批处理卡片来修改代码,效率极低。麦卡锡在斯坦福AI实验室部署的SAIL操作系统也继承了分时理念,允许整个实验室的研究人员共享一台PDP-10,同时运行多个Lisp进程。这种交互式环境不仅加速了AI领域的进展,还确立了现代操作系统在资源调度与用户交互方面的基本原则。
2.4 逻辑与知识表示
2.4.1 容错逻辑与非单调推理
麦卡锡认为,AI系统需要具备处理不完善知识和动态信息的能力。他因此研究了容错逻辑(Tolerant Logic)与非单调推理(Nonmonotonic Reasoning)。在经典逻辑中,若新增一条事实,之前得出的结论必须保持不变(单调性)。但在现实世界中,代理人往往需要根据默认假设做出推断,并在遇到反例时撤回结论。麦卡锡提出了“默认逻辑”(Default Logic)的初步框架,允许系统在缺乏完整信息时应用“除非有反例,否则默认成立”的规则。这一思路后来由雷蒙德·赖特等人发展为正式的默认逻辑理论。
2.4.2 情景演算
情景演算(Situation Calculus)是麦卡锡在1960年代提出的用于表示动作与变化的逻辑框架。他使用“情景”(situation)表示世界状态,通过函数和谓词描述动作的前置条件与后果。例如,“若机器人在情境S中位于房间A,则执行‘移动’动作后将进入另一个情境S',其中机器人位于房间B”。情景演算为AI规划系统提供了形式化的语义基础,并被后续研究者扩展为流演算(Fluents)和事件演算(Event Calculus)。尽管当代AI规划多采用状态空间搜索,情景演算的概念仍在知识表示与推理课程中占据核心地位。
3 奖项与荣誉
3.1 图灵奖(1971)
1971年,美国计算机协会(ACM)授予麦卡锡图灵奖,以表彰他在人工智能、Lisp语言和分时系统方面的开创性贡献。颁奖词特别提到他“对符号处理和递归函数理论的结合,使计算机能够模拟复杂的思维过程”。麦卡锡在获奖演说中预言,未来计算机将不仅能下棋和证明定理,还能拥有与人类相似的常识推理能力。
3.2 其他重要奖项
3.2.1 京都奖(1988)
1988年,麦卡锡获得日本京都奖(先进技术类别)。京都奖评审委员会称赞他“通过倡导基于逻辑的人工智能和发明Lisp,为信息科学开辟了新的可能性”。麦卡锡在颁奖仪式上发言,再次强调形式逻辑在AI中的基础作用,并批评当时的神经网络热潮缺乏理论严谨性。
3.2.2 美国国家科学奖章(1990)
1990年,时任美国总统乔治·H·W·布什向麦卡锡颁发美国国家科学奖章,表彰他“在计算机科学和人工智能领域的持久贡献,以及促进人类理解计算与智能之间关系的远见”。麦卡锡成为少数同时获得图灵奖和国家科学奖章的学者之一。
4 影响与遗产
4.1 对人工智能学科的影响
麦卡锡是“符号主义AI”学派的旗帜性人物。他坚持认为智能行为可以通过逻辑推理与符号操作实现,这一观点在1970年代至1980年代主导了AI研究的主流范式。尽管连接主义(神经网络)在后来崛起,但知识表示、规划、推理等符号AI分支依然在专家系统、自动定理证明和机器人规划中发挥关键作用。麦卡锡在达特茅斯会议上提出的研究问题清单,至今仍是AI教科书的核心内容。
4.2 对编程语言发展的影响
Lisp的革命性设计影响了几乎所有现代编程语言。垃圾回收机制被Java、Python和Go语言采用;代码即数据的思想在宏系统和元编程中延续;递归与高阶函数成为函数式编程的基石。麦卡锡还推动了语法的高阶抽象,例如将控制流抽象为函数调用,这一想法后来演变为面向切面编程的概念。此外,Emacs编辑器以Lisp作为扩展语言,使得文本编辑成为可编程环境。
4.3 学界与工业界的后续应用
分时系统直接催生了现代操作系统,如UNIX和Linux。麦卡锡的交互式计算理念还影响了图形用户界面的开发,因为只有实现了多个终端的实时响应,才可能将屏幕输出与鼠标操作结合起来。在AI工业界,基于Lisp的专家系统一度被金融、医疗和军事领域广泛采用。虽然当代AI的引擎多用Python或C++编写,但许多框架(如TensorFlow、PyTorch)的设计哲学——即数据流图与自动微分——仍然隐约带有麦卡锡关于“符号表达式求值”的早期直觉。
5 争议与轶事
5.1 关于“AI冬天”的立场
1980年代末,人工智能经费消退,研究进入所谓的“AI冬天”。麦卡锡认为,冬天的根源在于研究者高估了早期技术的实用性,而非符号主义范式本身的错误。他公开批评联结主义学派过度吹嘘神经网络的商业前景,并坚持逻辑方法仍是最佳的长期研究路线。这种强硬立场为他在热切追求“深度学习”的后辈中赢得了“顽固派”标签,但也迫使学界保持着对符号与连接两种方法的辩证审视。
5.2 幽默与个性化标签
5.2.1 “手写体Lisp”传说
麦卡锡以极差的手写字迹闻名。据他当年的学生回忆,他在黑板上书写Lisp程序时,括号和字母往往混成一团,学生需要“仔细辨认可疑的曲线才能抄对代码”。这一传说衍生出所谓“手写体Lisp”的梗:有人调侃说,麦卡锡实际上发明了一种仅供他个人使用的手写方言,编译成标准Lisp时需要额外一张翻译表。麦卡锡本人听到后哈哈大笑,并表示“如果我的字迹像机器印刷品一样规范,那么人工智能早就诞生了”。
5.2.2 对科幻作品的态度
麦卡锡并不欣赏当时流行的机器人科幻小说。他认为《我,机器人》中的机器人三定律过于道德化,而《2001太空漫游》中HAL 9000的背叛行为则完全违背了他的逻辑框架——因为按照情景演算,一个理性智能体不会随意引入冲突前提。他在一次讲座中半开玩笑地说:“阿西莫夫应该先参加达特茅斯会议,再写他的机器人故事。”不过,麦卡锡承认科幻作品激发了公众对AI的兴趣,他有时也会在授课中用《星际迷航》中的“电脑”角色来解释递归调用。