今天的人工智能先驱人物篇的主角是约翰·麦卡锡(John McCarthy),在1955年的达特矛斯会议上,麦卡锡与马文·明斯基共同提出的“人工智能”这个概念,标志着人工智能的正式诞生。
麦卡锡将人工智能定义为:“研制智能机器的一门科学与技术”。所以,研制智能机器始终是人工智能研究的核心问题。
科学与政治
1927年9月4日,麦卡锡出生于美国波士顿一个共产党家庭。父母的工作性质决定全家需不断搬迁,从波士顿迁到纽约,然后又到了洛杉矶。
信仰爱尔兰天主教的父亲当过木匠、渔夫和工会组织者,同时也是一位发明家,拥有捻船缝机和桔汁冷冻机两项专利。
他的母亲是立陶宛犹太人,最初在联合通讯社当记者,后来在一家共产党报社工作。夫妻俩都曾参加过美国给出的,受父母的影响,麦卡锡从小就把自己对科学的兴趣与家庭的政治倾向结合起来。
麦卡锡认为自己的青少年时期平淡无奇,但事实证明并非如此。在上高三时,他得到了一份加州理工学院的课程目录,上面列出了该校一年级和二年级的微积分课本。
他买了这些书,完成了所有的练习题目。这使得他最终在 1944 年进入加州理工后得以免修头两年的数学课程。
1948年,他获得了加州理工学院数学学士学位,在1951年又获得了普林斯顿大学数学博士学位。
改变一生的会议
约翰·麦卡锡的学术人生如何步入人工智能领域,还要从一次会议说起。
1948年9月,他参加了加州理工主办的希克森脑行为机制研讨会,大数学家、计算机设计大师冯·诺依曼在会上演讲了一篇关于自复制自动机的论文,这是一种可以对自身进行复制的机器。
尽管当时的与会人员并没有明确地将机器智能与人类智能联系起来,但冯·诺依曼的讲话却激发了麦卡锡的好奇心。
麦卡锡敏锐地将机器智能与人的智能联系起来,打算从事更深入的研究。第二年,在普林斯顿大学数学系做博士论文时,麦卡锡幸运地与冯·诺依曼一起工作。
在冯·诺依曼的鼓励和支持下,麦卡锡决定从在机器上模拟人的智能入手,主要研究方向定为计算机下棋。
此后,为了减少计算机需要考虑的棋步,麦卡锡发明了著名的α-β搜索法,这一关键问题的解决有效减少了计算量,至今仍是解决人工智能问题中一种常用的高效方法。
自动机模拟是随着时间从一个状态转入另一个状态的机器;而交互式自动机则是根据其自身状态以及它所观察到的其他自动机的状态从某个状态转入另一状态。
麦卡锡曾在冯·诺依曼理论的基础上,把有智能的东西看做是一个有限的自动机,与同样是自动机的环境项链。
冯·诺依曼听后十分赞同并敦促他把这篇论文写出来,但麦卡锡觉得自己的想法还不够成熟,于是便放弃了对利用自动机模拟人类智能的首次尝试。
不过,在十几年后,当他从事情景演算方面的工作时,有关状态和状态转换的思想再一次浮现在了脑中,制造一台像人类一样的机器的想法再一次被激起。
成就一生的会议
1952年,普林斯顿大学的一个研究生向麦卡锡建议,可以找一些对机器智能感兴趣的人去收集一些该领域的文章。麦卡锡找到了贝尔实验室的克劳德·香农——“信息论”的创始人。
在人工智能方面的若干深入探讨之后,他们萌生召开一次研讨会的共识。在洛克菲勒基金会的一笔微薄的赞助下,他们邀请到当时哈佛大学的明斯基和IBM工程师罗彻斯特等几位学者,参加这次会议。
1956年,在达特茅斯学院举办的这次夏季人工智能研讨会是计算机史上的一座里程碑。这项涉及10人,耗时2个月的雄心勃勃的计划基于“我们能够精确且全面地描述人类智能中的学习以及其他特征并制造出机器以对其模拟”的构想并继续阔步前进。
2006年,会议五十年后,当事人重聚达特茅斯。左起:摩尔,麦卡锡,明斯基,赛弗里奇,所罗门诺夫
麦卡锡在提案中写道,他将研究语言和智能二者间的关系,希望通过程序计算机能“进行棋类游戏并完成其它任务”。
达特茅斯会议历时两个多月,首次提出“人工智能”这一术语,并确立了可行的目标和方法,这使得人工智能成为电脑科学一个独立的重要分支,获得了科学界的承认。
虽然大多数与会者在会后并未继续从事该领域的研究,但另外那少数人中却产生了一批在该领域影响深远的成就。这次会议给人工智能奠基人相互交流的机会,并为未来人工智能的发展起到了铺垫的作用。
在此之后,人工智能的重点开始变为建立实用的能够自行解决问题的系统,并要求系统有自学能力。
Lisp语言与分时概念
1958 年,麦卡锡组建了世界上第一个人工智能实验室。同年,麦卡锡发明了Lisp语言,这是人工智能界第一个最广泛流行的语言,至今仍有着广泛应用。
Lisp是一种函数式的符号处理语言,其程序由一些函数子程序组成。在函数的构造上,它与数学上递归函数的构造方法十分类似,即从几个基本函数出发,通过一定的手段构成新的函数,不仅如此,Lisp还具有自编译能力。
其实,麦卡锡只是Lisp当做一个工具,他的目标是制造具有人类智能的机器,他并未预料到它会有如此长的寿命。
该领域的编程人员都十分喜欢Lisp的最初语法,因此,Lisp语言与后来于1973年实现的逻辑式语言PROLOG并称为人工智能的两大语言。
随着工作的深入,麦卡锡希望改进这种语言的表达能力。1959年,为了展示Lisp可以明确地表达任何计算函数,他加入了一个叫做“求值”的功能。
“求值”允许程序定义新的函数或者过程,然后将其作为程序的一部分来执行。而大多数语言在执行新函数之前都会强制程序终止运行,并且“重新编译”。
由于求值函数可以带动并执行任何函数,它扮演了一种“通用图灵机”的角色,是其他计算机的通用模拟器。
如今的很多程序都必须每时每刻地运行,人们对求值这种特性的需求越来越迫切,因此大多数实验性语言都包含了求值或类似的功能。
麦卡锡另一个卓越贡献是1960年左右第一次提出将计算机批处理方式改造成分时方式,这使得计算机能同时允许数十甚至上百用户使用,极大地推动接下来的人工智能研究。
由此,他被尊称为“计算机分时系统之父”,他的研究成果最终实现了世界上最早的分时系统——基于 IBM7094的CTSS和其后的MULTICS。
结语
如今,人工智能已经从实验室走进日常生活,成为一门严肃经验科学,引发了计算机使用方式的一场变革,其中约翰·麦卡锡功不可没,他深刻地改变了人们与电脑和互联网的互动方式,为人工智能奠定了坚实的基础。