应急响应环境下基于BDI模型的Agent结构研究*

2011-05-17 09:09潘星晨汪云峰
网络安全与数据管理 2011年5期
关键词:消防员意图信念

潘星晨,汪云峰

(同济大学 经济与管理学院,上海 200030)

由于公共事件的突发及发展具有不可逆性和不可实验性,建模仿真成为研究各类突发公共事件应急管理的重要实验手段之一。Agent作为分布式人工智能概念模型,具备自己行为、目标和知识,是在一定环境下能自主运行的实体,具有主动性、独立性、智能性、反应性、交互性等特点,并具有良好的决策分析的能力,能够适应应急响应过程建模的需要。因此,基于Agent的应急响应建模仿真具有优越性和现实性。

本文通过研究和构建应急响应环境下基于BDI模型的Agent结构,并在NetLogo平台中实现,为今后进一步研究基于Agent的应急管理建模仿真奠定研究基础;同时也为在NetLogo平台下的程序开发工作,提供一定的Agent结构的范式和标准。

1 BDI模型

BDI(Belief-Desire-Intention)模型是近年来学术界广泛研究的一种基于思考型的Agent结构,其哲学观点源自Bratman[1]在IRMA系统的设计中明确表示了信念、愿望和意图,并将意图看作部分行为计划,这些计划是Agent承诺执行、完成其目标的计划,从而使Agent能够根据资源的变化情况有效实现手段目的推理。

BDI模型的结构可以表示为[2]:

Agent:: =<Aid,P,B,D,I,A,see,brf,options,filter,execute>.

其中,Aid为某一具体Agent的标识;P为Agent的视觉状态集,即Agent所感知的外部事物;B为 Agent的信念,即对 P进行的理解和认知;D为 Agent的愿望,即对B所形成所要达到目标的偏好和情感;I为Agent的意图,即对达成D中的一项或多项愿望进行行动承诺;A为 Agent根据I所做出的行动集 ;see、brf、options、filter、execute五个具体行为则用于刻画出Agent的感知过程、意念修正过程、思维过程、愿望筛选过程和行为决策过程[2]。所以,整个结构可以理解为当Agent接受或感知到一个事件时,它根据当前环境状态信息而构成的信念库,进行信念修正,并完善信念库;然后根据实现状态及意图确定愿望,形成愿望库;经规则推理及筛选函数,基于当前信念、愿望及意图的基础上形成新的意图库,最后Agent由该意图驱使进行行为选择,并执行活动。

本文所构建的Agent结构采取BDI模型,这是因为Agent决策的制定过程依赖于表达Agent的信念、愿望和意图的行为操作来实现,所以BDI结构更接近人类的思维方式,更能够在应急响应过程中,解释各个主体的行为过程。

2 应急响应环境下基于BDI模型的Agent基本结构

应急响应环境下的Agent结构建模是一个非常复杂的构建过程。(1)突发公共事件的场景是一个动态的、不断发生变化的场景,构建的Agent必须能够对外界环境的改变做出及时的随机应变,需要不断地做出滚动决策和决策更新,这一要求符合反应型Agent的特征。(2)突发公共事件的应急响应过程是一个紧急、错综复杂、处理不当可能会导致巨大损失的过程,需要做好事先的预案和演习工作,要求Agent能够按照事先的规划进行及时、有序的操作,这是思考型Agent的典型特征。(3)突发公共事件的应急响应需要在指挥部的协调下,各个职能部门协调沟通、协同工作,要求Agent之间能够及时通信和消息共享,有完善的协调商议机制。

基于上述要求,为应急响应所构建的Agent结构必须是一个具有信息感知、匹配处理、筛选决策、执行和与其他Agent通信能力的“反应+思考+通信”混合结构。因此,本文提出基于BDI的Agent基本结构可定义为一个九元组(主体标识、目标、感知器、信念、匹配器、筛选器、意图、执行器、通信器),即:

<AGENT>::=<主体标识><目标><感知器><信念><匹配器><筛选器><意图><执行器><通信器>

