基于CBR与RBR的应急决策支持系统设计与实现

2019-06-10 01:01张奕卜凡亮
软件导刊 2019年2期
关键词:决策支持

张奕 卜凡亮

摘 要:针对突发事件应急决策主要使用技术CBR与RBR各自的不足,提出一种CBR与RBR相融合的方法。使用CBR对RBR进行辅助,首先使用CBR检索出相似历史案例,然后使用RBR技术对历史案例的解决策略进行修改,解决了由CBR生成解决策略需要人工修正导致的决策速度慢、决策不准确等问题,降低了规则推理所需规则的复杂度及其获取难度,实现了CBR与RBR结合的应急决策辅助系统。该系统较单一CBR在预案生成速度以及准确性上都有明显提高。

关键词:案例推理;规则推理;应急决策;决策支持

DOI:10. 11907/rjdk. 182580

中图分类号:TP319文献标识码:A文章编号:1672-7800(2019)002-0055-05

Abstract: Aiming at the shortcomings of the two techniques used in emergency decision support system, CBR and RBR, a method for the fusion of CBR and RBR is proposed. CBR is used to assist RBR. First, CBR is used to retrieve similar historical cases. Then RBR is used to modify the resolution strategy of retrieved historical case. It solves the problems of slow decision-making and inaccurate results caused by manual correction of the decision-making method of CBR generation. It reduces the complexity of the rules required for RBR and the difficulty of rule acquisition. The emergency decision support system combining CBR and RBR is realized. The system has obvious improvement in the speed and the accuracy of the emergency plan generation compared with the traditional CBR.

Key Words:case-based reasoning; rule-based reasoning; emergency decision; decision support

0 引言

近年來,突发事件频发,给人民群众的生命财产造成巨大损失。突发事件的发生具有信息不完备、时间紧迫性和任务复杂性三大特点,增加了应急救援难度。目前,应对突发事件主要靠事先制订的文本预案,对决策者指导性不强,作用不明显,因此亟需建立一套突发事件应急决策支持系统,以帮助决策者在最短时间内制订出科学合理的决策方案,有效地开展应急救援行动,减少突发事件造成的损失[1]。

目前,突发事件应急决策支持系统主要采用两种技术:①案例推理(Case Based Reasoning,CBR),运用相似的历史问题决策方法解决当前问题,能够有效解决问题,但在实际应用中几乎没有完全相同的问题,因此案例修正显得十分重要,而CBR系统中案例修改基本上都由人工完成,需要较长时间;②规则推理(Rule Based Reasoning,RBR),具有决策准确、有效实用等特点,可往往也需要花费较长时间,而且需要较多人力及物力进行规则编写,但突发事件的紧迫性需要决策者快速制订应急决策方案。因此,越来越多的人提出将CBR与RBR相结合,以实现优势互补,同时克服两者缺点。李洋等[2]、罗杰文等[3]均提出CBR与RBR相结合的预案生成系统,王重洋等[4]提出将CBR与RBR结合应用于土地空间布局上,但他们均是在CBR检索中无满足相似度阈值的历史案例时,使用RBR解决当前方法。本文提出CBR与RBR两种技术相结合的方法构造决策支持系统,将RBR技术融入CBR技术,辅助于CBR中案例录入,然后将案例推理生成的决策方案,使用规则推理代替人工对历史案例进行修正,加快案例推理速度,简化所需规则,便于规则管理,并且解决了RBR难以获取规则的问题,同时减少了规则获取的人力物力,具有快速、准确、成本低等特点。

1 系统总体设计

1.1 功能需求分析

结合应急决策需求分析,系统主要由5个模块组成:用户模块、规则推理模块、案例推理模块、案例管理模块和规则管理模块。系统功能模块如图1所示。

(1)用户模块。负责用户登陆、管理,以及对当前突发事件信息进行录入。

(2)案例推理模块。对当前待决策案例进行检索,检索出满足相似度阀值的历史案例,生成待优化决策方案,对检索过程中属性权重进行修改。

