在纽约举行的管理科学会议结束后,阿伦和我每星期六做关于几何学问题的工作。面对如何作图的问题,我们看到我们仍然不得不对付一些基本的感知问题。大约在11月初,符号逻辑开始作为一种“选择元”而出现——特别因为它不包括作图。
我的最初的书面记录是对《数学原理》2.15定理证明的分析,日期是1955年1
1月15日。那时,我通过学习那本教科书第二章的证明恢复了我的逻辑技能。到i2月初,我开始产生关于启发式的一些非常清晰的概念(例如,证明时通过代入而反向证明)。我做了证明中大部分的实际工作,并以我们的周六讨论结果作补充。阿伦在11月或10月里活跃了一阵之后,多少陷于停顿,转而准备他的博士资格的书面考试去了。
阿伦的笔记大约从12月6日恢复,那时我们已经有了程序的大部分片段,但它们没有组织好。在随后的那一周里,我们频繁地——几乎每天——短时间交换意见,我几乎每天晚上在研究证明。12月15日星期四(我感到那星期工作快结束了)我成功地用手工(计算机程序的文字模仿)完成最初的证明,所用的程序相当接近于第二年9月在我们无线电工程研究所的论文中所发表的那种程序。在后来的几天里,阿伦和我努力推敲,完善处理过程,并把它纳入我们一致认为可以在计算机上编程序的那种形式。
我不想制造一种有专门分工的印象(是希拉利还是坦津最
264先达到珠穆朗玛峰?)。提出“逻辑理论家”程序的策略的大多数实际的书面工作是我做的,正像关于语言的大多数实际工作是阿伦和克利夫做的一样。在整个时期我们处于最密切的交流之中,并且通过长期联系,发展了不寻常的交流能力。我们甚至能交流我们的微妙的思想。整个成果必须被看作共同的、不可分割的。我们中的任何一个人或两个人都不能完成这项工作。
我经常把1955年12月15日作为用计算机探索解题的生日来庆祝。那时我们知道了怎样去证明计算机能用启发式来寻找难题的答案。照当时在工业管理研究生院听我课的一位研究生爱德,费根鲍姆的说法,我对这一成就的反应是:走进教室并宣布“在圣诞节,阿伦,纽厄尔和我发明了一种思维机器”(事实上,如果我确实这样说了,我会把克利夫,肖包括在发明者之中的)。当然,“逻辑理论家”还没有在计算机中运行,但我们明确地知道如何编写程序了。
我们毫不拖延地宣布了我们的成功。在1956年1月3日给艾德里安,德格劳特的信中我写道:我想你将有兴趣知道阿伦,纽厄尔和我在下棋机器方面已有了重大进展——它不仅可以下棋,还可以作为用符号逻辑搜索并发现定理证明的机器。我们暂时改变题目的原因是,我们发现人的眼睛和与它联系最密切的中枢神经系统部分在下棋时——在无意识层次上——要做太多的工作,且我们发现人的心理过程的这方面(感知)最难以模拟。因此,我们转向那种在内容上不大靠“视觉”的解题领域。
两周前我们得到了一个程序看来能达到这个目的。虽然机器编码的细节还没完成,但似乎没有更多的概念性质的困难要克服。通过用人(我自己)来模拟这种机器——按
265规则操作而不用判断——这种模拟机器现已发现,并得到《数学原理》中约前25条定理的证明。它所完成的处理在你看来是非常像具有人类特性的,并在许多方面证实了你在象棋研究中获得的数据。
等待“逻辑理论家”在计算机上运行时,阿伦和我用英语在索引卡片上写出了程序构成部分的规则,而且还为记忆内容(逻辑公理)作了卡片。1956年1月深冬的一个夜晚在工业管理研究生院大楼里,我们把我的妻子和三个小孩,以及一些研究生叫在一起,给他们每人一张卡片,所以每个人实际上成了“逻辑理论家”计算机程序的一个构成部分——执行某种特殊功能的子程序,或其存储器的一个构成部分。每个参加者的任务是在上一层次的控制程序要求下执行他或她的子程序,或提供他或她的记忆内容。
所以我们能用由人构成的计算机来模拟“逻辑理论家”的行为。这里是用自然的人去模仿人工物对自然人的模拟。演员们对自己所做的并不比柏拉图的《曼诺篇》中的小奴隶对自己所做的负有更多的责任,但他们成功地证明了那些给予他们的定理。我们的孩子那时是9岁、11岁和13岁。这件大事他们仍记忆犹新。
我们只是简短地在未公开发行的《兰德报告-850》上,以文章“当前信息处理的发展”(1956年5月1日)公开宣布了我们的成功。1956年5月2日,纽厄尔在华盛顿读了这篇论文。直到1956年8月9日,用“信息处理语言”一Ⅱ在JOHNNIAC上编程序的“逻辑理论家”才首次完成了定理证明《数学原理》的2.01定理)。1956年9月这一方案的形式化描述用“信息处理语言”-I发表了。
266
在JOHNNIAC首次进行计算机证明后不久,我们把成功的消息告诉了伯特兰德?罗素。下面是我们的第一封信和他的回信。罗素伯爵皇后路41号里士满,萨里,英格兰1956年10月2日亲爱的罗素伯爵:
纽厄尔先生和我认为您可能乐意看到我们附在信中的一份工作报告。我们正在借助于电子计算机来模拟人类的某些解题过程。我们把《数学原理》第二章作为题材,并试图详细说明能发现定理证明的程序,它类似于书中给出的证明。我们认为我们自己的发明不是一种算术的定理演绎和有条理的决策过程,医为我们的目的是,尽可能近似地模拟人类在不能运用有系统的程序时所采用的处理过程,以及真正包含“发现”的问题解决办法。
论文中所描述的程序现在已翻译为计算机语言,用于圣莫尼卡的计算机JOHHNNIAC,大约两个月以前,这台机器进行了第一次证明。我们也广泛地用手工模拟了这一程序,发现它进行的证明非常近似于《数学原理》中的那些证明。现在,我们正在朝学习(方法和定理)以及自己编程序这个方向来扩展这一程序。您最忠实的赫尔伯特-A,西蒙267工业管理系主任
1956年11月2日亲爱的西蒙先生:
感谢您10月2日的来信和非常有意思的附件。我很高兴地得知《数学原理》现在能由机器来证明。我希望怀特海和我在我们俩人用手工花了10年功夫证明它以前就知道这种可能性。我非常愿意相信演绎逻辑的每件事都可以由机器来做。您最忠实的伯特兰德?罗素
一年后我们又写信给罗素报告用“逻辑理论家”进行学习的实验结果。
1957年9月9日
亲爱的罗素先生:
附上的材料将表明我们在用计算机模拟人类问题解决
过程中的新进展。继附件中所报告的工作之后,我们已积
累了一些关于在基本执行程序之上加一些简单学习程序的
作用的有趣经验。例如,通过诱导机器去记忆并利用这样
的事实,即在过去已被证明的某些定理在联系某些证明方
法时有用,我们在问题解决的能力方面获得了惊人的进展。
“逻辑理论家”已发现的证明一般非常接近于《数学原理》中
的证明,但在一种情况下,它创造了一种非常简单的证明以
代替书中复杂得多的证明。在命题*2.85中,pvq.一.pvr:
一:p.v.q-r,它提出这可以通过应用三段论推理形式:pvq.一.pvr:—>:—q.v.
pvr推得,运用结合律,*1.5,重新安排右边诸项。这一新的表达式还可以直接从*
1.3通过*2.05中的“假言推理”得到,证毕。这机器只要不到5分钟就找到了证明。既然机器证明既简洁又非显而易见,我们对这一例子中它的妙技感到吃惊。
您也许对我们的论文229页上的论据也感兴趣,它表明有学问的人和有智慧的人并不总是一回事。当然人们很早就知道这一点,但是有这种确凿的证据来反对卖弄学问的人是很有意思的。一般说来,当机器用一系列选择过的关键定理来工作时,要比用它试图记忆并运用书中所有以前的定理解题简捷得多。对照图7和图8可以看到典型的差别。我不敢肯定这些事实是否应让小学生们知道。您真诚的赫尔伯特.A-西蒙管理学教授
1957年9月21日亲爱的西蒙教授
非常感谢您9月9日的来信和附件。我为您的机器超过我和怀特海的例子而感到高兴。我相当欣赏您认为这些事实应对小学生隐瞒的理由。当人们知道机器能比他们做得好时怎么能期望他们去学做算术呢?我也为您精确地论证“智慧和博学不是一回事”那句老古话而感到高兴。您真诚的伯特兰德,罗素269
我们把伯特兰德,罗素所喜欢的这一新奇证明写成一篇合著的文章寄给《符号逻辑期刊》的著名编辑斯蒂芬,克利恩。他拒绝登这篇文章,认为它没有提出什么新成果。他说既然《数学原理》的方法现在过时了,那么用这个方法去证明一条定理就没有什么功劳。认为克利恩和罗素的反应之间的差别就是进一步证明博学和智慧之间的差别,这或许不太礼貌,但不管怎样,我们失去了向逻辑学家夸耀“逻辑理论家”的威力的这一机会。
给罗素的信表明从一开始我们就对模拟人类问题解决感兴趣,而并不仅仅是想证实计算机如何能解决困难问题。而且这些信表明我们很了解除了《数学原理》体系之外还有更简单的方法可证明这些定理,我们用这个方法只是作为一个例子——任何方法都同样能用作例子。后来,逻辑学家王浩等人把计算效率作为唯一标准,运用真值表或自然演绎法设计了更快的计算机证明程序,并抵毁“逻辑理论家”为原始的方法。他们的确误解了研究“逻辑理论家”的目的。
最后,这些信也表明从一开始我们就知道机器学习和自动编程的可能性(而且事实上我们在后来的几年内寻求过一些这样的可能性)。
我们及时地向科学界同行传播了我们成功的消息。我已提到5月份阿伦在华盛顿所作的有关“逻辑理论家”的简短谈话。1956年6月在达特茅斯由约翰?麦卡锡、马文?明斯基、纳撒尼尔?罗切斯特和克劳德?香农组织召开了人工智能的暑期专题讨论会。参加者包括许多那时正在积极思考人工智能的人:四位组织者之外还有奥利弗,塞尔弗里奇、雷,所罗门诺夫、特伦查德,莫尔和赫尔伯特,格伦特,阿伦和我在那儿待了一周。
虽然编制问题解决、模式识别或做游戏的程序的许多想法还很渺茫,但会上提出了两个具体的方案,即我们的“逻辑理论
270家”和特伦查德,莫尔(
More
1957)设计的,用自然演绎法证明命题计算定理的程序。莫尔编制了一个流程图并用手工模拟了他的方案。后来9月份在剑桥我们把“逻辑理论家”的使用说明书发给了大家。会上还展示了早期排除程序错误的产品。我们还和约翰,麦卡锡在达特茅斯就我们为给“逻辑理论家”编程而发明的“表处理语言”进行了长时间讨论。
马文?明斯基那篇闻名的论文“人工智能问题的探索情况”虽然几年后才以《走向人工智能》这个标题发表,但它的初稿已在1956年末作为一份技术报告写成。它很好地反映了在达特茅斯会议上讨论的有关人工智能的总体知识。①
在专题讨论会之前,有几个人和几个小组(包括明斯基和我们自己)已注意到几何定理证明。这是达特茅斯谈话中的重要话题,它促进了赫尔伯特?格伦特和纳撒尼尔,罗切斯特不久后对这个问题的研究取得成功。
接着,1956年9月我们出席了一次在麻省理工学院召开的无线电工程研究所(电气电子工程研究所的前身)的会议。会上有一段时间用来报告达特茅斯会议的结果。有人提议约翰?麦卡锡应对所有的工作做一个总结报告。因为在关于达特茅斯的介绍中我们自己的工作只相当于人工智能的一个实例(已编出程序),而且我们的工作比那次会议早,阿伦和我大声表示不同意,经过协商——在与会议主席沃尔特,罗森布里斯长时间散步途中——,会议同意阿伦和我可以提交一篇有关我们工作的论文,而约翰提交一份关于那次会议的总结报告。
于是,“逻辑理论家”不久就实际生效了。那时,凡是对计算①
明斯基的论文在发表前作过相当大的修改。1956年那最早的未发表的版
本最充分地反映了他在达特茅斯会议上的解释。271机的智能行为的潜力感兴趣的人以及计算机团体的多数人几乎都知道它的能力和结构。不知道这一消息的人会有进一步的机会从我们在《西部联合计算机会议报告》(1957年)中发表的那篇论文中获悉。他们还可以很快从其他许多来源得到这一消息。我们是锋芒毕露的。我将在下一章讲述它的传播和影响。
在报告我们的工作时,我们必须解决公众对阿伦和我合作的认识问题。虽然在形式上阿伦是以我的学生身份到卡内基来的,但他实际角色是同事和合作者。他是我的合伙人而不是门生。但我是一个众所周知的社会科学家,而他是一名正式的研究生,比我小11岁,很少发表过文章。既为了公正,也为了持久合作的可能性,我们必须认识到我们间的同等价值。我们遵循慎重的策略来做到这一点。
在我们合作发表的文章中,我们的名字几乎总是以字母排序出现。因此阿伦的名字出现在第一(有几次邀请我作的演讲是例外,不是报告新研究)。人们会把这解释为阿伦是年长的合作伙伴或按字母排序,而不是把我当作年长者。我们一般轮流出席公开会议。因为我们是可互换的部分,我们一起去开会就没有什么意义。1965年以前,阿伦是我们唯一的海外发言人。
当我提到我们的工作时,我谨慎地提及我们俩人,当人们给我寄批评稿时把我们的名字顺序写倒的话,我就按字母J顷序纠正它们。结果没出现什么大问题,那主要因为每个见到阿伦的人发现他确是个大人物——他不是任何人的门生。
我们也必须正确认识克利夫,肖在我们的发现中的重大作用。由于克利夫的沉默寡言和非常谦虚,要做到这一点就更困难了。我们肯定他是我们早期重要论文的合作者之一。我们对他没有与我们分享1975年的图灵奖感到为难。我们坚持认为,他在我们发明“表处理”语言中的合作关系应在伴随图灵奖一起
272颁发的嘉奖证书中得到承认。“表处理”语言的发现
编写并测试“逻辑理论家”只是我们1956年完成的工作的一半。我们还发明了一种全新的被称作“表处理”语言的计算机编程语言,其本质前面已经扼要地介绍过了。这些语言是约翰,麦卡锡的LISP的直系祖先,30年来ⅡSP已成为人工智能的标准语言,它也体现了现在被称为面向对象编程的主要思想。
其基本想法是,一则信息不管何时储存在存储器中,与它存在一起的额外信息要说出在哪儿可以找到相邻(关联的)信息。这样,整个存储器可以组织得像一条长珠串,但是线上的单颗珠子存储在任意的位置上。“相邻”并不取决于形体接近而是取决于存储每则信息的地址或线索,它们表明那则相关联的信息的存储地点。这样,通过改变一对地址就可以加进或减去珠子而不扰乱其余的存储。一个人可以想记多少就记多少拉丁语动词而不用预先为它们指定存储器。每条珠串称作一张“表单”。一般地说,表单上的任何项目,即任何一颗珠子,都可以是另一表单的名称,有一地址计数器与(另一表单)它的第一颗珠子相联。这样,存储结构不再限于简单的线而是能包括许多枝杈的树状结构。
但进一步的推广要求体现出定向性的联想,N.艾赫(1905年)等人的实验已表明在人的记忆力中存在着这种联想。这是由描述表单(现在通常称为特性表单)完成的。描述表单上的奇数珠子有属性名称,与它们相邻的偶数珠子是这些属性的值。
这样,属性“颜色”比方说以第7颗珠子的面目存储在一张描述表单上,它后面能跟值“红色”作为第八颗珠子。此外,一种
273值本身也可以是复合属性的表结构。这样,描述表就可以,亏对象相联系,构成描写这些对象的图式。图式观在打着稿本、框架、对象、语义网络这样的标记被广泛地用于编程:
最后,“表处理”语言要求处理过程能插人与删除项目、寻找表上的相邻项、寻找对象的属性值、指定这样一种值、产生种种对象,等等,要操纵表结构,必需有大约十几种这样的处理过程。这基本上是表处理过程中的全部内容。你可能要说这已经足够了。
新的人工智能界从一开始就承认“表处理”是人工智能的编程工具。30多年后的今天,情况还大体如此。然而其余编程专业并不欢迎这一新事物。他们看到“表处理”要浪费一半存储装置(对那时能用的非常小的计算机存储器来说是沉重的代价)。但为了给“邻近”地址储存以每一个“表项目”,这一点是不可避免的。而且,表处理程序不得不借助于解释器来执行,这样延长了执行时间,大约是原来的10倍。对于因袭守旧的编程员来说,这些语言如果不是自杀性的,也是荒唐的。
几年的经验表明这些责难为什么是非常错误的。在10年内,表处理的价值,或者甚至必要性,已在许多种编程环境中变得明显了。除了人工智能界的同仁以外,克努斯在他那有影响的《基本算法》(
Knuth
1968)
一书的第2章中也给“表处理”以广泛的信任。今天,“表处理”思想在复杂的程序设计中已很平常。
我们小组发展的语言叫作IPL(信息处理语言)。第一种在计算机中实际运行的IPL
-Ⅱ是“逻辑理论家”在JOHNNIAC上用的语言。这些语言中,IPL
-V被最广泛地用于IBM650、IBM704和其他计算机。现在它们几乎是一种死语言,虽然至少有一种版本还活跃(在PC上)。它们基本上被约翰?麦卡锡设
274计的LISP替代了,而且今天还有一些其他竞争者,
IPL语言除了是第一种表处理语言外,在其他方面也是早熟的。它们的出现仅仅稍晚于FORTRAN,因此是高级编程语言中的先驱。它们也预料到后来出现所谓的结构程序设计的思想,即一组使计算机程序在编制时能改正错误、可以理解同时又有效率的启发程序。
一个有趣但也许不能确定的历史问题是,IPL
-V是否对结构程序设计的发展有重大贡献。IPL
-V手册中相当明白地主张自上而下的编程以及独立封闭的子程序,这是结构程序设计的两个主要特征。该手册还告诫不要指令在一个子程序中涉及另一个子程序(在结构程序设计中称为非一非),不要单独只用输入和输出显示处理过程的特点,这是结构程序设计所需要的东西。
然而,既然“表处理”在计算机的早期使用阶段不受系统程序设计人员主流派的重视,他们也许重新发明了结构程序设计而不知道它在人工智能界早已被倡导并实际使用了。
至此我们到了第二部分的末尾,从1956年的冬天到1957年,表处理语言在我们的计算机上运行,“逻辑理论家”找到了《数学原理》中的证明。我们的研究项目异常快地获得两项重大成功,开发了人工智能和信息处理心理学这两门有关的学科。
对我来说,回到我以前虽感兴趣但不太令人兴奋的组织决策研究课目,并不成问题。经典数学语言没有为探索人类思维过程提供工具,也不能使行为科学和社会科学达到精确和严密的程度,但我在计算机语言中发现这一切都能做到。我已通过了迷宫中关键性的分叉点,现在开始致力于认知心理学和计算机科学的未来。
275
余下的故事——至少是它的研究部分——讲述我们这个研究小组如何从那些成功继续向前发展,也讲述它的影响,首先是帮助创立新的计算机科学学科,然后在认知心理学中产生重大革命,最后把新的基本思想介绍到经济学和工程设计中,不言而喻还涉及认识论。第三部
登高望远14.探索平原
阿伦、克利夫和我使“逻辑理论家”成为现实。在翻越了这座山之后展现在我们面前的是辽阔无垠的平原。我们看到了整个人工智能领域和整个人类认知领域。卡内基(理工学院)和许多其他学院的大批科学家已和我们一起冒险探索这些领域。这一章要讲述一些我们这个研究小组的探索活动。从1956年到1978年间我们开始是三个人,不久一些研究生和教员同事也参加了我们的小组,形成了一个群体。
从“逻辑理论家”最初的成功一直到70年代,我们在研究工作中并没有拟定一个详细的总体计划。英国军事专家利德尔?哈特曾鼓吹一种柔性战术,后来德国人在1940年闪电战中满意地借用过它:向前线奋进,当你发现一个容易攻克的地方,就全力以赴攻克它,并继续前进。我们就使用类似的战术。在不确定而且不可预见之中进行探索,必须能灵活地抓住并开拓每一个进展的迹象。我想描述一下我们是如何执行这一策略的。研究策略
在工业管理研究生院环境里,我们研究“逻辑理论家”的最初动机影响着我们的研究策略。我们既对开发新发现的计算机符号处理能力的商业应用感兴趣,又对将其扩展到有助于理解人类思维感兴趣。现在,我们常把前者称为人工智能而称后者为认知科学。
在这两条战线上,我们的策略是:选择有希望的要求智能的任务,编写并检验能够执行它们的程序。在我们研究的认知科学部分,我们也做同样的实验,让供测试的人执行同样的任务,看看计算机模拟和人的行为有多么相似。当我们对一项任务有了一定程度的理解时,就转向另一项。我们选用任务的确切顺序一部分是随机的,虽然我们打算从看来简单的任务开始向较复杂的任务前进。最后我们想仿造完整的(认知的)人——一个将使我们永远繁忙的目标。
人工智能方面比较容易与商学院的目标相关联。研究生中,弗雷德?汤奇不久就在建立把启发式用于保持组装线平衡的程序(找出对工人、任务和工作岗位的最佳布局),而杰弗里?克拉克森构建了一个专家系统(如我们现在这样称呼)为银行信托帐户选择股票明细表。选择这两项特殊任务没有什么深刻的原因:它们正好引起注意,在实践和理论上有意思,而且看来切实可行。可行性和重要性总是选择研究问题的主要依据。我们想要研究的问题其解答应该是有趣而且有价值的,但只有当我们对如何对付它有些想法时才能着手干。
一个问题对认知科学的意义,可以从心理学家对它有多么注意以及它是否阐释人类的重要能力来判断。可行性取决于编程技术的现行状态和我们对实验是否有什么好主意。“解题”是显然要研究的,这既因为我们已从“逻辑理论家”开始做这项工作,又因为它是一种极重要的人类心智活动。从1956年以来的这35年里,认知科学研究的重要部分一直是针对理解人类解题能力的。
机械语言学习是显然要研究的另一课题,因为美国心理学家对它比对其他课题作的研究更多:标准的实验是模仿人们学习外语词汇(成对联想学习)或记忆诗歌(借助系列预测的学习)的传统方式。除了我们可以自己来做的实验工作以外,在已发表的文献资料中有数千个实验可以用来检验我们的模拟模型。
把外推字母序列选为另一项研究任务有几条理由。它是一种系列行为的例子,拉什利已强调过它对心理学的重要性。这种任务已被智力测验的设计者选为测量重要心智能力的好方法。而且因为它是一种发现规律的任务,它可以开拓通向说明科学发现和其他创造性活动的必要过程之路。鲍勃,林赛的博士论文所承担的一项更抽象的探索性工作,是考察计算机怎样理解信息,把系谱图看作要理解的对象。在另一篇重要的博土论文中,罗斯,奎利恩打算设计语义记忆结构,它可显示人类联想记忆的某些特征。言语学习模型:EPAM
在“逻辑理论家”的研究中借用心理学推进人工智能的东西要比借用人工智能推进心理学的东西要多。但是心理学中有很多是研究群体心智的。我们差不多从1956年起开始思考基本的知觉和记忆过程,部分是受几何学中所提出的那些知觉问题
281的激发,部分是因为对“逻辑理论家”的学习过程越来越感兴趣。此外,那时我正在试图学习希腊语,并对我如何学习进行内省。
我第一份概述可能处理言语学习的备忘录的日期是1956年2月18日。这份大纲用的名称EPAMINONDAS不自觉地泄露了它与我学习希腊文的相互影响。特别是,我发展了有关记忆冗余量的用途的思想,这反过来又推动了我们后来关于通过事后认识而学习的研究。这一阶段,阿伦和我对辨别网络和分类图式进行了大量讨论,它们反应在EPAM之中。
为了得到有关联想记忆的研究线索:我去查阅心理学期刊时,模拟经典的言语学习行为的想法出现了。埃利诺?吉布森论刺激—反应概括化的经典论文(
Gibson
I940)是爱德,费根鲍姆后来加人到EPAM之中的许多思想的重要来源。通用问题解决者
从1956年秋天开始,我们打算认真地把“逻辑理论家”解释为问题解决的心理学理论。我们已经知道,O.
K.莫尔和S.B,安德森已在耶鲁大学用逻辑中的问题(装扮成“解码”练习)来研究问题解决(Moore
and
Anderson
1954a
and
1954b)。他们选用的形式化体系非常接近于怀特海和罗素的体系,这提示我们去用他们的任务来比较人类的行为与“逻辑理论家”的行为。为此,研究生彼得,豪茨开始用录音带记录被试者在执行莫尔一安德森逻辑任务时的大声思维对话时间。
通过1957年春译成文字的第一盘录音带,我们清楚了“逻辑理论家”与口述报告所提示的人类行为细节并不完全相当。1957年夏天在卡内基校园召开的一次组织行为的研讨会上,我们对这个问题进行了讨论。在研讨会的这一星期,阿伦和我显然都单独地发现,在某一份大声思维口述报告中,可以清楚地看到手段—目的分析是被试者解题的主要工具。
手段—目的分析,是通过比较问题的目标与当前情况、并注意到它们之间的一个或几个差距而实现的。例如:我在这里想到5英里外的地方去。对当前情况与目标之间的差距的注意,提醒我想起一种动作可能会缩小或消除这种差距(骑自行车或步行)。采取这一行动后就会看到一种新的情况。这时如果目标仍未达到,就再重复上述整个过程。
从1957年夏天到秋天,我们逐渐集中研究一种能体现新发现的手段—目的分析的程序。因为程序中的推理过程与推理所要解决的特定题目无关,我们给它起名为“通用问题解决者”,该程序的总流程图在1957年10月底以前产生,而规划法(一种通过对问题进行概括处理而简化搜索的方案)在几天以后大致形成(
Newell,Shaw,and
Simon
1962)。随后的30年研究已证实了体现在“通用问题解决者”中的那种手段—目的分析是人类问题解决技能的关键成分真:)与心理学家交谈
我们第一次打算直接与心理学家交流的文章《人类问题解决理论原理》发表在1958年7月发行的《心理学评论》上(
Newell,Shaw,and
Simon
1958a).这篇建立在“逻辑理论家”经验基础上的文章在一年多以前就写成了。文章强调该程序和人类问题解决之间广泛的相似性而没有详细描述行为的比较。
论文中我们用“基本信息处理”的程序来描述行为。这种行为可以在计算机中执行。通过对计算机模拟和在大声思维口述报告中所显示的实际行为进行匹配而检验理论,在论文中,我们
283把这种思维的信息加工理论与神经学的联想主义解释和格式塔学派的解释作了比较。
与其说文章强调我们理论的新奇性,并正式宣布心理学中出现了新的“学派”,不如说我们想表明我们的处理方法是联想主义与格式塔学派前辈的工作的继续。因此这篇论文第一次明确而慎重地说明了信息处理心理学,但并没有用那个或其他商标。
“创造性思维过程”一文第一次公开描述“通用问题解决者”(包括规划法)。这篇文章在1958年5月14日科罗拉多大学的一次研讨会以及6月兰德公司的暑期讨论班上宣读过,直到1962年才发表(
Newell,Shaw,and
Simon
1962)。这篇文章包含了对计算机跟踪(人工模拟的)与人类自言自语口述报告进行非正式对比的最初片断,计算机甚至可以模拟创造性活动的设想当时在科罗拉多会议上引起了轰动,也有不少人持怀疑态度——…种合理的反应。象棋:人工智能的果蝇
有关象棋程序的工作自1955年来处于休止状态,1957年底才重新开始。同时我们因为得知艾德里安,德格劳特的《下棋者的思维》(
Groot
1946),而开始与德格劳特及他在阿姆斯特丹的同事保持友好联系和合作。这种合作现在仍在继续(虽然我们在方法上和理论观点上不无某种深刻的差别)。
象棋已成为认知科学和人工智能研究的标准工具(就像在①
计算机象棋程序的历史以及对“纽厄尔—肖—西蒙”程序的描述,可以在“下棋
程序和复杂性问题”一文(1958年,特别是pp.
322
-
331)中找到,284遗传学中的果蝇或者脉孢菌一样的标准“生物)。有效的程序现在具有大师级能力,采用高速高效的现代计算机有时能在走一步棋之前分析5
000万或更多的可能性。虽然它们也利用广博的象棋知识,但这种程序属于人工智能而不属于认知科学。
我们现在对象棋的研究,目的在于理解人类棋手,他们在处境困难时最多能分析上百种“分支”情况。我们的“纽厄尔—肖—西蒙(NSS)”程序(1958年)如同1954年阿伦?纽厄尔提议的那样,借助于目标对处境进行推理,而且还进行少量的分析(它的棋也下得不好,使著名的人工智能评论家休伯特?德赖弗斯一时非常高兴)。
我和我儿子彼得,后来与一位研究生乔治,贝勒一起编制了另一个象棋程序-MATER(Baylor
and
Simon
1966)。它采用了有高度选择能力的、类似人的分析方法,在发现隐藏的成对组合方面难以对付,但在下棋的其他方面没有什么用处。在其特定范围内它证明了选择性探索法在避免广泛搜索方面的能力,支持了我在“行为模式”(
Simon
1955a)
-文的附录中所提出的要求。
我和另一位学生迈克尔?巴伦菲尔德一起,对与此相同的一些想法进行了研究。我们模拟专家棋手扫描新棋局时的眼球动作,从而反驳了格式塔心理学家提出的论点,即计算机不能模拟专家棋手那种凭直觉就可“瞬时完全把握”的过程。我们指出,运用普通象棋探索法而不用任何特殊的整体论格式塔过程,可以相当简单地产生人的眼球动作,而这种眼球动作好像表示对全局的掌握。
对知觉的研究带来了与凯文,吉尔马丁的合作,最终导致与比尔,蔡斯一起对象棋专门知识的研究。这些关于知觉的研究解决了我们在1955年遇到的许多问题,这些问题曾使我们把第
285一项计算机模拟的任务从象棋转向逻辑。1958年的兰德公司暑期研讨会
到1958年春我们已用“逻辑理论家”做了广泛的实验;构想并用人工进行模拟“通用问题解决者”;纽厄尔—肖—西蒙象棋程序在运行;EPAM程序正在编制;人类口述报告资料在收集和分析中。麻省理工学院的研究工作(马文,明斯基和约翰?麦卡锡)那时也正生机勃勃地进行着,但他们强调的是人工智能而不是认知科学。
我们的工作与信息处理心理学发展中其他主线的交流还很差。其中最重要的是新兴的心理语言学领域,其心理学方面的代表人物是那时在哈佛的乔治-A.米勒,他主要研究从信息论观点引伸出来的概念形成(另外还有耶鲁的卡尔‘豪夫兰、哈佛的杰里,布鲁纳等人参加)。研究着重于“警戒”、注意和短时记忆过程,英国的唐纳德,布罗德本特实验室是一个重要例子。
福特基金会已给社会科学研究理事会一小笔钱用于认知心理学。花这笔钱的责任被指派给包括豪夫兰和米勒(他们那时正在与我合作)在内的委员会。这个委员会又要求纽厄尔和我1958年在圣莫尼卡兰德公司组织一次暑期研讨会,目的是使更大圈子里的社会科学家知道计算机模拟以及它在心理学中的用处。演讲和讨论主要由我和纽厄尔负责处理,也包括豪夫兰、米勒、明斯基和肖。编程指令是由那时在兰德计算机上运行的IPL-Ⅳ提供的,课程主要围绕已建立的或正在建立的基本程序——特别是“逻辑理论家”,“通用问题解决者”,纽厄尔—肖—西蒙象棋程序和EPAM。
除了研讨会上组织的小组外,参加者还包括一些后来在计
286算机模拟方法上起重大作用的人:他们把这些方法和经典心理学途径相关联,并使它们在大学学院里被采纳。①丹尼尔,伯林在《思维的结构和方向》(
Berlyne
1965)
-书中考察了信息处理心理学、皮亚杰心理学和赫尔学习理论的关系。鲍伯,艾贝尔森的“热门认知”研究(
Abelson
1963)是最早试图在信息处理范式领域里引人情绪和动机的工作之一。鲍伯,艾贝尔森、吉姆、科尔曼和比尔,麦克菲是建立模拟学社团的主要人物,这个社团试图把模拟方法输入到社会心理学中去。
伯特,格林领导一个小组推出了BASEBALL程序(Greenet
al.
1966),这是人工智能思想在信息检索方面的早期重要应用。他还负责过1962年和1963年的兰德暑期研讨会。豪夫兰和他的学生E.B.亨特构思了一些概念形成的信息处理模型(
Hunt
1962)。唐,泰勒把信息处理方式推广到动机问题上,并写了几篇有关解题的评述文章(
Taylor
1960)。罗杰,谢泼德向当时仍持怀疑态度的语言学习心理学家提出了有利于讲解信息处理的充分理由(
Shepard
1963)。
许多其他活动可以追溯到1958年的研讨会,也就是说由此而得到推动力。也许最重要的是米勒、加兰特和普里布兰在1958-1959年合写的《计划和行为的结构》一书,它后来在心理学中影响很大。由于这些作者牢固地扎根于心理学界,而且在写这本书之前又属行为主义学派,此书因为信息处理心理学成了盛行的行为主义范式的根本替代物而获得广泛注意。
这本书的写法引起我与乔治,米勒的争论,这使我与他的关系曾一度紧张,但从那以后我们完全和解并一直是好朋友。我①
由于1962年和1963年暑期兰德公司举行了同类讨论会,这次研讨会的影
响得到了进一步加强。第四次是由卡内基-梅隆于1972年组织的。287将用乔治自己的话来讲这段故事:第二年(即兰德研讨会之后),我在斯坦福的行为科学高级研究中心,尤金,加兰特和卡尔,普里布兰也在那里。我没有完全赞同所有来自这次暑期研讨会的材料的观点。我们开始在一起开会,我们的讨论变得相当有趣,所以我们决定要做记录。我们知道首先我们要写一本书。我们把记录给纽厄尔和西蒙看,他们讨厌它。所以我又重新写并把调子降下来,还加入一些研究成果。这就是现在的《计划和行为的结构》(Miller
Galanter,and
Pribram
1960)。
纽厄尔和西蒙感到我们剽窃了他们的一些思想,而且没有正确理解这些思想。这是非常容易动感情的事。自那以后,我发现了赫尔伯特的优点是他可以此时对你叫喊,而过后马上与你共饮。你恰恰不要向赫尔伯特?西蒙退避,——否则他会威吓痛斥你一顿。他这方面不同于我认识的任何其他人。我不得不把这方面的研究成果写到这本书中,这样他们将不再宣称这是他们的思想了。我们涉及的其实是一些陈旧的思想,但他们认为是他们自己想到的。不管怎样,这并不意味此前别人从未想到过。(
From
an
in-terview
with
Bernd
J.Baars
in
Baars
1986,
p.213)
《计划》一书的参考文献和注释,充分地描绘了兰德暑期研讨会,以及兰德—卡内基小组的工作在其概念体系中起的作用(有18处提到它,比任何其他工作都要多两倍),同时也充分地描绘了信息处理心理学的其他方法的影响——特别是语言学的和“人的因素”方法。这本书也出色地描绘了认知科学和人工智能问世之前的时代精神,它补充了我在这里所给出的说明,
288陈述理论:人类问题解决
阿伦和我很早就决定,要在我们对被试人和计算机模拟的研究基础上写一本关于人类问题解决的专著。这个计划早在1958年可能就提出了(证据不太确实),书于1972年问世。
《人类问题解决》开始是介绍信息处理、计算机模拟和用启发式解题。然后它描述了我们在三项工作领域的经验研究:逻辑、密码算术和象棋,并以我们从证据推导出的解题理论的说明结束全书。
“逻辑理论家”和表处理语言被用来举例说明所介绍的讨论。“通用问题解决者”提供了那种可以模拟在莫尔—安德森逻辑任务中人类行为的机器。我们对“纽厄尔—肖—西蒙”象棋程序及其他下棋程序与人类下棋的征象作了比较。
密码算术难题带给我们一种重要的新见解。在密码算术难题中给被试者一个假算术题,例如SEND+MORE=MONEY,通过数字代替字母来解题使得结果是正确的和数。例如9567+1085=10652(这里S已被9代替,E换成5,N换成6,D换成7等等)是这个问题的答案。“通用问题解决者”的主要工具即通用的目的—手段分析法似乎在这些问题上也适用。