<主体标识>::=<主体名><主体的相关属性>

<目标>::=<角色分配>

<感知器>::=<激活条件><信息流>

<信念>::=<任务表><知识库>

<匹配器>::=<任务分解规则>

<筛选器>::=<策略配置机制>

<意图>::=<事物名><事物处理描述>

<执行器>::=<意图的执行者>

<通信器>::=<发送者><接收者><通信原语><通信内容>

基于BDI的应急响应Agent基本结构与BDI模型相比,增加了基于角色分配的Agent目标、感知器、匹配器、筛选器、通信器等内容,同时进一步强调基于团队目标和个人目标的深层次思考,决策过程中策略设置和求解,外界环境和资源的变化,以及团队协作、信息共享对于Agent结构的影响,以此来提高 Agent的反应性、互动性和能动性。

3 应急响应环境下基于BDI模型的Agent结构框架

在基于BDI的Agent基本结构基础上,考虑环境、资源、目标、组织给Agent带来的影响,进一步细化、深化、模块化、多维地、系统地来搭建Agent结构框架体系,构建出应急响应环境下基于BDI模型的Agent结构框架,并进行具体阐述。

应急响应环境下基于BDI模型的Agent结构框架如图1所示,由感知模块、决策模块、执行模块、通信模块四大模块组成,实现一个智能主体的整个活动过程。

图1 应急响应环境下基于BDI模型的Agent结构

其中,感知模块、决策模块、执行模块三层顺序结构体现了Agent的自主思考性;通信模块对于感知模块、决策模块的影响展现了Agent的社交性;感知模块对于环境和资源的充分感知,根据环境的变化所进行的动态装载执行模块都说明了Agent具有良好的反应性;Agent在角色分配之后获得角色责任和权限,即明确了自身的子目标和组织的总体目标,整个结构框架体现了Agent是在目标的引导下开展思考、决策和行为,符合Agent的预动性要求。

四大模块中分别包含感知器、信念、匹配器、筛选器、意图、执行器、通信器七大功能件,其中由于意图的产生和执行分属于决策模块和执行模块两大模块,所以意图为跨模块功能件。同时,Agent结构中还包括任务分解、策略配置、动态装载、通信标准等协议和规则,确保Agent结构的准确、动态、协作性的运作的实现。

各模块中的功能件的作用分别为 (以应急响应过程中消防员Agent的行为为例):

(1)感知模块

感知器是Agent获得外部环境信息以及从Agent自身属性获取信息的部分,感知内容形成Agent自身的信念。应急响应过程中,感知器帮助消防员Agent从应急场景中了解到着火区域位置信息、需要救援市民的信息以及救援过程中所需要的其他相关信息等。

信念为描述Agent对当前环境的认知和自身可能采取行为的估计,形成任务集和知识库。消防员Agent将所需要进行救援的人员和位置信息作为此时自身的信念,并加入所要完成的任务集中。

任务集与知识库是用来储存任务信念和知识信念的存储器,通过感知器和信念更新进行不断修正。任务集中包括Agent所要完成的各项任务。任务可以来源于自身感知现场的发现,也可能来自上一级的命令。知识库中可包括Agent的能力属性及感知外界产生的知识,如消防员Agent自身的灭火能力、行进能力、救援能力,以及消防员Agent根据演习结果或其他历史经验确定到达救援现场的最短路径等。

(2)决策模块

匹配器的作用是根据信念产生的行为估计,进行任务分解,匹配选择多个可行的行动。任务分解是指根据有限的元规则库,形成一定的任务集。匹配器根据条件得出下一步能够进行的行为。行为中包括为达成目标所采取的各种类型(如消防员Agent的机动行为、任务行为和通信行为),机动行为包括寻找路线、寻找目标、接近目标;任务行为包括灭火、救人、挖掘、疏散、修路等;通信行为包括下达命令、接受命令、请求协助、同意协助和拒绝协助等类型。符合匹配条件的行为被匹配器输入筛选器进行下一步精确过滤。

