实例讲解专家系统工作原理
- 格式:doc
- 大小:79.00 KB
- 文档页数:7
实例讲解专家系统工作原理
寿光中学王建强
根据视频和拓展资料理解学习,对专家系统工作原理知识学习总结如下:
一、专家系统的构成
一般完整的专家系统应包括人机接口、推理机、知识库、数据库、知识获取器和解释机构六部分。
用户领域专家知识工程师
二、专家系统的工作原理
一般的专家系统是通过推理机与知识库和综合数据库的交互作用来求解领域问题的,其大致过程如下:
1)根据用户的问题对知识库进行搜索,寻找有关的知识;(匹配)
2)根据有关的知识和系统的控制策略形成解决问题的途径,从而构成一个假设方案集合;
3)对假设方案集合进行排序,并挑选其中在某些准则下为最优的假设方案;(冲突解决)4)根据挑选的假设方案去求解具体问题;(执行)
5)如果该方案不能真正解决问题,则回溯到假设方案序列中的下一个假设方案,重复求解问题;
6)循环执行上述过程,直到问题已经解决或所有可能的求解方案都不能解决问题而宣告“无解”为止。
1、正向推理
在专家系统中,对知识应用的顺序和选择过程称为控制策略,它决定着如何推理以及采用何种推理方式。
正向推理(Forward Reasoning)和反向推理(Reverse Reasoning)就是两种重要的控
制策略。
上图所示实例中,知识库中的规则: IF 苏格拉底=TURE THEN 男人=TURE. IF 男人=TURE THEN 人类=TURE. IF 人类=TURE THEN 会死的=TURE. 解释机构:顺序规则 建议取得由来。
显示:
会死的 = TRUE 应用规则:
IF 人类 = TRUE
THEN 会死的 = TRUE .
显示:
男人 = TRUE 应用规则:
IF 苏格拉底 = TRUE THEN 男人 = TRUE .
显示:
人类 = TRUE 应用规则:
IF 男人 = TRUE THEN 人类 = TRUE .
底
你说:
苏格拉底 = TRUE
建议证实.
总结:推理机的工作过程如下:
(1)推理机将知识库中的规则前提与这些事实进行匹配;一般是将每条规则的<前提>取出来,验证这些前提是否在数据库中,若都在,则匹配成功;不然的话,则取下一条规则进行匹配。
(2)把匹配成功的规则的<结论>作为新的事实添加到综合数据库中。
(3)用更新后的综合数据库中的事实,重复上面两个步骤,直到某个事实就是意想中的结论或是不再有新的事实产生为止。
【实例讲解】
实例1:动物识别专家。
在推理过程中,会同时推出几个结论。
如:
有毛发、会吃肉、有斑点——首先推出金钱豹
有黑色条纹——再推出老虎
有蹄——再推出斑马
实例2:农产品专家系统
规则库:
R1: IF 食物为绿色 = TURE THEN 它是农产品 = TURE . R2: IF 食物为精包装 = TURE
THEN 它是高档食品 = TURE .
R3: IF 食物为冷冻食品或农产品 = TURE
THEN 它是易坏食品 = TURE .
R4: IF 食物重5KG且价廉又不易坏食品 = TURE
THEN 它是家庭通用食品 = TURE .
R5: IF 食品易坏,食物重5KG = TURE
THEN 它是牛肉 = TURE .
R6: IF 食物重5KG,且为农产品 = TURE
THEN 它是西瓜 = TURE .
数据库初始值为“食物为绿色,重5KG”
【正向推理过程解析】:
(1)第一次匹配,R1触发,综合数据库更新数据为W1“它是农产品,食物为绿色,重5KG”;
(2)以W1为匹配数据,第二次匹配,R1、R3、R6触发,R1已执行,将其删除,执行R3,综合数据库更新数据为W2“它是农产品,易坏食品,食物为绿色,重5KG”
(3)以W2为匹配数据,第三次匹配,R1、R3、R5、R6触发,R1、R3已执行,将它们删除,执行R5,综合数据库更新数据为W3“它是农产品,它是牛肉,易坏食品,食物为绿色,重5KG”,得出结论是牛肉,与事实相违,此步因R5的不精确导致推理出错;
(4)重复以W2为匹配数据,第三次匹配,R1、R3、R5、R6触发, R1、R3、R5删除,执行R6,综合数据库更新数据为W4“它是农产品,它是西瓜,易坏食品,食物为绿色,重5KG”;
(5)以W4为匹配数据,第四次匹配, R1、R3、R5、R6触发, R1、R3、R5、R6都已执行,全部删除,所有规则匹配完毕,所以综合数据库W4“它是农产品,它是西瓜,易坏食品,食物为绿色,重5KG”,得到问题的求解。
2、反向推理
反向推理(Reverse Reasoning)就是用户或系统提出一些假设,然后系统来验证这些假设的真假性。
它的推理过程可以理解为从目标出发,反向使用规则进行推理。
其具体过程如下:
1) 看假设是否在综合数据库当中,若在,则假设成立,推理结束或进行下一个假设的验证,否则,进行下一步。
2) 判断这些假设是不是证据结点,若是,系统向用户提问。
否则进入下一步。
3)找出结论部分包含这些假设的规则,把这些规则的所有前提作为新的假设。
重复1、2、3步。
3、不精确推理
不确定推理,又称不精确推理(Inexact Reasoning),是指由于证据的不确定、规则的不确定或研究方法的不确定,导致推理的结果的不确定。
表示不确定信息的基本思想就是:将推理过程中所涉及的“事实”和“规则”都赋上一个“可信度因子”,即事实或规则的确信程度。
可信度因子一般可以取闭区间[-1,1]中的任何一个值,如果完全确定的话可信度因子就是1,完全否定则取-1。
通常我们用CF来表示可信度。
例如,规则: if A then B CF(B,A)
设:CF(A)表示前提条件A的可信度;CF(B)表示结论B的可信度;CF(B,A)表示从A
推出B的可信度(可能性),即该规则的可信度。
n 前提为单个条件时
CF(B)= CF(B,A)·CF(A)
例如,规则的可信度为100%,即CF(B,A)=1,则CF(B)=CF(A)。
【前提条件以“AND”连接时】
如果前提A以“AND”连接了多个条件,例如A=(A1⋂A2⋂A3),则取前提条件中可信度的最小值作为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))
例:试求得出结论“金钱豹”的可信度,即计算CF(金钱豹)。
提示:
CF(哺乳动物)=CF(a)·CF(用乳汁哺育幼子)=0.5·0.8=0.4
CF(食肉动物)=CF(b)·CF(会吃肉)=0.95·0.9=0.855
CF(金钱豹)= CF(c)·min(CF(哺乳动物),CF(食肉动物),CF(有暗斑点))=0.6·0.4=0.24 所以,得出结论“金钱豹”的可信度是0.24。