第一章 人工智能概述

  这一章就人工智能(机器智能)的出现、发展,什么是人工智能以及当前人工智能学科主要的研究方向做一概括性的介绍。

  1.1 人工智能的诞生和发展

  产业革命使人类从事的笨重的体力劳动由机器代替了,人们能以轻微的体力操纵机器便可搬动沉重的物体,也可以说体力被机器放大了。随着计算机的出现和日益广泛的应用,自然会提出人类的智力活动由机器来实现、由机器来放大的问题。数字家Descartes曾对制造有理智的机器发生过兴趣,他认为有些事情人能做而机器不能做。数学家Turing1950年在《Mind》杂志上发表了"计算机与智能"的著名论文,并提出了如何判别一台计算机是否有智能的实验方法。然而时至今日计算机能不能有智能、能不能思维还没有完整的论证,仍有争议。这里涉及到对"智能"认识的发展以及对脑力劳动与体力劳动的界限划定的不断推移。比如,对于计算机所完成的数字计算,人们已习以为常地不一定把它看成是高级的智能行为了。
  几十年来,人们一直把计算机视作只会熟练准确地运算数字的较为蠢笨的东西,尽管它运行速度快得惊人。然而当今现实世界要处理的大多数问题并不是数值计算,像语言的理解和翻译、图形和声音的理解、决策管理等都不属数值计算范畴。特别像医疗诊断类问题,明显地需要通过大夫本人高超的专门医学诊断本领(不是计算),也就是专门的特有的经验知识才能得出正确的诊断。这种由"数据世界"到"知识世界"的转化,由数据处理范围扩展到符号知识处理范畴的转变是人工智能诞生的重要因素。有人说:只有不受数字约束的思维之光,才能照亮奥秘领域所蕴含的真理。
  试探性的搜索、启发式的不精确的模糊的甚至允许出现错误的推理方法更符合人类的思维过程。这种观点指导着人工智能的求解方法。相当多的问题求解是复杂的,常常没有算法可遵循,或即使有计算方法也不是当今计算技术所能实现的,这类问题的求解可行的方法是搜索、试探,加上经验的启发式知识。模糊性是人类思维的重要特征,应该用来描述问题、描述知识和求解智能问题。有人说,早该把一切经过精确、定量的偶像从神坛上推倒了。而启发式方法,"即天才洋溢,又疏忽大意、不受拘束,巧妙而富有人性",能把复杂问题大为简化,可在浩瀚的搜索空间中迅速找到解答。这是一种来自专门领域的经验知识,自然限于特定场合,经常会取得成功但又不能保证必然成功,常能求得有关问题的满意的解答,但不是数学上的最优解。
  上述观点促使了人工智能学科的诞生。1956年美国的几位心理学家、数学家、计算机科学家、信息论学家在Dartmouth大学召开了会议,提出了人工智能这一学科,现在就认为人工智能学科是这时建立的,已有40年的历史。
  人工智能学科40年来的发展是出现过曲折的。人工智能的创始人Simon等人曾认为:一些推理的定律加上强大的计算机可以达到专家水平和超人的能力。随之对机器实现智能当时理解得过于容易、过于乐观,讲了一些"大话",这些预言至今没有实现,影响了人工智能的信誉。1958年他们说过,过不了10年计算机将成为世界象棋冠军、计算机将找到并证明当时未被证明的重要的数学定理、大部分心理学理论将采用计算机程序的形式。40年过去了,实际上象棋程序有胜有负,除"四色问题"计算机并没有证明出重要的人还未证明的定理。当用计算机做两种文字间的翻译时,最初采用的主要办法是依一部词典的词到词的简单映射方法,结果没有成功,还出现了笑话。如英语和俄语间的翻译:句子 Out of sight, out of mind,原意是眼不见心不烦,而译成俄文却成了"又瞎又疯"。曾设想 80% 的翻译可用这种简单办法实现,而剩下的20%由特别设计的程序来处理,然而剩下的 20% 却非常难以对付。这种情况的出现使英国、美国政府中断了对大部分机器翻译项目的资助。又如1965年"归结推理方法"的出现,当时被说成是重大突破,但很快发现这办法从计算量看今天还难于使用。"连续函数的和仍连续",是微积分学中的简单事实,可使用归结法来证明时归结出几十万个子句尚无结果。这些都使人工智能在人们心目中的地位下降了。随后由于美国专家系统的出现,1977年 Feigenbaum 提出了知识工程,以及日本五代机计划的提出,使人工智能的研究又热了起来。
  至今对人工智能学科的看法仍有赞成派和反对派。赞成的乐观者确信可建立人工智能,也就是机器可实现智能。像 Simon,Newell,Minsky 都持这种观点,甚至有人说人就是人工智能存在的定理。批评者说他们把天然智能解释得过于简单而夸大了技术上的可能性。反对派的代表是哲学家 Drayfus(已译为中文的《计算机不能做什么?》的作者),认为人的思维与机器思维并无共同之处,批评乐观主义者的观点是20世纪的炼金术。Von Neumann 也说过计算机不会有智能。乐观派批评他们把思维神秘化了。
  尽管人工智能的发展过程中曾遇到过困难,但从事人工智能学科研究的人们仍坚持努力工作并取得了进展。也只有建立起有说服力的智能程序和人工智能的广泛应用,才能证明人工智能学科的真实意义。
  从50年代算起,人工智能的发展情况是这样的。50年代以游戏、博奕为对象开始了人工智能的研究,其间以电子线路模拟神经元及人脑都并没有成功。1956年Newell等开发了Logic Theorist程序,应用了启发式技术而不是穷举法。60年代前期以搜索法、一般问题求解的研究为主。1963年Newell发表了问题求解程序,走向了以计算机程序来模拟人类思维的道路,第一次把求解方法和问题的领域知识分离开。1960年McCarthy建立了人工智能程序设计语言Lisp。60年代后期,机器定理证明取得重大进展,对规划问题也作了研究。1965年Robinson提出了归结原理,1968年Quillian提出了语义网络的知识表示方法。这阶段还出现了专家系统Dendral和Macsyma.
  70年代前期,人工智能受到责难。但人工智能学者仍进行了有成效的研究。以自然语言理解、知识表示的研究为主。特别是认识到仅靠推理是不够的,知识对于实现智能最为重要。1972年Winograd发表了自然语言理解系统SHRDLV,1973年Schank提出了概念从属的表示法,1974年Minsky提出了重要的框架表示法,这时Prolog程序设计语言出现。70年代后期,以知识工程、认知科学的研究为主。1977年Feigenbaum提出了知识工程,专家系统开始广泛应用,出现了专家系统开发工具,人工智能产业日益兴起。
  80年代,以推理技术、知识获取、自然语言理解和机器视觉的研究为主。开始了不确定推理、非单调推理、定性推理方法的研究。机器学习或知识获取已成为人工智能界的热门话题。机器翻译系统已有商品。
  现今,人工智能正朝着实用化迈进,不再限于理论讨论,全世界已有几千个专家系统在使用着。讲口语的自然语言理解(限定领域不限定人)已达每秒一句话的量级。视觉方面,机器人驾驶的汽车在自然景致的野外环境下已能达到人们一般散步的速度。