多Agent在装备远程故障诊断系统中的应用

2015-01-17 05:46崔海斌邓志渊
电子设计工程 2015年1期
关键词:协作分布式故障诊断

崔海斌,邓志渊,王 哲

(1.91515部队 海南 三亚 572016;2.海军航空工程学院 七系,山东 烟台 264001)

远程故障诊断由一般的故障诊断技术发展而来,基于因特网的远程诊断研究工作最先开始于医学领域。美国在1988年提出了开放式远程医疗系统的概念,到1995年1月美国俄克拉荷马州的远程医疗系统投入使用,拉开了远程诊断技术的序幕。从世界范围来看,远程诊断与维护技术已广泛应用于远程医疗及各种工业现代化装备中,国内外许多大学和科研机构都在积极地进行该领域的研究。随着军事装备技术的发展,远程故障诊断技术在军事领域的应用研究也越来越多。

近年来,起源于分布式人工智能的多Agent系统(Multi-Agent System,MAS)技术得到了快速发展。Agent通过对问题域的描述、分解和分配,构成分散的、面向特定问题相对简单的子系统,并协调各系统并行和相互协作地进行问题求解,其思想十分适合装备远程故障诊断系统的建模[1-3]。因此,多Agent技术已经成为远程故障诊断技术领域的研究热点。

1 多Agent技术

Agent在AI/DAI和其他计算机学科中正在成为一个被广泛使用且十分重要的概念 ,由此产生了一系列新的思想、方法和技术 ,甚至有人把“基于Agent计算”誉为“软件开发的又一重大突破”。有关Agent的理论、技术的研究和应用引起了人们的高度重视和极大兴趣。近年来 ,关于 Agent的形式化研究已成为人工智能、哲学逻辑和计算语言学共同关心的重要课题。逻辑学的理论为人工智能的发展提供了有力的工具。经典命题逻辑和一阶谓词逻辑不能描述Agent的BDI结构。Agent的信念、目标和意图等意识概念实质上是一种模态算子,可以采用模态逻辑的形式进行推理和表示 ,因此Agent的理论研究通常基于正规模态逻辑。而认知逻辑是试图通过逻辑演算的方法来研究有关“知道”、“相信”、“断定”、“认为”、“怀疑”等一些认知模态词的模态逻辑。其中常识和分布式知识是经典认知逻辑群体知识中的重要概念。是在一定条件下可感知环境、自主运行并能完成特定任务的智能体。它具有4种基本属性:1)自主性:Agent的运行不需要人类和其它软件的直接干涉,能够控制自身的行为和内部状态。2)反应性:Agent感知其所处的环境,并能对其变化做出及时的反应。3)能动性:Agent不仅仅简单地对环境做出反应,它还能表现出目标驱动的行为。4)社交性:Agent之间通过Agent通信语言相互作用[4]。因此,每一个Agent都是具有特定完整功能的、独立的、高度智能化的个体,它掌握一定的知识,有自己的目标和解决问题的能力。智能Agent的具体实现形式有很多, 其中最具代表的是 BDI(Belief,Desire,Intention)模式[5]。

MAS是由多个Agent组成的一个松散耦合又协作共事的系统,MAS除了具有单个Agent系统外,还具备系统间的协同通道,通过协同通道进行多Agent间的数据交换,完成多Agent系统的合作。

Agent的所有特性外,还具有如下特点:数据分布或分散,计算过程异步、并发或并行,每个Agent具有不完全的信息和问题求解能力,不存在全局控制[6]。多Agent的这些特点可以很好地满足远程故障诊断系统的要求。利用分布式Agent技术建立装备远程故障诊断系统,具有分布式计算、分布式人工智能等特点,可以满足现代装备对智能化故障诊断的要求。多Agent技术在表达实际诊断系统时,通过各智能体间的通信、合作、协调、调度、管理及控制,模仿专家会诊形式相互协作解决问题,因此它能自动、高效地实现状态监测和故障诊断。

逻辑学是多Agent研究领域的基础,逻辑学是研究思想形式结构及其规律的科学。逻辑学的主要研究对象是有效地推理形式和有效地证明形式。它为其他科学命题的证明提供了论证方法 ,为其他科学理论提供了系统建构的方法。逻辑学既是全部经验科学的基础科学 ,又是其他形式科学的基础科学。逻辑学发展到今天 ,形成了现在的逻辑系统。

