专家系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正向演绎推理,不完整的故障码信息也能给出结论,增加了一个实例数据库,用于存储推理结果,避免了重复推理,提高了推理效率。
图2 功能模块
其中无线收发模块具有接收信息和发送信息的功能,它接收车载端发送的故障码信息,并传递给数据处理模块,并将数据处理模块传递过来的诊断结果反馈给车载端。数据处理模块处理和转换无线收发模块传递来的故障码信息,并传递给故障诊断模块;同时处理和转换故障诊断模块传递来的诊断结果并传递给无线收发模块。故障诊断模块接收从数据处理模块传来的车牌号和故障码,运用知识库中的知识进行推理,得出诊断结果并将车牌号和诊断结果返回给数据处理模块。
3.1数据交互协议
为了使专家系统能实时准确的接受到车载端发送来的故障求助,同时将诊断结果实时准确的反馈给车载端,建立一个好的数据交互协议是很重要的专家系统数据包格式如表1 所示。
表1 汽车故障诊断专家系统数据包格式
其中:Device 为设备编号,长一个字节;Node 表示通信节点;Data/Cmd 表示包的类型,若为0x00 表示数据,若为0x01 表示命令;Buf 表示包的实际内容,其长度(字节数)由Length 域的数据决定。
本系统在运行过程中,传输的数据包有显示端发出的故障求助包、网关发给服务中心的故障求助包和来自服务中心的分析结果包。当车辆发生故障时,或用户觉得必要时,由用户发起故障求助,按下“故障求助”向服务中心请求帮助。具体过程如下:
1)显示端“故障求助”按钮通过网关向服务中心发起故障综合诊断请求,请求包格式见表2。
表2.显示端发出的故障求助包
2)网关先将该请求转发给采集端。
3)采集端对关键点扫描,将扫描的故障码发给网关。
4)网关根据来自采集端的数据包确定有无故障存在,若无,直接发送故障尾包给显示端;若有,将故障码转发给显示端,同时在故障码包的Buf开始处插入“车牌号码”信息
如表3 所示,将其发给服务中心,等待服务中心的诊断结果。
表3 网关发给服务中心的故障求助包
5)若服务中心未返回诊断结果(如发生无法连接服务中心的情况),则直接将尾包发给显示端;若服务中心返回分析结果,则将来自服务中心的结果包(表4)和故障尾包依次发送给显示端。
表4 来自服务中心的分析结果包
3.2 故障诊断及设计
故障诊断模块是专家系统的核心部分,它根据发送来的故障码,运用知识库中的知识进行推理,得出故障部位、维修建议和置信度。本系统在正向演绎推理的过程中,使用深度优先搜索策略以达到对汽车故障的诊断。
3.2.1 推理原理
本系统是基于规则的专家系统,知识被表示为“如果……那么……”的产生式规则,即“IF P THEN Q”的形式,其中P 是产生式的前件,指出该产生式规则的条件;Q 是一组结论或操作,指出当前提条件满足时应得出的结论或进行的操作[10]。由于此系统一次获取所有故障码,无法在推理过程中询问用户相关信息,用反向演绎推理或正反向演绎推理比较困难,所以用正向演绎推理;正向演绎推理的基本思想是:用户首先用已知的初始事实集初始化临时数据库,在知识库中寻找与临时数据库中的模式匹配的知识,构成可用的知识集。然后运用深度优先搜索作为冲突消解策略选出一条规则进行推理,并将推理出的新事实加入到临时数据库中作为下一步推理的已知事实。如此反复这一过程直到求出所要求的解或者知识库中再无其他可用的知识为止。
本系统是正向推理的基础上的不确定性推理。知识库中的知识具有不确定性,在推理过程中,结论的不确定度为推理过程中规则不确定度的乘积,最后的推理结果按不确定度的大小进行排序,给出用户结论的优先顺序。
本系统设置了一个实例数据库,推理的最后结果存放在实例数据库中,当下次发送来的故障码存在于实例数据库时,可以用实例数据库中已有的结论反馈给用户。
3.3 专家系统算法设计
故障诊断专家系统整体流程图见图3。故障诊断需要故障诊断模块各部分间的协调工作,基本步骤如下:1)程序对数据处理模块传来的数据进行处理,分离出车牌号和
故障码。2)在实例数据库中查询有无与故障码匹配的诊断结果,若有,将车牌号和诊断结果传给数据处理模块,程序结束;若无,进行步骤3。3)建立用于推理的对象,初始化临时数据库。4)运用知识库中知识进行推理,如果推理失败,将车牌号和“推理失败”传给数据处理模块,程序结束;如果推理成功,进行步骤5。5)将推理实例加入实例数据库,将车牌号和推理结果传给数据处理模块,程序结束。
图4 专家系统整体流程图
3.4故障推理及设计
故障推理是以推理机为中心的推理过程,流程图如图4 所示。基本步骤如下:
1)建立临时数据库,用于存储规则前件及其对应规则的概率和最终结果及其对应概率。
2)初始化临时数据库,将各故障码与规则前件匹配,形成规则集,运用宽度优先搜索策略,依次选取规则进行推理,将推理结果中的结论加到存储最终结果的数组中,相应概率加到存储最终结果概率的数组中;将推理结果中的操作加到存储规则前件的数组中,相应概率加到存储规则前件概率的数组中,形成新的事实集进行下一步推理。
3)反复执行步骤2 直到存储规则前件的数组中不与任何规则匹配时为止。
4)若诊断失败,返回车牌号和“推理失败”;若诊断成功,将推理结果中相同项合并,对应概率相加,去除结果中概率小于0.1 的项,并将推理结果存入“实例数据库”,返回车牌号和推理结果。
4 结束语