筛选器的作用是在匹配后,根据一定的规则进一步选出一个最优愿望,形成意图进行实施。筛选最优愿望就是对这些行为进行评估,找到最优行为。策略配置是根据一定规则策略的选择和调整,从众多候选行为中选择出一个最先执行的行为形成意图。策略配置受到外界环境(如社会)和资源限制的影响,如消防员Agent在救援过程中,策略配置可以分为确定救援目标(最短距离目标、最危险形势目标),确定救援优先性(以人为本、以发现顺序为本),确定协作方案(有内部协作、无内部协作),确定救援顺序(多目标记忆救援、单目标顺序救援)等。

由于匹配器和筛选器的联合作用,已经完整呈现出了BDI模型中愿望形成的整个过程,所以,在本模型结构中,愿望以虚线框形式表现,并非某个真实存在的功能件。

(3)执行模块

意图用来描述Agent为达到某个具体目标所做出的承诺,是Agent下一步立刻执行的行动。意图的执行是通过装载n个不同的意图子模块来实现的。动态装载是指根据团队协作的需要、环境资源发生的变化以及筛选器的规则过滤,动态添加、改变执行顺序或者删除某个意图子模块,来实现Agent具有良好的即时反应能力。消防员Agent拥有救人子意图、灭火子意图、搜寻子意图,以及根据救援现场的实际情况变化,对于这些基本子意图的动态组合或动态更新。

执行器是用于执行意图的效应器。它能根据消防员Agent知识库中的能力属性,如视距、视角、听觉、灭火距离、速度、方位等性能指标,实现诸如机动或救人任务、灭火任务等意图。意图在执行过程中,受到外界资源的限制,同时对外界环境产生影响。

(4)通信模块

通信器用于与其他Agent进行联系,如传达命令、协同配合等。通信器主要由消息发送、消息接收、消息处理等子模块构成。得到的有用信息被反馈到感知器,以不断更新信念和任务集等动态因素,使以后的判断和行动更加正确有效。消防员Agent在救援过程中,可以和其他消防员 Agent、等待救援的市民 Agent、指挥 Agent等进行即时通信,以完成高效、及时的救援工作。

4 应急响应环境下基于BDI模型的Agent结构的仿真实现

Netlogo是一个由美国西北大学Center for Connected Learning研发的模拟自然和社会现象多实体编程语言和仿真平台[3],尤其适合复杂性系统的开发。开发者可对成百上千个相互依赖且并行运行的Agent发实时指令,与突发公共事件应急响应的环境要求十分相似,故本文采用Netlogo对应急响应过程进行建模仿真研究,并实现应急响应环境下基于BDI模型的Agent结构。

在研究过程中,通过不断地改进和修正,在NetLogo开发平台上实现了本文所提出的应急响应环境下基于BDI模型的Agent结构。在仿真过程中,消防员Agent结构包括四个模块:感知模块、决策模块、执行模块、通信模块。决策模块和通信模块是整个仿真程序的核心部分。

(1)决策模块

根据本文所提出的Agent结构模型,决策模块由匹配器和感知器组成,对产生的信念进行任务匹配和策略配置,形成可执行的意图,对于仿真程序来说,即是一组基于if-then的元规则库。

(2)通信模块

本文所提出的Agent结构模型的通信模块,采取的通信标准为FIPA-ACL通信标准[4-5],包含消息发送方、消息接收方、消息类型、消息内容等四大基本内容。在NetLogo平台的实现过程中,可调用平台所提供的communication.nls库[6-7],简化、减少程序的开发量。

(3)感知模块和执行模块

感知模块和执行模块是仿真程序的重要组成部分,模块中的过程和方法供决策模块和通信模块调用执行。其中,为了有效实现BDI模型结构和减少程序的开发量,这两个模块中均调用了Netlogo平台所提供较为成熟和稳定的 bdi.nls库[6-7]。