如果说传统的命题逻辑、谓词逻辑均被称为经典逻辑 ,那么突破经典逻辑教条的那些新型逻辑就可以统称为非经典逻辑。在非经典逻辑研究中 ,美国哲学家、逻辑学家克里普克 (S.A.Kripke)等人所建立的可能世界语义学占据着举足轻重的地位。“可能世界”的概念首先源自莱布尼兹(G.W.Leib2inz)的无矛盾可能性思想:只要事物的情况或事物情况的组合推不出逻辑矛盾 ,该事物情况或事物的情况组合就是可能的。用莱布尼兹的“可能世界概念”,就可以刻画必然性等模态词 ,因为只要规定一个命题是必然的当且仅当这一命题在所有的可能世界中都为真;而偶然性则表示只要有一个可能世界在其中这一命题为真。在多Agent中运用最多的逻辑系统是模态逻辑 ,它不仅是程序语义描述的有力工具 ,时态逻辑和动态逻辑的理论基础,在知识的形式表示方面也表现出越来越多的优越性。自然语言中有一类词常用于表示事物的“势态”,人的“情态”,以及过程的“变迁”(历史的或未来的)[3]。 例如“必然、可能”, “应该、允许”, “知道、认可”, “一贯、偶然”等,这类词被称为模态词 ,它们和真值联结词相似,和命题相连接可以生成新的命题 ,例如,“火星上可能有人”就是“可能”与“火星上有人”所组成的复合命题;它们又和真值联结词不同 ,因为真值联结词连接命题 ,而组成的复合命题就没有这种性质 ,其真值完全由组成它的各成分命题的真值所确定 ,而由模态词连接命题组成的复合命题就没有这种性质 ,“火星上有人”和“火星上可能有人”具有相同的真值或具有相反的真值。

在不同的应用中 ,模态词有不同的解释 ,从而对公理的选择也有所不同。比较古老的解释有:真理论模态逻辑 ,认识论模态逻辑和道义模态逻辑;较新的解释有:时序逻辑 ,经验论模态逻辑。而认知逻辑是试图通过逻辑演算的方法来研究有关知道、相信、断定、认为、怀疑等一些认知模态词的模态逻辑。认知模态逻辑又称为关于“知道”的模态逻辑。在这一逻辑中 ,□和 ◇被分别解释为“知道”和“认可”。□A表示“知道 A真”;◇A表示“认可 A真”,模型中的世界 W 解释为认知的选择,可达关系R定义为在任何给定的世界中有哪些选择。特别是 ,认知逻辑研究各种有关知识和信念认知模态词形成的认知命题。认知命题一般形式为:Ki<,其中i为认知主体 (agent),K为某种认知模态词,<为任意命题(包括认知命题)。

2 多Agent远程诊断系统模型

目前,远程故障诊断主要有两种实现模式:一种是基于B/S的远程故障诊断专家系统,另一种是基于MAS的远程故障诊断系统。基于B/S的远程故障诊断系统主要是建立在C/S结构之上,这种方式有结构简单、诊断资源丰富的优点。但由于目前Internet自身的一些缺点,网络通信的负载集中,经常会形成网络通信瓶颈,而远程故障诊断系统对实时性和并行分布式处理要求较高,使得这种模式难以满足要求。因此可以利用分布式人工智能Agent技术建立远程故障诊断系统。远程故障诊断具有分布式计算、分布式人工智能等特点,它是多Agent技术的天然应用领域。

2.1 系统结构模型

由于MAS高内聚、松耦合的特点,基于多Agent的远程故障诊断系统一般采用分布式的结构模型,主要由三大模块组成:现场监测与诊断工作站、网络数据通信系统、远程故障诊断中心[7-8]。现场监测与诊断工作站主要提供远程共享测试平台,对装备运行状态进行实时监控和现场测试,采集、处理、存贮、传输装备运行信息,并提供现场诊断服务,上传装备异常状态信息等。网络数据通信系统主要负责远程故障诊断中心和现场监测与诊断工作站之间的监测信息、决策信息、诊断信息的传递。远程故障诊断中心提供广域范围内诊断资源共享的平台,实现多种故障诊断资源的协作,管理设备的各类故障信息资源,对诊断案例进行加工处理,丰富充实诊断数据库,不断提高自身的诊断智能和远程服务能力。

2.2 系统功能模型

