人工智能的研究领域参照人在各种活动中的功能,我们可以得到人工智能的领域也不过就是代替人的活动而已。哪个领域有人进行的智力活动,哪个领域就是人工智能研究的领域。人工智能就是为了应用机器的长处来帮助人类进行智力活动。人工智能研究的目的就是要模拟人类神经系统的功能。人工智能的研究更多的是结合具体领域进行的,主要研究领域有专家系统,机器学习,模式识别,自然语言理解,自动定理证明,自动程序设计,机器人学,博弈,智能决定支持系统和人工神经网络。人工智能是一种外向型的学科,它不但要求研究它的人懂得人工智能的知识,而且要求有比较扎实的数学基础,哲学和生物学基础,只有这样才可能让一台什么也不知道的机器模拟人的思维。因为人工智能的研究领域十分广阔,它总的来说是面向应用的,也就说什么地方有人在工作,它就可以用在什么地方,因为人工智能的最根本目的还是要模拟人类的思维。因此我们可以从许多的应用领域中挑选几个有代表性的方面来看看人工智能的发展需要进行哪些方面的工作。下面我们就具体的应用方面专家系统来看看人工智能的主要研究领域是什么。专家系统是目前人工智能中最活跃,最有成效的一个研究领域,它是一种基于知识的系统,它从人类专家那里获得知识,并用来解决只有专家才能解决的困难问题。这样定义专家系统:专家系统是一种具有特定领域内大量知识与经验的程序系统,它应用人工智能技术、模拟人类专家求解问题的思维过程求解领域内的各种问题,其水平可以达到甚至超过人类专家的水平。专家系统是在关于人工智能的研究处于低潮时提出来的,由它的出现及其所显示出来的巨大潜能不仅使人工智能摆脱了困境,而且走上了发展时期。专家系统的分类有解释型,诊断型,预测型,设计型,规划型,控制型,监测型,维修型,教育型和调试型,而从体系上来说,它可分为集中式专家系统,分布式专家系统,神经网络专家系统,符号系统与神经网络结合的专家系统。名字可是不少,但是专家系统的基本结构图如下图所示:人机接口部分就不做多的解释了,它只是一个用户界面而已。它的实现可以有不同的形式,也有可能是很复杂的。人们希望能够和人类专家那样和机器交流,不再使用简单的命令,而是用人类的语言完成交互工作,这就要求人机接口能够有自然语言理解的功能。但是专家系统能不能使用,好不好使用关键在中间的那一层,人可以思考,如果希望机器也能够象人那样思考,那么推理机制是必不可少的,而且它在很大程序上决定了这个专家系统的效率和可用性。就推理而言,它一般可以分为精确推理和非精确推理两种。精确推理有以下特点:精确推理是运用确定性的知识进行的推理,精确推理基于的知识都是明确无误的东西,是1就是1,是2就是2,不存在什么模糊的东西,在一点上,精确推理有它的长处,也就是说,它可以准确地推理,在推理的过程中不必关心会不会出现什么结论精确度的问题,每一步到下一步都是完全正确的,不存在什么可能对可能错,它的正确性是100%传递给下一个推理过程的。精确推理和人类的思维模型相差很大,人类的思维是有精确的一面,但是绝大部人类的思维还是模糊的和不确定的,人类思维的结果往往是可能如何如何,大概如何如何,但是精确推理的结果中绝对不会有什么可能大概之类的话。精确推理是一种单调性推理,即随着新知识的加入,推出的结论或证明了的命题只会单调增加,这一点和人类的思维结构也有着明显的不同。新的知识有可能使人类的思维结果增加,但绝对不会是单调增加。精确推理需要知道全部的信息才可能进行推理,这与人有明显的不同,人可以根据一些情况进行一些假设和推断,产生一个结果,而精确推理却不可能。正因为精确推理的基础是经典逻辑,而经典逻辑可以说是一种符号化了的形式推理,它关心的是符号与符号之间的形式联系,而不是符号与符号之后深层次的语义联系。也正是因为这一点,限制了精确推理在人工智能中的应用。如果让这种逻辑解一些题,进行一些确定性的工作,它还是可以的,但是如果让它进行更复杂的工作就力不从心了。我们可以想象一下机器翻译中的例子,人类语言中的有些句子根本没有什么语法,非要从语义上理解不可。这个时候精确推理就不好用了。下面我们看看,人类思维的另一方面,非精确方面。我们知道所谓推理就是从已知的事实出发,通过运用相关知识逐步推出结论或者证明某个假设不成立的思维过程。专家系统中的知识来自于领域内的人类专家,而这种知识常常带有不确定性,在这种情况下,如果仍然使用经典逻辑做精确推理,就必然要把客观事物原来具有的不确定性及事物之间客观存在的不确定性关系化归为确定性,在本来不存在明确类属关系的事物之间人为地划上界限,这无疑会舍弃事物的某些重要属性,从而失去真实性。不确定性推理是建立在非经典逻辑上的一种推理,它是对不确定性知识的运用与处理,严格地说,所谓不确定性推理就是从不确定性的初始证据出发,通过运用不确定性的知识,最终推出具有一定程度不确定的,但是却是合理(或近乎于合理)的结论的思维过程。要处理不确定的时候就涉及到确定性推理中不存在的几个基本问题:如何表示这种不确定性,根据表示了的不确定性如何进行推理得到一个(或多个结论),在推理的过程中如何处理不确定性带来的结论的不确定性,如果评价所得到的结果。因为计算机是处理数字的一种装置,因此对于不确定性的表示说到底还是将它表示成一种有范围的数值,这种数值要有利于推理中对结论不确定性的计算。解决问题总是需要推理的,而推理出的结论能不能用,是不是结果,那就需要一种衡量的方法,衡量的方法和具体的推理方法不同而不同,现有的推理方法基本上走的是两条路,一条是基于概论论的,一条是基于模糊数学的,前者发展的历史很长了,有很多现成的结果可以使用,但是由于概率是基于一种大样本统计的产物,而这种大样本统计往往不可能得到,而且还没有充分体现模糊性,所以也更谈不上对模糊性进行有效地处理了;而后者克服了前者的缺点,它根据模糊集理论发展出来,为不确定性的判断和获得开辟了新的道路。现在我们回到我们上面的专家系统基本结构图上来,我们知道人类的推理活动是基于一定知识进行的,我们解几何题的时候总是要知道一些基本的公理(或定理),医生看病的时候起码要有一点最起码的医学常识,这样才有进行推理的物质条件,推理是建立在具有知识的基础上进行的。知识就是一些事实或事实的抽象,我们称之为概念的东西组成的。知识是对客观事物某一方面属性的了解。知识有着它的特性:相对正确性。任何知识都有一定的应用范围,不能脱离了范围来说一个知识可用不可用;不确定性。由于现实世界的复杂性,许多事实和概念都不可以说是绝对正确,就象哲学中不存在绝对真理一样,知识本身也有不确定性;可表示性。同样,知识也要是可以表达的,用口述也要,用什么东西记录也要,要能够感知的,如果不能表示出来,那谁能够理解,连表示都表示不出来,那也根本谈不上应用了。不能用的东西,我们知道也罢不知道也罢,对于面向应用的人工智能来说没有什么意义。事实和概念之间,概念和概念之间,事实和事实之间都存在联系,这种联系有两种,静态联系和动态联系。静态联系。比如,我们一旦提起“早上”这个概念就会想起“太阳东升”或“公鸡叫”之类的事实,这种联系有时候是双向的,也就是等价的,而有时是单向的,我们可以把“太阳东升”与“早上”等价起来,而我们如果把“公鸡叫”和“早上”等价起来,十有八九可能要错了。动态联系。除了静态的联系以外,我们还必须看到,事实和概念之间也会存在一种动态的联系,这一点在机器翻译中很好的体现了。比如在上文中看到了一个概念A,它建立了概念B的联系,那么,我们在下文中就必须承认A和B之间是有联系的,即使在生活中这种联系是根本不存在的,只要在上文中已经承认了这种联系,我们就必须承认这种联系的存在。再具体一点,我们在翻译一篇科幻小说的时候,前文已经说过这个地方“早上”太阳是从“北方升起”,那么,“太阳北方升起”就和“早上”这个概念建立了联系,在这篇文章的翻译中就要注意了,凡是有关早上太阳的都要是从“北方升起”的。但是千万要注意,这种联系不可做为静态联系而带到下一个文章中,如果把这个联系记住带到下一个文章中去,那可就出大麻烦了。前面已经说过知识是客观事物某一方面属性的描述,而正因为客观事物是相互联系的,因此知识也必须是相互联系的。这就是知识联系的存在的本质原因。知识作为机器智能的一部分,就必须能够让机器知道什么是知识,那就涉及到了知识表示的问题,这个问题就象人记录某一事实有不同的方法一样,例如对于聋子来说,你让他把“早上”和“公鸡叫”联系在一起,那是根本不可能的。而对于机器这个东西,它简直就是一个又聋又瞎,又没有感觉(更谈不上感情)的石头,它只理解数字和一些人为规定的数据结构,那么如何让它能够理解知识,特别是知识中的联系就是一个重要的问题了,一个专家系统的推理系统做得再好,没有知识做为后盾肯定什么也干不成。同时,知识的表示又影响到推理机制的运行,推理机制和知识表示两者是相关的,一种知识表示可以有利于一种推理机制的运行,而另一种则不利于这种推理机制的运行,因此选择知识表示也一定要根据所要处理的具体领域选择相应的知识表示方法,具体的知识表示有以下几种:一阶谓词逻辑表示法。它是把一些知识表示为经典逻辑中的谓词表示式,因为表示成了谓词的形式,进行推理起来当然比较方便了,但是有许多知识是根本无法表示为谓词的,其关键原因是因为谓词只有表示出精确的知识,而对不确定的事物无法有效表示;同时这种表示方式也不能很好地体现知识的内在联系,寻找知识内在联系的任务要交给推理系统或另外的系统完成,这就比较麻烦了。产生式表示法。它的基本形式类似于我们的IF语句的形式,因为与计算机中一些现成的语句相似,因此对它的处理要方便得多。它注意到了联系和知识的应用范围,但是它在表示结构性知识上可是先天不足。框架表示法。它的基本作法是把许多事物放在一起,构成一个集合,然后就这个集合中的联系和事实进行表示,这种表示方法可比前两种科学得多了。在机器翻译中,如果一个老太太说到VC,我们可不要把它和微软联系起来,而要和维生素C等价。这种表示法限制了概念出现的场合,这可能是它的不足之处,但是相对于前面两种表示法,它是很接收于人类思维的一种表示法,它无形中体现了知识适用的范围。更重要的是它是可以继承的,在这一点上,它更加接近人的思维了。语义网络法。我们自己可以想象一下自己所拥有的知识体系,有是有结构的,但在另一角度上看,它是一个网络,普遍联系的网络,而语义网络表示法正是在表示人类知识体系成网络化的一面,而且它能够使联想式推理在其上得到很好的发挥,为进行复杂推理打下了坚实的基础。它很接近人类思维,但是它不能正确表示类属关系,它体现了网络性,但它忽视了事物有类属性。框架表示法和语义网络表示法在这一点是有互补性的。脚本表示法。这种表示法在自然语言理解方面开始应用,这是因为自然语言理解的特殊性要求有这样一种表示法。它正确地表示了上下文关系,表示了事物之间的静态关系,动态关系,充分考虑到了场景(上下文),但是世界上的场景可实在是太多了,保存这些场景几乎是不可能的。这就限制了它的应用范围。就知识表示来的几种方法来看,知识的表示有贴近于人类表示的,有与人类表示相差比较远的表示方法,总体上我们可以看到一种特点:与人类思维接近的表示法,让计算机表示起来都会有一定的麻烦,而与机器接近的表示法却不能完全表示人类知识结构。机器和人之间有着一种差别,这种差别可能开始促使人们开始研究新结构的计算机,让机器和人类思维之间的差别减少到最小。但是因为目前人类的思维结构,人脑的结构还不能搞得很清楚,因此能够靠这样一台机器把人和机器的思维差距缩小到什么程度就不得而知了。而且就目前看来,替换如此许多的计算机也是不现实的,因此有必要采用另外的方法让机器和思维和人类的思维更加接近。有人说人工智能就是一个数据库加上搜索,从某种程度上,这句话也确实可以说明人工智能的现状。无论是在知识库这一方也好,还是在推理机那一方也好,都要涉及到搜索这一过程。大体上来说,搜索分为两种,一种是非启发式的搜索,另一种是启发式搜索。非启发式的搜索在搜索过程中不改变搜索策略,不利用搜索获得的中间信