笔者按:本文主要是基于刘金琨的《智能控制(第5版)》,并结合(来自B站)昆明理工大学的《智能控制导论(公开课)》等,对其中关于专家系统的内容进行的整理,未经相关人员校对,仅供学习交流使用。
1965年,E.A.Feigenhaum等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制出了世界上第一个专家系统dendral,可以推断化学分子结构。近些年随着专家系统的理论和技术不断发展,应用渗透到几乎全部领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等,开发了几千个专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。
专家系统属于人工智能的一个发展分支,是一个智能的计算机程序系统,其内部含有大量的某个领域专家水平(下图是部分示例)的知识与经验,能够利用人类专家的推理方法来处理该领域的难题。
一、基本原理
专家系统主要由知识库、推理机和人机接口组成(如下图所示)。知识库和推理机相互交互(1-2)相当于人类专家的思考过程,因此就能够得到一个决策,从而完成问题的解决。
电脑1.知识库
用于领域专家的知识存储。其中规则库有(1)基于专家经验的判断规则,(2)用于推理、问题求解的控制性规则,数据库有(3)用于说明问题的状态、事实和概念及当前的条件和知识等数据。功能模块主要有知识查询、检索、增删、修改和扩充等。
2.推理机
用于对知识库中的知识进行推理来得到结论的“思维”结构,用于完成基于知识的推理过程。包含解释程序、调度程序两类程序。包含三种推理方式,(1)正向推理,从原始数据和已知条件得到结论,(2)反向推理,先提出假设的结论,然后寻找支持的证据,若证据存在,则假设成立,(3)双向推理,运用正向推理提出假设的结论,运用反向推理来证实假设。
3.人机接口
(3.1)专家系统与领域专家的接口,用于获取该领域专家的大量的有价值的知识,并且把它存储在知识库里边。(3.2)专家系统与用户之间的接口,用于接收用户的提问,并且把通过推理机和知识库得到的结果发送给用户。
二、表达方式
把人类专家的知识表达成计算机可以理解的知识,常用的表达方式有产生式规则、框架、语义网络、过程。1972年,纽厄尔和西蒙在研究人类的认知模型中,开发了基于规则的产生式系统,产生式规则(如下图所示)已发展成为人工智能中应用最多的一种知识表达方式,也是专家系统中最流行的方式。
电脑if E then H with CF(E,H)。E表示前提条件,即证据;H表示结论部分,即假设,也是命题;CF为强度,反映当前提为真时,规则对结论的影响程度,即可信度。
常见结构如下图所示。
部分应用领域如下图所示(实际规则可能有所区别)。
三、开发方式
1.采用编程语言进行编写
比如采用C语言、LISP、PROLOG等。
电脑2.采用专家系统外壳
针对已经开发成功并被证明行之有效的专家系统,剔除原有的知识,保留其体系结构和功能,再把领域专用的界面改成通用界面,就得到了专家系统外壳。将新的知识装入已有的知识库结构中即可。常用的有EMYCIN、KAS、EXPERT等。
3.采用通用型专家系统工具和开发环境
为专家系统的开发提供了多种方便的构建方式。例如说可能有获取知识的辅助工具,适应各种不同知识结构的知识表示模式,各种不同的不确定性的推理机制、知识库管理系统以及各种不同的辅助工具和调试工具等。常用的有Insight2、Exsys等。
四、总结
以上主要讲述了专家系统的概念、组成和设计方法。其实现有三大步骤如下图所示。
第一,知识库的设计,确定知识类型、知识的表达方式,设计知识库的管理系统;
第二,推理机的设计,我们选择推理方式,选择推理算法;
第三,进行人机接口的设计,包括设计用户与专家系统的接口,这个接口用于咨询、理解和结论的解释;包括设计专家与专家系统的接口,这个接口用于知识库的扩充或者系统的维护。
作者:郭强,目前在某知名清洁能源企业,任职产品经理。5年产品经理、3年项目经理、有创业经历。
如果您对工业互联网也感兴趣,可以给我留言。让我们一起相互分享前沿知识、实践感受等,一起修炼基本功,共同致力于打造一流产品。
电脑 电脑