感知模块中,根据组织中不同层级、不同权限的Agent,提供了不同的视图,视图范围通过赋予 Agent不同的属性变量加以实现。其中,指挥层级拥有全局视图,可根据整个城市(或仿真系统边界内)的应急需求,通盘统筹考虑资源的调拨和协调;队长层级拥有区域视图,能够及时了解某一个救灾片区中消防队员的救援情况,根据实际的灾害情况,做出指挥和部署。在缺乏所需要的救灾资源时,向上级部门请求调拨;队员层级拥有视域视图,受视力范围所限,只能感知到周围环境的变化,并在队长的指挥和队友的通信交互过程中,协作完成救援任务。

执行模块则调用bdi.nls库中的intention子过程,实现intention模块中的执行程序动态添加、更新和删除,确保Agent能够快速应对环境和任务的变化,准确执行筛选器中选出的最优行为,提高Agent的个体效率,使整个多Agent系统达到全局最优。

本研究使用Netlogo平台实现应急响应环境下基于BDI模型的Agent结构的部分仿真程序,实现了消防员在建筑内部灭火救人的基本场景,如图2所示。整个大矩形代表某个着火的建筑物;里面的小矩形块代表着火地块,即着火点;圆点代表楼内市民;消防员集中在建筑的出入口处,整装待命;外圈部分则是用于市民逃生的道路;右下角的小地块则代表公共绿地或者逃生人员集中地;各个控件是不同策略配置的开关控件。本文所提出的模型结构能够在NetLogo平台上顺利执行实现,取得了仿真所要达到的数据和效果,如图3所示。应急响应环境下基于BDI模型的Agent结构能够对突发公共事件应急管理研究起到较好地支撑作用,同时也为基于BDI模型的Agent结构在Netlogo环境下的编程开发工作提供了范例,具有一定的通用性。

图2 灭火救人基本场景

通过NetLogo平台的仿真结果证明,本文所构建的应急响应环境下基于BDI模型的Agent结构符合应急响应场景救援工作的需要,具有一定的通用性,为进一步研究应急响应过程中的指挥控制、协同协作、信息共享提供了基本场景,为研究应急响应过程中各Agent的行为提供了解释结构,为基于BDI模型的Agent结构在Netlogo环境下的编程开发工作提供了范例。在今后的研究工作中,将以此Agent结构模型为研究基础,进一步研究应急响应过程中组织的动态调整、协同计划和团队协作等内容。

图3 仿真过程图

[1]O’HARE G M P, JENNINGS N R.Foundationsof distributed artificial intelligence[M].John Wiley&Sons, Inc.1996:505-526.

[2]KINNY D,GEORGEFF M,RAO A.A methodology and modeling technique for systems of BDI agents[A].In W.VELDE V, PERRAM JW, Agentsbreakingaway[C].Proceedings of the Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World(LNAI Volume 1038), Springer-Verlag: Berlin, Germany, 1996, 56-71.

[3]WILENSKY U.Netlogo center for connected learning and computerbased modelling, Northwestern University, Evanston,IL(1999), http://ccl.northwestern.edu/netlogo

[4]张德同,周明全,耿国华.FIPA规范:Agent系统的开放标准[J].计算机科学 ,2002.29(10):30-32.

[5]FIPA ContentLanguage Specifications.Foundation for Intelligent Physical Agents, 2003. http://www.fipa.org/repository/cls.php3.

[6]SAKELLARIOUI, KEFALASP, STAMATOPOULOUI.Enhancing NetLogo to simulate BDI communicating agents[M].SETN 2008, LNAI 5138, pp.263–275, 2008.

[7]SAKELLARIOU I.Extending NetLogo to support BDI-like architecture and FIPA ACL-like message passing: Libraries,Manualsand Examples (2008), http://eos.uom.gr/~iliass/projects/NetLogo.

猜你喜欢
消防员意图信念
原始意图、对抗主义和非解释主义
陆游诗写意图(国画)
为了信念
制定法解释与立法意图的反事实检验
发光的信念
信念
小小消防员 第十集
小小消防员 第九集
燕山秋意图
信念的传承