一种基于规则的专家系统改进模型及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种基于规则的专家系统改进模型及其应用
摘要:针对现有基于规则的专家系统模型在实际应用中的不足,提出一种相对完善的改进模型,该模型中规则知识库采用“IF THEN SO THAT”闭环结构;在其中引入了模糊集理论与概率理论,并实现了定性知识与定量知识融合;然后,对改进模型的应用场景进行了探讨。
ABSTRACT: For lack of the existing rule-based expert system model in practical applications, we propose a relatively perfect improved model, In this model,the rule knowledge base using "IF THEN SO THAT" closed-loop structure;In which we introduce fuzzy set theory and probability theory, and we realize the integration of qualitative knowledge and quantitative knowledge; then, the application scenarios of this improved model were discussed.
关键字:专家系统;基于规则;知识结构;推理机
KEY WORDS: Expert system; Rule-Based; Knowledge structure; Inference engine
1. 引言
专家系统是人工智能领域最活跃、最有成效的分支,应用人工智能技术和计算机技术,根据一个或多个专家提供的知识和经验进行推理和判断,模拟人类专家的决策过程,能够解决那些需要人类专家处理的复杂问题[???]。
早期的专家系统大部分都基于规则,而且到目前为止,基于规则的专家系统也是应用最广泛的人工智能系统之一[???]。基于规则的专家系统相对其它人工智能技术,最大的优点是能够充分利用已有的知识和经验,不需要依赖海量学习数据;并且专家系统不需要依赖完整的、确定的数学模型,即可实现对复杂问题的求解[???]。
2. 现有基于规则的专家系统模型存在的问题
现阶段基于规则的专家系统采用的知识结构基本上都是基于思
维方式的“IF [求解的条件] THEN [推导的结论]”开环结构。
示例1:“IF 发烧AND 流鼻涕THEN 诊断感冒”。
这种模型主要不足:第一,不符合事理,表达不严谨,示例1中,具有发烧和流鼻涕症状的可能还有其他疾病,正确的事理表达形式应该是:“IF 感冒THEN发烧AND 流鼻涕”;第二,内容过于简单,不能满足对复杂知识规则描述的需要;第三,缺少后续处理环节,不能形成闭环结构,如示例1,没有关于感冒治疗方法及治疗效果的信息;第四,由于知识结构的限制,导致专家系统功能单一,一套规则知识库局限面向单一的功能[???]。
3. 规则库知识结构改进模型
基于规则的专家系统改进模型,核心是的基于事理、融合模糊集理论和概率理论的采用闭环结构的规则知识库,知识结构模型:
IF {∧[本源条件 * 可信度]n
THEN ∧[特征状态 * 概率]n}*(信任次数/否决次数)
SO ∨{[解决措施 * 可行性]
THAT ∧[影响效果* 概率]n *(采纳次数/否决次数)}n
规则允许部分信息为空,一条完整的规则可以构成一个闭环结构。“本源条件”(Origin)是事件起因,在闭环结构中是输入参数;“特征状态”(Status)是触发判定条件,在闭环结构中起比较器的作用;“解决措施”(Solutions)是应对方法,在闭环结构中是受控对象和受控系统;“影响效果”(Effect)是措施采取后对状态变化的预测,在闭环结构中是反馈量和输出参数。
规则中,“可信度(Credibility),可行性(Feasibility),概率(Probability)”∈(0,1],默认值为1,即确定规则,否则为不确定规则;“采纳次数/否决次数,信任次数/否决次数”用于系统使用过程中动态修正可信度及可行性;“前提条件、特征状态、解决措施、影响效果”可以是定性文字语句,也可以是量化数学表达式,还可以是进行复杂数学分析的二次编程函数。
示例2:感冒诊断及处置规则
IF [感冒:是]*72%
THEN [流鼻涕:有]*75% AND [体温>37.5℃]*80%
SO [物理降温:采取]*95%
THAT [体温缓慢下降]*85%
OR [药物治疗:采取]*30%
THAT [体温=37℃]*90% AND [耐药性:上升]
备注:由于作者非医科专业人士,本示例无任何医学依据,仅举例。
在该示例表示:如果感冒,75%的病人会流鼻涕,80%的病人体温会超过37.5℃;反过来,如果一个病人同时流鼻涕和体温超过37.5℃,那么这个病人72%的可能是感冒了;如果确诊感冒,采用物理降温的推荐程度为95%,物理降温后85%的病人体温会缓慢下降;如果确诊感冒,采用药物治疗的推荐程度为30%,药物治疗后90%的病人体温会恢复正常,但同时带来副作用是病人耐药性会上升。
示例3:简单直流恒速闭环控制
IF [负载:变化]
THEN [转速差≠0]
SO [电压=电压+转速差*K]
THAT [转速:调整]
备注:该示例中,可信度,可行性,概率均为1。
该示例中,当负载变化导致转速不等于额定转速时,通过改变电动机电压实现转速调整,通过闭环控制实现电机速度保持恒定。
4. 定性知识与定量知识融合
定性知识是采用模糊文字语句进行描述的知识,由主语及谓词组成,如示例2中的“感冒:是”、“体温:缓慢下降”等;定量知识是利用数学表达式或二次编程函数进行描述的知识,如示例2中“体温>37.5℃”。数学表达式书写简洁,处理速度快;二次编程函数可以进行更复杂的逻辑处理及数学计算,但处理时需要进行动态编译执行或动态解释执行,相对复杂和低效。