资源描述
一、什么是专家系统?
专家系统的目的在于能使计算机具有人类专家那样的解决问题的能力。它是AI领域中最活跃而且也是最有效的一个分支。
所谓专家系统其实是一类程序系统,从功能上可以把专家系统定义为:“具有大量专门知识,并能利用这些知识,运用知识推理的方法来解决特定领域中实际问题的计算机程序系统”。
二、专家系统的构成
一般完整的专家系统应包括人机接口、推理机、知识库、数据库、知识获得器和解释机构六部分。
人机接口
解释机构
数据库
推理机
知识库
知识获取机构
用户
领域专家
知识工程师
人机接口:是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。
推理机:是针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。
解释机构:解释系统的推理给用户。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。
知识库:用来存放专家提供的知识。
知识获取:可以扩充和修改知识库中的内容,也可以实现自动学习功能。
数据库:专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。
三、专家系统的推理过程
一、正向推理
推理机将知识库中的规则前提与这些事实进行匹配:一般是将每条规则的<前提>取出来,验证这些前提是否在数据库中,若都在,则匹配成功,不然的话,则取下一条规则进行匹配。
把匹配成功的规则的<结论>作为新的事实添加到综合数据库中。
用更新后的综合数据库中的事实,重复上面两个步骤,直到某个事实就是意想中的结论或是不再有新的事实产生为止。
否
开始
令I=1
取出规则I的前提
这些前提都在数据库中吗?
取出规则I 的结论
这些结论是新事实么?
将这些结论加入数据库,并记下规则
是
是
令I=I+1
否
还能产生新事
实么?
能
否
结束
已知两个三角形的两边和夹角相等,证明三角形全等。
设:
△1的三边为S1,S2,S3,S1和S2的夹角为α
△2的三边为P1,P2,P3,P1和P2的夹角为β
用产生式表示为:
If S1= P1∧S2= P2∧α=β THEN S3= P3
If S3= P3∧S1=P1∧S2=P2 THEN △1≌△2
二、反向推理
反向推理就是用户或系统提出一些假设,然后系统来验证这些假设的真假性,它的推理过程可以理解为从目标出发,反向使用规则进行推理,其具体过程如下;
1. 看假设是否在综合数据库当中,若在,则假设成立,推理结束或进行下一个假设的验证,否则,进行下一步。
2. 判断这些假设是不是证据结点,若是,系统向用户提问,否则进行下一步。
3. 找出结论部分包含这些假设的规则,把这些规则的所有前提作为新的假设。
重复1,、2、3步。
三、不精确推理
不确定推理又称不精确推理,是指由于证据的不确定、规则的不确定或研究方法的不确定,导致推理结果的不确定。
表示不确定信息的基本思想是:将推理过程中所涉及的“事实”和“规则”都赋上一个“可信度因子”,即事实或规则的确信程度。可信度因子一般可以取闭区间[-1, 1]中的任何一个值,如果完全确定的话可信度因子就是1,完全否定则取-1.
不精确推理的计算方法:
通常我们用CF来表示可信度。
例如,规则:if A then B CF(B, A)
设:CF(A)表示前提条件A的可信度;CF(B)表示结论B的可信度;CF(B, A)表示从A推出B的可信度(可能性),即该规则的可信度
前提条件为单个条件时:CF(B) = CF(B, A) ·CF(A)
例如,规则的可信度为100%,即CF(B, A) =1, 则CF(B) = CF(A)
前提条件以“AND”连接时
如果前提条件A以“AND”连接了多个条件,例如A=(),则取前提条件中可信度的最小值作为A的可信度。
CF(A)=CF(A1∩A2∩A3)=min(CF(A1),CF(A2),CF(A3))
CF(B)=CF(B, A) ·CF(A)=CF(B, A) ·min(CF(A1),CF(A2),CF(A3))
前提条件以“OR”连接时
如果前提A以OR连接了多个条件,例如A=(A1∪A2∪A3),则取多个条件中可信度的最大值作为A的可信度。
CF(A)=CF(A1∪A2∪A3)=max(CF(A1),CF(A2),CF(A3))
CF(B)=CF(B, A) ·CF(A)=CF(B, A) ·max(CF(A1),CF(A2),CF(A3))
四、专家系统的解释功能
专家系统一般要求要有解释功能,回答用户在推理过程中“为什么”之类的问题及在推理结束后回答“怎么样”之类的问题,解释系统的推理过程使系统对用户透明。解释机构由一组程序组成,它能跟踪并记录推理过程,当用户提出的询问需要给出解释时,它将根据问题的要求分别作相应的处理,最后把解答用约定的形式通过人机接口输出给用户。
五、开发专家系统
启智专家系统工具
骨架型开发工具
语言型开发工具
1、专家系统外壳
专家系统外壳是一类勇于建造专家系统的特殊软件。它通常是由一些已经成熟的具体专家系统抽取具体知识演化而来饿。和具体的专家系统相比,它保留了原系统的基本功能、骨架(知识库及推理机)、外壳,并把领域专用的界面改成了通用界面。最典型的专家系统外壳是EMYCIN, KAS及EXPERT等。
2.开发过程
(1)问题定义与系统分析
(2)归纳整理,知识获取
(3)知识表示,构造知识库
(4)增加规则,软件实现
(5)系统测试与评价
展开阅读全文