(3)规则推理模块。利用规则引擎与规则数据库,依据不同突发事件种类,自动生成案例表示所需属性;对当前录入的突发事件进行预处理;修正待优化决策方法,生成优化决策方案。

(4)案例管理模块。维护案例推理用到的历史案例, 实现对案例的增加、删除、修改、查询等功能。

(5)规则管理模块。维护规则推理用到的规则,实现对规则的增加、删除、修改、查询等功能。

1.2 系统功能流程

当突发事件发生时,规则推理依据不同突发事件种类生成案例表示所需属性,用户依据原始信息提取对应属性值,案件信息录入完成后,运用规则推理对当前突发事件进行预处理,然后使用案例推理对案例库中的历史案例进行相似度匹配,对高于相似度阀值的历史案例进行选择,生成待优化决策方案。若时间紧迫,则直接选择相似度最高的历史案例生成待优化决策方案,再将当前案例属性值以及历史案例属性值使用规则引擎和规则库进行规则推理,在待优化决策方案上生成优化决策方案,使用优化决策方案对此次突发事件提供参考。突发事件解决后,需要记录执行效果,利用执行效果对优化决策方案进行修正生成最优决策方案,将修正结果保存入案例库中,同时修正规则库中的规则(见图2)。

2 主要功能模块

2.1 案例推理模块

CBR是模仿人的思维方式产生的一种技术,当人们遇到难题时,会回想过去类似问题的解决策略[5]。CBR的核心就是重用,将历史成功案例储存入案例数据库,通过相似度匹配算法得出当前待决策案例的相似案例,完成对于当前案例的决策。系统采用CBR最常用的“4-R”理论[6]。

(1)查询(Retrieve)。检索出满足相似度阀值的历史案例。

(2)重用(Reuse)。选择高于相似度阀值的历史案例,用于解决当前问题。

(3)修改(Revise)。对历史案例进行修改,通常都是人工修改,需要时间较长,但是突发事件一般都事发突然,决策者往往没有足够时间作出决策[7]。本文提出使用规則推理进行修正,减少了决策时间,提高了准确性。

(4)保存(Retain)。问题成功解决后,将案例添加入案例库。

2.1.1 案例表示方法

系统采用三元组的案例表示方法,具体为:问题描述、解决策略描述、执行效果描述 [8]。每一元组都由多个属性组成。问题描述分为公共要素与专项要素两部分,公共要素为一般突发事件都具有的属性,专项要素需要根据不同种类突发事件,运用规则推理方法自动生成对应属性,对属性的选取需要将案例描述清楚,还需要与规则推理模块配合使用[9]。

2.1.2 案例检索

案例检索使用应用最广泛的最近邻策略[10]。属性权重使用层次分析法[11],对应公式为:

其中,[Sim(Cq,Ci)]为案例库中第q个案例与第i个案例的相似度,m为问题描述中属性个数,[wj]为第j个属性的权重,[Sim(Cjq,Cji)]为第q个案例与第i个案例第j个属性的相似度,即案例i与案例q的案例相似度为所有属性相似度的加权和。将案例描述变量分为枚举型、数值型、模糊语言型变量[12]。

(1)枚举型变量。枚举型变量都会有固定取值范围,并且变量两两之间并无关系。相似度计算公式为:

(2)数值型变量。采用基于距离的方法和负指数函数计算相似度,公式为:

其中,[Cjmax]为所有案例中属性j的最大值,[Cjmin]为所有案例中属性j的最小值。

