智能软件(intelligence software)是指能产生人类智能行为的
计算机软件。智能软件不仅可在传统的诺依曼的
计算机系统上运行,而且也可在新一代的非诺依曼结构的计算机系统上运行。智能的含义很广,其本质有待进一步探索,因而,对:“智能”难于给出一个完整确切的定义,但一般可作这样的表述:智能是人类大脑的较高级活动,它至少应具备获取和应用知识的能力、思维与推理的能力、问题求解的能力和学习能力。
一个智能软件处理的对象,不仅有
数据,而且还有知识。表示、获取、存取和处理知识的能力是智能软件与传统软件的主要区别之一。因此,一个智能软件也是一个基于知识处 理的 软件 ,它需要如下设施:知识表示语言;知识组织工具;建立、维护与查询知识库的方法与环境;支持现存知识的重用。
一个智能软件往往采用
人工智能的问题求解模式来获得结果。它与传统的软件所采用的求解模式相比,有 3 个明显特征,即其问题求解算法往往是非确定型的或称启发式的;其问题求解在很大程度上依赖知识;智能软件的问题往往具有指数型的计算复杂性。智能软件通常采用的问题求解方法大致分为搜索、
推理和规划3类。
智能软件与传统软件的又一个重要区别在于:智能软件具有现场感应(环境适应)的能力。所谓现场感应指它可能与所处的现实世界的抽象——现场——进行交往,并适应这种现场。这种交往包括感知、学习、推理、判断并做出相应的动作。这也就是通常人们所说的自组织性与自适应性。
也称基于知识操作系统。是支持计算机特别是新一代计算机的一类新一代操作系统。它负责管理上述计算机的资源,向用户提供友善接口,并有效地控制基于知识处理和
并行处理的程序的运行。因此,它是实现上述计算机并付诸应用的关键技术之一。
为了开展
人工智能和认知科学的研究,要求有一种程序设计语言,它允许在
存储器中储存并处理一些复杂的、无规则的、经常变化的和无法预测的结构,这种语言即后来被称为的
人工智能程序设计语言。人工智能程序设计语言及其相应的
编译程序(
解释程序)所组成的人工智能程序设计语言系统,将有效地支持智能软件的编写与开发。与传统程序设计支持
数据处理采用的固定式算法所具有的明确计算步骤和精确求解知识相比,
人工智能程序设计语言的特点是 :支持符号处理 , 采用
启发式搜索,包括不确定的计算步骤和不确定的求解知识。实用的
人工智能程序设计语言包括函数式语言(如Lisp),逻辑式语言(如Prolog)和知识工程语言(Ops5),其中最广泛采用的是Lisp和Prolog及其变形。
Lisp语言适合于符号处理,它处理的对象是符号
表达式(又称S-表达式)。所有的程序与数据均由S-
表达式构成,采用的主要控制结构是
递归。Prolog语言以一阶谓词演算为其理论基础。它的数据结构是项,所有的程序和数据均由项组成,也采用
递归为其主要控制结构。此外,Prolog能自动实现模式匹配和回溯。
又称基于知识的软件工程辅助系统。它利 用与软件 工程领 域密切相关的大 量专门知识,对一些困难、复杂的软件开发与维护活动提供具有软件工程专家水平的意见和建议。智能软件工程支撑环境具有如下主要功能:支持
软件系统的整个生命周期;支持软件产品生产的各项活动;作为软件工程代理;作为公共的环境
知识库和信息库设施;从不同项目中总结和学习其中经验教训,并把它应用于其后的各项软件生产活动。
指能使计算机向用户提供更友善的自适应好的人机交往软件。在智能接口硬件的支持下,智能人机接口软件大致包含以下功能:采用自然语言进行人机直接对话;允许声、文、图形及图像能多介质进行人机交往;自适应不同用户类型;自适应用户的不同需求;自适应不同
计算机系统的支持。
专家系统是一类在有限但困难的现实世界领域帮助人类专家进行问题求解的
计算机软件,其中具有智能的专家系统称为 智 能专家系统 。 它有如下基本特征:不仅在基于计算的任务,如数值计算或信息检索方面提供帮助,而且也可在要求推理的任务方面提供帮助。这种领域必须是人类专家才能解决问题的领域;其推理是在人类专家的推理之后模型化的;不仅有处理领域的表示,而且也保持自身的表示、内部结构和功能的表示;采用有限的自然语言交往的接口使得人类专家可直接使用;具有学习功能。
指利用
人工智能技术或知识工程技术于某个应用领域而开发的应用软件。显然,随着
人工智能或知识工程的进展,这类软件也不断增加。已有许多智能应用软件付诸实用,其中有的已成为商品软件,它是
人工智能的主要进展之一。