系统的三大模块根据功能可划分为许多功能单元,每一个功能单元就可作为一个Agent或Agent组,所以系统功能模型设计的重点在于每个功能Agent的模型设计[7-8]。Agent的基本模型如图1所示,Agent能够通过内部各模块的运行实现感知环境、认知环境、影响环境、自学习和与其它Agent的通信等智能行为。在实际的应用研究中,不同学者建立的Agent功能模型都不尽相同,但都有一个共同点:只有在诊断Agent模型中才有自学习模块,而其它Agent基本不具备自学习能力。实际上,所有的功能Agent都有自学习的需求,否则Agent的智能性将会大打折扣。

2.3 系统的软件实现

面向Agent的软件工程方法还没有成熟,许多开发MAS的公司通过将Agent系统中的底层服务部分抽取出来,抽象的形成可重用的应用编程接口,以期用户能够在此基础上开发多Agent应用系统。在此基础上形成了大量的MAS开发工具,这些工具被冠以不同的名称,如平台、环境、语言、框架或者底层结构等。

图1 Agent基本结构图Fig.1 The base diagram of Agent

尽管出现工具的多样性,目前的MAS开发工具也存在一些共同的特点,如采用Java语言和以通信为核心等。由于Java语言的跨平台等特点,越来越多的Agent开发工具是基于Java语言,Java语言的面向对象的特点使得Java编程接口具有好的重用性,同时Java语言的普遍流行也是其优势之一。Agent间的通信是实现Agent协调、协作和协商的基础,包括通信方式、通信语言和通信协议等方面内容。知识查询和操纵语言 (Knowledge Query and Manipulati-on Language,KQML)是发展较为完善的 ACL(Agent Communication Language,ACL)之一,许多现有的MAS都应用KQML进行Agent之间的语言通信。

3 多Agent之间的交互与协作

Agent之间的交互和协作,是实现MAS问题求解所必需的。基于MAS的远程故障诊断系统是一个多层分布式的协作诊断系统。诊断对象的故障症状表现在Agent对其所处环境的认识上,Agent由此产生诊断的意图,在此过程中它会与其它Agent合作共同处理问题,Agent会根据实际情况选择协作对象,并且可以使协作更加高效地完成。

3.1 诊断任务的分解

诊断任务的分解是诊断Agent进行交互协作的前提。对于简单的诊断任务,单个诊断Agent就能进行诊断,而对于复杂的诊断任务,需要多个诊断Agent进行协作才能完成,此时,如果诊断任务的分解不合理,就会造成各诊断Agent之间的冲突,甚至无法完成诊断。

诊断任务分解的目的在于降低诊断问题的复杂性,其原则是使分解后的诊断子任务目标明确,并且使子任务间的耦合最小化,以简化完成子任务的诊断Agent之间的协作和通信,提高问题求解的效率。诊断任务分解的依据是系统的结构和功能、故障的类型和特点。每一个系统在结构和功能上是有分布性、层次性和相关性的,这使得系统的故障也具有类似的特点。因而,从系统的结构和功能入手,可以使我们对诊断问题进行分解。

3.2 诊断任务的分配

在诊断任务分配中,根据每个诊断Agent的能力不同,往往是一个诊断Agent可以承担其中一个或若干个子任务。这样,任务分配问题就等价于对子任务进行组合并分配给各个诊断Agent的问题。关键是如何进行这些任务的分配,才能保证整体任务执行后所付出的代价最小,诊断任务分配的目的就是使诊断系统在执行综合诊断任务时,在保证诊断Agent之间不发生冲突和通信开销最小的前提下,同时达到局部和全局目标。

诊断任务的分配与规划可以看作是在众多的匹配方法中寻找一个最合理的子任务分配方案,它与Job-shop问题、TSP问题以及背包问题均有某些相似的特点,都是典型的、易于描述却难以处理的NP完全问题。遗传算法在解决此类问题时具有明显的优势,也是应用较多的,另外还有全局规划、合同网协议等方法。

3.3 诊断决策的融合

由于Agent缺乏全局观点、知识和控制,信息不完整以及Agent为完成自己的任务而表现的自私性容易造成Agent间资源、目标和结果冲突,要实现协同,必须监测并消除冲突。在远程故障诊断中,多源诊断信息的冲突问题解决不好,将导致故障定位不准确、维护人员决策不一致、零部件的不必要更换、虚高的操作成本等。可见如何解决此类决策困境,己成为远程故障诊断走向实用的关键所在。

