面向操作的计算机故障诊断专家系统研究
2017-09-28陈晨陈景亮张金石
陈晨,陈景亮,张金石
(海军航空大学青岛校区,山东青岛266041)
面向操作的计算机故障诊断专家系统研究
陈晨,陈景亮,张金石
(海军航空大学青岛校区,山东青岛266041)
通过对计算机故障诊断专家系统的发展和应用状况的研究分析,结合计算机诊断维修工作中的实践经验,提出了在故障诊断专家系统中建立更加清晰的诊断方案与具体操作的关系映射,改造推理机工作流程,将具体操作作为直接输出,从而增强专家诊断系统的易用性。
计算机维修;故障诊断;专家系统;操作;关系映射;输出
Abstract:Through the analysis and research on the development and application of computer fault diagnosis expert system,com⁃bined with the practical experience in computer diagnosis and maintenance work,a clearer relation between diagnosis scheme and operation is established.The workflow of the inference engine is modified,and the operation is taken as the direct output,thus en⁃hancing the ease of use of the computer fault diagnosis expert system.
Key words:computer maintenance;fault diagnosis;expert system;operation;relation mapping;output
专家系统[1]是人工智能领域最活跃和最广泛的领域之一[2],随着计算机技术的高速发展而日臻完善。故障诊断专家系统作为专家系统的一类典型应用,已经在航空、汽车、电子设备等多个领域取得了令人瞩目的成果。然而,在计算机故障诊断和维修方向,专家系统的应用却并不广泛。如何将专家系统更好的应用到计算机故障诊断和维修工作中,有效降低维修成本,提高维修效率是有重要现实意义的。
1 计算机故障诊断专家系统发展现状
计算机技术是近几十年来发展最迅速的技术之一,工作、生活、娱乐等各个领域的发展无不伴随着计算机的身影,计算机已经成为不可或缺的基础设备。而与之配套的计算机故障诊断和维修的自动化技术发展速度却并不理想。现有的计算机故障诊断专家系统的构建是将故障现象以二叉树的形式进行存储,将从专家处获取的知识和经验表述成规则库,再通过推理机对故障现象和已有规则进行匹配和推理,进而获取故障诊断结果。一些研究[3-5]在知识的获取、规则的制定、推理的方法等方面取得了一些进展,并给出了一些计算机故障诊断专家系统的设计方案。目前,故障诊断专家系统只是在检测和修复特定操作系统的软件故障上有比较成功的应用。而涉及硬件故障,尤其是不确定性故障时,还没有专家诊断系统在计算机维修行业内有成熟的应用。
2 计算机故障诊断与维修的关系
故障的诊断是为维修服务的,诊断故障的目的无疑是为了排除故障,使设备正常运行,在实际工作中,故障诊断和维修是无法割裂的。计算机维修的流程通常是:工程师根据用户对故障现象的初步描述对故障现象进行重现,观察故障现象,根据维修的规程、维修的一般性原则和个人经验决定诊察方案并予以实施。在完成每一步诊察工序后,都会再次观察计算机状态发生的变化,根据设备的最新状态,判断操作的合理性,修正诊察方案后进行下一步操作。如此反复,直到排除故障。在排除故障后,一般还要进行验证操作,确认故障现象已消失并且没有其他的故障现象发生,计算机能够正常运行。
从一般性的故障诊断和维修的过程来看,故障诊断和具体操作是紧密联系的,诊断的过程就是具体操作和状态反馈循环往复的过程,任何脱离实际操作的诊断都无法确认其准确性。对于专家来讲,知识不仅仅是对故障现象和故障点关系映射的概率估算,还应当包含大量实践工作中积累的实施具体操作的各种经验和技巧。对于普通用户来讲,对具体操作有明确指向的诊断专家系统能够提供更为友好的人机交互功能,避免面对专家系统给出的方案时不知如何操作甚至产生误操作。对于日后必将出现的由AI操纵的高自动化装置,从诊断专家系统得出的方案到具体单一操作指令的转化也是必不可少的。因此,要想使诊断专家系统在实际应用中能够发挥应有的作用,必须将操作部分结合进来。现有的成功应用的计算机诊断专家系统案例,都集中在诊断和修复软件故障方向,由软件替代用户完成自动化操作,这也从侧面证明了诊断专家系统和操作结合的重要性。
3 在专家诊断系统中建立清晰的诊断方案和操作的关系映射
3.1 建立操作表
根据维修工作和案例中常用的操作术语及其语义,综合分析考虑系统设计和实现的需要,将具体操作进行分类。将单一动作的操作归类为基本操作,类别代码ab;将由n个有序基本操作组成,无替代操作的一组操作归类为简单操作,类别代码as;将由n个可相互替代或可有条件替代的简单操作归类为组操作,类别代码ag;将由n个相关组操作组成的操作归类为类操作,类别代码at,多个相关类操作组成的操作同样归类为类操作。类操作与相关类操作或者组操作,组操作与相关简单操作有父子层次关系,而基本操作和简单操作都作为基本的操作单元,无逻辑上的父子关系。例如,检查ATX电源是由检查电源通断、检查电源输出参数等一系列相关操作组成,可以归类为类操作;检查电源通断可以有多种可相互替代的方法,如短接启动线和地线、使用ATX电源测试器、更换电源(更换良好电源后,如故障现象消失或电气特性明显变化,可以直观判断原电源故障)等,可以归类为组操作;更换电源虽然是由n步单一操作组成,但是此操作没有替代方案,在表述上也不存在歧义,因此可以归类为简单操作。操作表的设计如表1所示。
表1
3.2 建立诊断方案与操作的关联
计算机故障的诊断和维修是按步骤进行的,所有的维修方案和已有案例都可以看做基于某些规则约束下的有限个操作的有序集合。传统的专家诊断系统把规则描述为:
IF(故障现象1逻辑运算符故障现象2逻辑运算符…)
THEN(可能的方案1,可能的方案2,…),
为了更清晰的建立诊断方案与具体操作的关系映射,将规则描述改为:
IF(故障现象1逻辑运算符故障现象2逻辑运算符…)
THEN(操作1,操作2…操作N,…)
在诊断维修的方案(案例)表中增加操作方案字段,将诊断维修方案中操作部分抽取出,对应操作表中的操作,以操作序列的形式存储到字段中;对于已有案例,可以结合操作名称表中的名称描述进行语义分析,提取其操作部分形成操作序列。通过方案表中的规则条件、方案描述和操作方案三个字段建立诊断方案与操作的清晰关系映射。通过操作表中描述的各操作间的层次关系,可以方便地实现方案与分步骤单一(简单)操作的关系映射。
4 基于操作的推理流程
根据用户输入的故障现象抽象得到故障逻辑规则,利用已知故障逻辑规则在推理机中匹配出多条可能的诊断方案,排序后选取实施方案,根据实施方案的操作序列进行操作,完成当前操作步骤后,获取操作的结果,根据结果决定继续执行下一操作或修正原故障逻辑并用新产生的逻辑规则再次进行推理,如此循环,直至满足系统退出条件。基于操作的推理流程如图1所示。
图1
基于操作的推理流程的退出条件是某操作完成后故障消失或者用最新的故障逻辑无法推理出可行性方案。
4 结束语
通过对计算机维修工作和现有计算机故障诊断专家系统的研究,提出了在现有故障诊断专家系统的基本架构上建立更清晰的操作与专家经验的关系映射,将具体操作作为推理机的输出,这种方式能够有效降低普通用户在使用故障诊断专家系统的时间成本,提高维修效率,有利于故障诊断专家系统的普及。在数据爆炸的今天,海量的维修案例可以作为学习的样本和专家知识资源,如何更高效的从案例样本中提取规则和操作序列,如何科学的选取实施方案,都是下一步需要重点研究和解决的问题。
[1]Feigenbaum E A,Panel:History of AI research1956-1961:proe.Of the 6th IJCAI[C].Tokio,1979:1103-1105.
[2]蔡自兴,Durkin J,龚涛.高级专家系统:原理、设计及应用[M].北京:科学出版社,2006.
[3]陆奎,李涛.基于人工智能的计算机故障诊断系统研究[J].现代计算机:专业版,2008(1):118-121.
[4]濮逸佳,杜宏伟.S基于本体和规则的计算机故障诊断研究[J].电子设计工程,2013,21(8):22-26.
[5]刘放美,王扣金,蔡增玉,等.基于可信度的计算机故障诊断专家系统[J].计算机时代,2015(11):12-15.
Research on an Operational Oriented Expert System for Computer Fault Diagnosis
CHEN Chen,CHEN Jing-liang,ZHANG Jin-shi
(Naval Aeronautical University(Qingdao Campus),Qingdao 266041,China)
TP18
A
1009-3044(2017)24-0082-02
2017-07-10