首页 理论教育 专家系统:模拟人类专家解决难题的计算机程序

专家系统:模拟人类专家解决难题的计算机程序

时间:2023-06-23 理论教育 版权反馈
【摘要】:专家系统实质上是一类计算机程序,它能够以人类专家的水平完成特别困难的某一专业领域的任务。简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。

专家系统:模拟人类专家解决难题的计算机程序

1.专家系统的定义

20世纪80年代,随着“专家系统”的出现,第二次人工智能热潮随之到来。所谓专家系统,是指专注于某些特定领域的系统,应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题。例如“以自然的交谈方式预订酒店的系统”“诊断是否患有特定疾病的系统”等。

专家系统实质上是一类计算机程序,它能够以人类专家的水平完成特别困难的某一专业领域的任务。在设计专家系统时,知识工程师的任务就是使计算机尽可能模拟人类专家解决某些实际问题的决策和工作过程,即模仿人类专家如何运用他们的知识和经验来解决所面临问题的方法、技巧和步骤。专家系统的先驱费根鲍姆(Feigenbaum)说:专家系统的力量是从它处理的知识中产生的。这正符合一句名言:知识就是力量。简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。

2.专家系统的特点

专家系统的特点见表2-8。

表2-8 专家系统的特点

3.专家系统的结构

由专家系统的定义可知,专家系统的主要组成部分是知识库和推理机。实际的专家系统在功能和结构上可能彼此有些差异,但完整的专家系统一般均应包括人机接口、推理机、知识库、综合数据库、知识获取机构和解释机构6部分,如图2-43所示。

图2-43 专家系统的一般结构

专家系统的核心是知识库和推理机。专家系统的工作过程是:根据知识库中的知识和用户提供的事实进行推理,不断地由已知的事实推出未知的结论,即中间结果,并将中间结果放到数据库中,作为已知的新事实进行推理,从而把求解的问题由未知状态转换为已知状态。在专家系统的运行过程中,会不断地通过人机接口与用户进行交互,向用户提问,并向用户做出解释。

知识库用于存储求解问题所需要的领域知识和事实等。推理机是一个执行结构,它负责对知识库中的知识进行解释,利用知识进行推理。人机交互界面是系统与用户的交互接口,系统在运行过程中需要用户通过该交互接口输入数据到系统中,系统则将需要显示给用户的信息通过该交互接口显示给用户。解释器是专家系统特有的模块,也是与一般计算机软件系统的区别之一。在专家系统与用户的交互过程中,如果用户希望系统解释内容,专家系统通过解释器对用户进行解释。解释一般分为“Why解释”和“How解释”两种,Why解释回答“为什么”,How解释回答“如何得到”。知识获取模块是专家系统与知识工程师的交互接口,知识工程师通过知识获取模块将整理的领域知识加入知识库中。

接下来来看一个简单的动物识别专家系统。

假设你是一位动物专家,可以识别各种动物。你的朋友周末带孩子去动物园游玩并见到了一个动物,朋友不知道该动物是什么,于是向你电话咨询,你们有了以下的对话:

你:你看到的动物有羽毛吗?

朋友:有羽毛。(www.xing528.com)

你:会飞吗?

朋友:(经观察后)不会飞。

你:有长腿吗?

朋友:没有。

你:会游泳吗?

朋友:(看到该动物在水中)会。

你:颜色是黑白吗?

朋友:是。

你:这个动物是企鹅

在以上对话中,当得知动物有羽毛后,你就知道了该动物属于鸟类,于是你提问是否会飞;当得知不会飞后,你开始假定这可能是鸵鸟,于是提问是否有长腿;在得到否定回答后,你马上想到了可能是企鹅,于是询问是否会游泳;然后为了进一步确认是否是企鹅,又问颜色是否是黑白的;得知是黑白颜色后,马上就确认该动物是企鹅。

我们也希望一个动物识别专家系统能像你一样完成以上过程,通过与用户的交互回答用户有关动物的问题。为了实现这样的专家系统,首先要把你有关识别动物的知识总结出来,并以计算机可以使用的方式存放在计算机中,设计规则表示这些知识。

例如,“如果有羽毛则是鸟类”可以表示为:

其中,r6是规则名,(有羽毛是)是规则的前提,(类鸟类)是规则的结论。

推理机基于这些规则和知识库中的知识对用户的输入进行推理,并将推理过程和结果记录在动态数据库中。解释器可以基于推理过程数据对结果进行解释,如图2-44所示。

图2-44 假定“企鹅”的推理过程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