基于本体的舰船火灾损管推理系统研究
2013-01-11,,
,,
(1.中国舰船研究设计中心,武汉 430064;2.浙江大学 智能系统与控制研究所,杭州 310027)
舰船火灾损管推理系统是一个数据分析推理系统,该系统根据传感器检测的不同火灾实时信息推理得出相应的火灾态势并选择对应的灭火措施。如基于传感器信息推测出火灾发生地点、火灾等级、火灾蔓延速度及火灾持续时间等具体状况,进而辅助制定相应的灭火决策。火灾损管推理系统的推理条件来自主控制端发送过来的火灾数据,得出推理结论后将返回给主控制端作为灭火意见供控制人员参考,从而提高控制人员做出准确的灭火决策的速度和效率,从而避免由于错失灭火良机造成的人员危害和经济损失[1-5]。
本文将本体技术引入到火灾损管推理系统中,通过本体建模技术对舰船火灾过程中涉及到的实体对象建模,并以此作为损管推理系统的基础,在实体对象本体模型基础上建立SWRL(semantic web language)推理规则[6],然后将舰船火灾中涉及到的本体对象和SWRL推理规则转化为专家系统外壳(java expert system shell,Java)推理机的事实库和规则库[7]。对于某火灾,根据发生的地点,等级,蔓延速度,持续时间建立火灾实例,对此实例经过Jess推理机推理得出符合实际情况的推理结果,并给出建议灭火策略。
1 基于本体的火灾实体建模
1.1 本体的定义及其描述语言
本体(Ontology)的概念源于哲学,即“对世界上客观存在物的系统地描述”。在人工智能界,最早给出Ontology定义的是Neches等人,他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义”。最著名并被引用得最为广泛的定义由Gruber 提出,即“本体是概念模型的明确的规范说明”[8]。文献[9]认为本体的概念包括4个主要方面:①概念化(conceptua lization):客观世界的抽象模型;②明确(explicit):概念及它们之间联系都被精确定义;③形式化(formal):精确的数学描述;④共享(share):本体中反映的知识是其使用者共同认可的。在计算机领域讨论Ontology,要点在如何表达共识,即概念的形式化,涉及到Ontology的描述语言和建设方法等。
1.2 火灾过程涉及对象本体构建
舰船火灾损管推理系统的目的是要根据火灾发生时的具体情况通过推理系统得到应该采取的消防措施,供控制人员参考,以及时做出安全正确的灭火决策,从而达到最好的灭火效果。根据领域本体的构建方法以及一般本体的构建步骤,对于火灾过程中涉及对象本体的构建过程如下。
1)本体领域范围确定。在舰船火灾损管领域,涉及到的基本概念见表1。
2)实体对象属性定义。火灾本体的属性分为对象属性(object property)和数据属性(datatype property)。对象属性是火灾类、设备类和人员类之间的关系,而数据属性是每个类自身的性质。本文只对火灾类建立数据属性,包括火灾发生地点、火灾等级、火灾发生时间、火灾持续时间和火灾蔓延速度等。
表1 火灾损管领域本体概念表
(1)对象属性。基本定义域(domains),即对象属性对于哪些是有效的;作用域(Ranges),即对象属性的作用范围;公理(axiom)有functions、transitiv、symmetric、reflexive和inverse function等反向属性。本文用到Function和Transitive两种。
(2)数据属性。基本定义域(domains)和对象属性类似,指数据属性对于哪些类有效;作用域(ranges)和对象属性不同,这里指的是数据属性的类型,大致的类型有以下几种:string、dataTime、dateTimeStamp、integer、float、short、real、boolean和double等;公理(axiom)和对象属性一样,在数据属性中本论文中只用了Function。对象属性见表2。
表2 火灾损管领域本体数据属性
3)建立实例。对于每一个类都建立一个实例,其中fire类下的子类是决定推理结果的。对于每一个子类的取值不同,会导致推理出不同的损管措施,即采用不同的灭火设备,所以是作为初始化条件输入的。
建立类实例时需要设置每个实例的对象属性的作用实例,本文的目标是根据火灾的信息来推理灭火措施,即使用哪些灭火器去灭火,而灭火器是属于设备类,设备类拥有has-FireHappenDuration、has-FireHappenTime、has-FireLocation、has-FireRating和has-FireSpeed对象属性,所以对于设备类的实例可设置对象属性到火灾类实例的关系,如:设备类有一个实例Device-1,这种设备有以下属性:火灾等级为FireRating-General,火灾蔓延速度为FireSpeed-Q,火灾发生地点为FireLocation-Deck,火灾持续时间为FireHappenDuration-One,则可以判断这个设备是火灾警报类FireAlarm,干粉灭火器类DryPowder,水基型灭火器类WaterBased,也就是说当火灾的信息为上述情况推理结果为执行火灾警报器报警、干粉灭火器和水基型灭火器灭火。
2 基于SWRL的火灾损管推理规则
由于本体本身并没有建立规则的功能,所以使用SWRL来建立火灾损管推理的规则。SWRL(semantic web language)是集本体和规则于一体的一种语言,SWRL的规则部分由RuleML所演变而来,并结合OWL(web ontology language,Web本体描述语言),目前已成为W3C规范之一。
2.1 火灾损管推理规则
根据之前已经建立起来的火灾涉及对象本体来建立火灾损管推理规则,依据自定义的推理机制得到特定条件下发生火灾时应该采取的消防措施。通过下面的火灾实例及其对应处理措施编写对应推理规则。
在机舱中发生一般火灾,火灾的蔓延速度是180 m/h,持续时间是1 min,这种情况采取的消防措施是火灾报警器报警,舱室值班人员拿手提灭火器灭火。
在SWRL的框架中,条件判断的限制式是建立在Atom公理中,而真正的规则是建立在Imp中,在Imp中包含的head和body这两者的限制式来源则是由Atom提供,这些限制式可以被不同的规则重复使用。下面将根据上例来定义对应推理规则,包括Atom限制式和Imp规则。
2.2 建立Atom限制式
在火灾损管推理规则中将用到两种限制式。
C(x):C是OWL本体中定义的类,表示x是属于C类的一个实例。
P(x,y):P是OWL的对象属性,而x、y可以是变量、OWL individuals或是OWL data value,这里基本上都是OWL individuals,即实例对象。
表3 火灾损管推理规则中的Atom表
2.3 建立Imp规则
基于上述Atom限制式,构造火灾损管推理Imp规则如下。
Device(?X)^has-FireLocation(?x, Hang-er)^has-FireRating(?x, General)^has-FireSpeed(?x,Q)^has-FireHappenDuration(?x,One)->FireAlarm(?x)^DryPow-der(?x)^WaterBased(?x)实例X是设备,当火灾发生地点为机舱,火灾等级为一般火灾,火灾蔓延速度为180 m/h,火灾持续时间为1 min时,符合上述条件的消防设备为:火灾报警器,手提式干粉灭火器或水基灭火器。
以上的规则实例只是根据前面场景给定定义的,在具体情况下规则的定义是非常灵活的,可以根据系统需求的改变随时变动,而且规则的数量也可以增加和减少,在系统开发中可以不断地完善。
3 JESS推理过程
在火灾损管推理系统中使用了Jess推理机作为推理引擎,该引擎支持正向和逆向推理,核心由事实库、规则库和推理机三大部分组成。因为Jess自身不能解析OWL和SWRL规则,所以需要把OWL本体和SWRL规则转化为Jess能够处理的事实和规则,在本文系统中采用Protégé的JessTab插件和Jess引擎,直接进行转化。
Jess的推理过程可以分为三步,①将火灾本体和SWRL推理规则转化为Jess可以使用的事实库和规则库,这是推理的基础。②建立推理的对象,也就是实例,这个实例是设备类的实例,并且使用主控端发送过来的火灾信息进行初始化;即火灾等级类(FireRating)的实例、火灾发生地点(FireLocation)的实例、火灾蔓延速度(FireSpeed)的实例和火灾持续时间(FireHappenDuration)的实例。③初始化的方法是通过类的对象属性进行关联,分别为has-FireRating、has-FireLocation、has-FireSpeed和has-FireHappenDuration。
3.1 推理实例建立
建立推理规则后,在Jess推理引擎中建立如下的设备类(Device)实例,作为测试用例。使用火灾信息初始化设备实例,并给出推理结果,以验证通过基于SWRL规则的Jess推理机,是否能得到正确的推理结果,实例见表4。
表4 测试实例Device_1及其属性和预想推理结果
3.2 推理结果验证
在设备类实例建立并初始化之后,使用SWRLJessTab中的RunJess工具来运行Jess推理,可得到如下的结果。
设备实例Device_1的属性中火灾发生地点为机库,火灾等级为一般火灾,火灾蔓延速度为180 km/h,火灾持续时间为1 min,根据所建立的火灾本体实例的属性信息(表2)可知:Device_1的火灾发生地点类的实例为Hanger,火灾等级实例为General,火灾持续时间实例为One,火灾蔓延速度实例为Q,所以对应到SWRL推理规则中的body部分如下所示。
Device(Device_1)
^has-FireLocation(Device_1, Hanger)^has-FireRating(Device_1,General)
^has-FireSpeed(Device_1,Q)^has-FireHappenDuration(Device_1,One)
这个推理规则的body部分刚好和推理规则Rule-1相符合,所以推理结果如下。
->FireAlarm(Device_1)^DryPowder(Device_1)^WaterBased(Device_1)
在Protégé中的推理结果见图1。
图1 规则Rule-1的推理结果
在规则Rule-1选中的前提下,推理结果中只有Device_1,并且Device_1属于火灾报警器类(firealarm)、干粉灭火器类(DryPowder)和水基型灭火器类(WaterBased),即说明采取的灭火措施是火灾报警器报警,同时用干粉灭火器和水基型灭火器灭火。
4 结束语
介绍火灾损管推理系统的组成部分与构建过程,从火灾涉及对象本体的建模,到SWRL推理规则的建立,最后对基于火灾本体和SWRL推理规则的Jess推理过程,进行了非常详细的描述,并且通过预设火灾处理情景建立的火灾实例对火灾推理系统进行了测试,验证了推理系统的可靠性。
[1] 方万水,李 炜,吴先高.舰船损管监控系统发展概述[J].舰船科学技术, 2002,24(6):36-38.
[2] 唐 军.舰船损管监控系统研究现状及发展概述[J].中国水运,2010,10(11):87-89.
[3] 陶 伟,恢 复,周纪申.舰船损管监控系统研究[J].中国舰船研究,2012,7(1):57-60.
[4] 韩 伟,周佳宇,刘克荣.舰船损管监控系统的设计考虑[J].中国舰船研究,2007,2(5):58-62.
[5] 李保国,刘传勇,张怀祥,等.舰船封舱灭火效果影响因素研究[J].船舶碰撞与应急处理,2007,13(2):56-60.
[6] 丁晟春,江超男.基于SWRL规则推理的隐含关系挖掘[J].情报分析与研究,2011,21(3):68-72.
[7] 纪兆辉,李存华.基于SWRL和Jess构造语义Web规则及其对策分析[J].淮海工学院学报,2009,18(4):26-29.
[8] 杜小勇,李 曼,王大治.语义Web与本体研究综述[J].计算机应用,2004,24(10):14-17.
[9] GRUBER T R. Towards principles for the design of ontologies used for knowledge sharing[J].International Journal of Human-Computer Studies,1995:43(5/6):907-928.