按照融合对象的层次不同,信息融合的模式有3种,即数据融合、特征融合、决策融合。所谓决策融合是在高层次上进行的,是在各个局部处理的基础上,由融合中心对所有局部判决结果进行融合得到全局判决。根据远程故障诊断的本质特点,可以将如何处理远程故障诊断中诊断信息相互之间的冗余、互补、冲突和合作关系,归为决策融合问题。基于博弈论的决策融合、基于D-S证据推理的决策融合是常用的融合方法。

4 结束语

目前,基于多Agent的装备远程故障诊断系统的研究相对较多,理论上相对较成熟,但是还存在以下问题:

1)偏重于理论研究,离实际应用还有较大距离;

2)忽视了Agent的学习能力,Agent的智能性没有得到充分体现,更偏向于半智能体,致使整个系统不具备真正意义上的智能性;

3)对于军事装备,现场诊断一般具有不可替代性,部分研究将远程诊断作为唯一的诊断途径,而忽视现场诊断的重要性。

针对上述问题,未来的研究方向应以实用化为主,主要包括:

1)建立合理的诊断任务分解机制。不同的诊断任务,其分解方法可能不同,需要根据具体的任务选择合适的分解方法,并能给出分解后的子任务间耦合性最小的明确的依据或判据,这是系统实用化必须要解决的一个问题。

2)建立完善的多Agent协商协作机制。该机制包括Agent间的通信交互、协作、冲突消解和诊断结论的融合等。以诊断结论的融合为例,如果不同诊断Agent的诊断结果出现矛盾或存在交集等复杂情况时,如何进行决策、决策的依据是什么等是需要解决好的问题,否则,诊断不具备意义。

3)实现Agent的真正智能化。智能性主要体现在具备自学习能力上,所以,Agent的自学习显得尤为重要,如何设计Agent的自学习功能是最关键的问题,这一问题解决的好坏,直接决定系统的智能性是否名副其实。

随着分布式人工智能Agent技术的不断发展,基于多Agent的远程故障诊断系统必将得到广泛的应用,但是任重而道远。

[1]陈真勇,何永勇,褚福磊.多Agent故障诊断原型系统研究[J].中国机械工程,2002,13(13):1084-1087.CHEN Zhen-yong,HE Yong-yong,CHU Fu-lei.Multi-agent fault diagnosis system[J].China Mechanical Engineering,2002,13(13)1084-1087.

[2]蒋伟进,许宇胜,孙星明.多智能体的分布式智能故障诊断[J].控制理论与应用,2004,21(6):945-950.JIANG Wei-jin,XU Yu-sheng,XUN Xing-ming.Multi-Agent distributed intelligent fault diagnosis[J].Control Theory and Application,2004,21(6):945-950.

[3]McArthur SDJ,Davidson E M,Hossack JA,et al.Automating power system fault diagnosis through multi-Agent system technology[C]//Proceedings of the 37th Hawaii International Conference on System Sciences,2004:1-8.

[4]Eugenio O,Klaus F.Multivagent system:which research for which applications[J].Robotics and Autonomous Systems,1999(27):91-106.

[5]Trappey A J C,Hsiao D W,Ma L,et al.Maintenance Chain Integration Using Petri-net Enabled Prometheus MAS Modeling Methodology[C]//Proceedings of the 2009 13th International Conference on Computer Supported Cooperative Work in Design,2009:238-245.

[6]蒋志忠,冯玉光,奚文骏.基于多Agent系统的远程故障诊断系统模型[J].计算机工程,2007,33(5):278-280.JIANG Zhi-zhong,FENG Yu-guang,XI Wen-jun.The remote fault diagnosis system model based on multi Agent system[J].Computer engineering,2007,33(5):278-280.

[7]蒋萍,陈云翔,张亮.基于多Agent的装备远程测试与故障诊断系统建模研究[J].弹箭与制导学报,2007,27(5):211-213,216.JIANGPing,CHENYun-xiang,ZHANGLiang.Equipped with a remote test and fault diagnosis based on multiple Agent system modeling study[J].Journal of Srrows of the Fuidance,2007,27(5):211-213,216.

[8]Valet L,Mauris G,Bolon Ph.A statistical overview of recent literature in information fusion[J].lEEEMagazine on Aeronautics and Electronic Systems,2001,16(3):7-14.

猜你喜欢
协作分布式故障诊断
基于包络解调原理的低转速滚动轴承故障诊断
团结协作成功易
数控机床电气系统的故障诊断与维修
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
协作
协作
因果图定性分析法及其在故障诊断中的应用
基于DDS的分布式三维协同仿真研究
可与您并肩协作的UR3