(3)模糊语言型变量。若j属性为模糊型变量,将模糊语言型变量转换为三角模糊数, [Yj=(yj0,yj0?yjn)]对于[yjm(0

案例q、案例i对于属性j的三角模糊数分别为:

使用基于距离的方法和负指数函数计算相似度,公式为

其中,[dajmax]为j属性对应n个三角模糊数第一个位置的最大值,其中[dajmin]为j属性对应n个三角模糊数第一个位置的最小值。

2.2 规则推理模块

规则推理模块本质是基于规则的专家系统,是专家系统的重要分支。规则推理的核心是:当事实满足规则特定条件时,执行特定的事件或操作。规则推理模块使用的知识包括事实(用来表示待推理的已知数据或信息)和规则(产生式规则)[13-14]。 规则由条件和动作组成,格式一般为[15]:

对初始方案进行优化,规则推理模块主要由4部分组成:①推理引擎。是规则推理的核心,由模式匹配器和议程管理器组成;②规则库。存储规则的仓库;③工作区。用于存放待推理事实;④执行机。执行满足IF条件的规则所对应的操作。

以规则推理模块主要功能对案例推理所得方案进行修正为例,具体为当前工作区存放当前案例以及案例推理模块中检索的相似案例,规则库中存放事先添加好的规则,之后推理引擎开始工作,执行机对历史案例的决策方法进行修正。以火灾突发事件为例,历史案例中火灾发生时间为白天,而当前案例火灾发生时间为夜晚,对解决策略的修正是适当增加照明车数量,规则库中相应规则为:

规则推理专家系统的建立需要较大人力、物力,本文通过案例推理与规则推理相结合,使用规则推理进行修正,减少了规则制定所需成本。

系统使用Drools规则引擎[16]。Drools是Jboss门下的开源商业规则引擎,具有开源、社区非常活跃、易使用、免费、JSR94(Java Rule Engine API)兼容、工具集强大等特点。

Drools是为Java量身定做的规则引擎,实现了ReteOO 算法以及Leaps算法。ReteOO对面向对象系统的Rete算法进行了增强和优化,支持4种格式的规则储存(DRL、DSL、Descision Tables和XML)。Drools的规则引擎包括3部分:模式匹配器、议程和执行引擎。模式匹配器将依据规则库与事实集决定规则是否被执行,议程管理待执行规则的执行顺序,执行引擎负责执行规则。工作原理如图3所示。

Drools的优点还体现在规则制定及修改上。Jboss官方提供了Drools Guvnor,用于对规则进行集中管理发布,在大多数决策支持系统中,规则的添加都需要开发人员以及应急领域专家共同完成。规则的可读性和用户友好性较差,Drools提供了DSL(领域特殊语言)解决该问题。DSL相当于一个转换器,它能将应急决策术语转换成规则语言,使得决策者只需关注应急领域知识,便可进行规则制订以及修改。

3 系统实现

3.1 开发环境

系统采用B/S构架,使用JavaEE企业级应用进行设计的Web应用系统,电脑操作环境为Windows 10操作系统, 采用Myeclipse开发工具,使用Drools规则引擎技术,Web服务器为tomcat-6.0.51,后台数据库为MySQL5.5[17]。系统使用经典的三层架构进行设计,视图层通过jsp和Servlet实现,业务逻辑层则使用Java代码以及Drools实现,数据访问层使用JDBC技术与MYSQL数据库连接[18]。

3.2 实例分析

本文以事故灾害中的高层建筑类火灾为例,待决策案例为北京某大厦火灾,首先提取当前待决策案例的描述属性[19]。对待决策案例使用规则推理进行预先处理,然后进行案例检索,得到历史案例对于当前待决策案例的相似度,选取相似度阀值为70%,高于阀值的历史案例如表1所示。

选择相似度最高的广州某大厦火灾案例生成待优化决策方案,当前案例及历史案例公共要素详细信息如表2所示。当前案例以及历史案例专项要素详细信息如表3所示。

对待优化决策方案进行规则推理,生成优化决策方案。人员、车辆调度情况如表4所示[20] 。其中调度数量后加号为规则推理后的修正结果。

优化决策方案应急举措如表5所示。

突发事件结束后,利用效果描述域对待优化决策方案进行优化,生成最优方案存入案例数据库中,后对规则库进行修改,本次应急决策结束。

4 结语

本文从理论和工程两方面实现了CBR与RBR相结合的应急决策系统,弥补了单纯使用CBR技术的不足,以火灾高层突发事件为例进行验证,该系统具有决策速度快、准确、实用性强、成本低等特点。同时,由于缺少火灾突发事件的专业知识,在案例属性选取、决策方法以及规则编写方面有一些不足。在实际应用中,需经验丰富的应急专家对规则库以及案例库作进一步完善,对于属性检索权重也需进行相应修改。

参考文献:

[1] ZHOU L, WU X H, XU Z H, et al. Emergency decision making for natural disasters: an overview[J]. International Journal of Disaster Risk Reduction,2018(27):567-576.

[2] 李洋,李星,吴秋云,等. 基于CBR+RBR的快速应急预案生成方法[J]. 兵工自动化,2013,32(5):31-35.

[3] 罗杰文,施智平,何清,等. 一种CBR与RBR相结合的快速预案生成系统[J]. 计算机研究与发展,2007(4):660-666.

[4] 王重洋,邱炳文,龙荣,等. 基于本体案例推理与规则推理的土地利用空间布局研究[J]. 资源科学,2013,35(2):353-361.

[5] LóPEZ B. Case-based reasoning: a concise introduction[J]. Synthesis Lectures on Artificial Intelligence & Machine Learning,2013,7(1):1-103.

[6] VERMA L, SRINIVASAN S,SAPRA V. Integration of rule based and case based reasoning system to support decision making[C]. 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), 2014:106-108.

[7] LIAO Z, MAO X, HANNAM P M, et al. Adaptation methodology of CBR for environmental emergency preparedness system based on an improved genetic algorithm[J].  Expert Systems with Applications an International Journal, 2012, 39(8):7029-7040.

[8] AMAILEF K,LU J. Ontology-supported case-based reasoning approach for intelligent m-Government emergency response services[J]. Decision Support Systems,2013,55(1):79-97.

[9] 周尤明. 突發事件本体论知识管理的动态性、开放性框架设计[J]. 软件导刊,2018,17(6):53-57.

[10] 张春晓. 案例推理的认知改进策略及学习性能研究[D]. 北京:北京工业大学,2014.

[11] JING K, ZHAO X,CHEN Z. Emergency rescue decision method based on CBR in coal mine accidents[C]. 2008 4th International Conference on Wireless Communications, Networking and Mobile Computing,2008:1-4.

[12] 李永海. 基于相似案例分析的决策方法与应用研究[D]. 沈阳:东北大学,2014.

[13] 王记伟. 基于规则推理的应急事件自动处理技术研究[D]. 上海:东华大学,2009.

[13] 谢晓珊. 基于知识元的突发事件推演规则验证方法研究[D]. 大连:大连理工大学,2017.

[15] 罗宇恒. 基于知识推理的应急群决策支持系统的研究与设计[D]. 广州:广州大学,2013.

[16] 李春芳,谭庆平. 面向业务的Drools规则引擎改进[J]. 计算机应用与软件,2015,32(5):20-23+29.

[17] 侯智文,卜凡亮. 公安民用无人机实名登记系统的设计与实现[J]. 中国人民公安大学学报:自然科学版,2018,24(3):69-74.

[18] FOGLI D,GUIDA G. Knowledge-centered design of decision support systems for emergency management[J]. Decision Support Systems, 2013,55(1):336-347.

[19] ZHANG B S,LI X Y, LI J. Research on emergency case ontology model based on ABC ontology[C]. International Conference on Management Science and Engineering,2013:227-233.

[20] 刘君,胡伟超,孙广林. 公路突发事件应急预案自动生成系统开发及应用[J]. 中国安全生产科学技术,2017,13(10):53-58.

(责任编辑:何 丽)

猜你喜欢
决策支持
管理会计在我国高校财务管理中的应用探析
关联规则在网络学习平台中的应用研究