正文内容
Agent建模
来源:盘古文库
作者:开心麻花
2025-09-13
1

Agent建模(精选7篇)

Agent建模 第1篇

目前医疗制度的改革是社会聚焦的问题。对医疗领域中存在问题的原因解释和医疗政策分析常用的方法包括决策树方法、Markov方法、仿真建模和统计学方法。针对我国医疗领域中“看病难,看病贵”问题,张鹭鹭等运用计量经济学和系统动力学的方法,通过建立流图、表函数,对药品价格虚高问题、医院补偿机制不合理问题、潜在医疗资源转换问题等问题出现的原因及相关的政策建议进行了分析和研究[1]。采用仿真的方法来研究解决医疗服务中的问题是最近医疗服务领域研究的热点之一,如在冬季仿真会议上自2006年开始设有专门的医疗服务仿真板块。Ronald E. Giachetti等针对医疗诊所中病人等待时间过长和病人预约而不来的情形,采用系统动力学仿真的方法,分析三项干预措施的效果[2]。Mohamed A.Ahmed等综合系统仿真和智能优化方法,对急救室中的医生、护士、人数进行优化,降低病人等待时间、提高单位时间救治病人数量[3]。

对医疗服务领域的仿真研究有两个层次,微观层次是对与医疗相关流程的模拟优化,比如门诊手术的安排,门诊病人看病流程的优化,医院中医护人员的配置等,此时采用较多的是离散事件仿真的方法。宏观层次的分析,比如分析政策干预的效果,采用较多是系统动力学仿真。系统动力学作为连续系统建模仿真方法中的一种,适用于面向具体问题建模分析,是一种定性与定量相结合、系统的方法,该方法的不足之处是对个体的同质性假设[4]。

Agent方法受到人类社会中个体交互作用的启发,考虑个体差异,已成为人工智能领域研究的热点之一。在国内医疗领域,结合Agent方法的相关研究有:陈先来应用Multi-Agent方法用于临床诊断支持系统的设计[5],张全海提出了基于智能软件代理的分布式软件医学图像协作研究[6],李军怀提出了基于Agent方法远程医疗系统结构[7],将Agent方法用于医疗卫生服务系统中的个体行为模拟和政策分析的研究还很少。本文基于Agent的建模方法,从仿真的角度,对医疗服务系统中的主要对象医院、社区医疗服务机构、患者的行为进行模拟,研究患者的就医选择问题,分析通过增加研究区域内社区医疗服务机构数量,及扩大不同医疗机构的费用差距等政策干预对患者就医的影响。

1 模型构造

居民就医选择问题是研究居民就医行为,分析影响居民就医的主要因素,为政府制定相关医疗政策提供辅助。考虑到居民个体在就医时差异大,情况复杂,因此适合用Agent方法进行建模[8]。本文建立的模型主要包括三类实体:居民、医院、社区医疗机构,模型中考虑的疾病为两阶段的非传染性疾病,外部环境影响主要考虑的是政府的医疗政策。

1.1 居民模型

城市居民的就医选择是个非常复杂的问题。影响就医行为的主要因素有:人群的健康水平、人群就医能力(如收入情况,年龄)、对疾病的认知程度、医疗服务机构的技术水平、医疗保障程度、医疗服务机构的可达性、医疗服务质量等。

在本模型中,我们将城市居民个体抽象成Agent,对每个Agent设置了四条规则:

(1)就医的费用限制

城市居民的患病后,只有其具备支付能力的前提下,才能接受治疗。因此假设每个Agent在每年有收入Income,且在人群中满足对数正态的分布lgIncomeN(μ,σ2),存在医疗支配比例系数α,可用于医疗支出,只有当Income·α>Dcost时,才能选择医疗机构,其中Dcost为医疗机构治愈该类疾病的费用。

(2)就医的地理位置的限制

城市居民在患病后不会在该城市的所有医疗机构中进行选择,一般会选择离自己相对位置较近的医疗机构进行治疗。因此假设每个Agent都存在就医地理位置限制Distancemax,只有当

Distance(Agent,healthcare-service)Distancemax

Agent才能接受治疗。考虑实际就医时,当病情较为严重时,居民会到技术水平较高而距离更远的医院就诊,因此可以考虑增大每个Agent的搜索范围,即对Distancemax引入扩展系数K(K≥1),使得

Distance(Agent,healthcareservice)≤K·Distancemax

(3)就医受到医疗能力的限制

医疗服务能力是衡量医疗服务机构的一项重要指标。其中床位数是划分高层次医院、中层次医院和基层医院的一项指标。这里我们用Dcapability来表示同一时间每个医疗机构对某类疾病能容纳的患者数量。当患者满足前两条规则,要求此时候选的医疗机构Dcapabilitynow>0。

(4)对医疗服务机构的选择偏好

患者在满足上面三条规则的前提下,若存在多个医疗机构可供选择,由于高层次医院资源分配比例最大,因此对病人吸引力最高,会优先考虑在医院接受治疗。因此,这里给出医院吸引因子的概念。吸引因子β是指患者面临选择在医院就医或社区诊所就医时,选择医院就医的比例。医院吸引因子是相同医疗服务价格水平比的单调递减函数,β=g(Costhospital/Costcommunity health service),这里用线性函数来模拟β=-0.25(Costhospital/Costcommunity health service)+1.25,其中Costhospital/Costcommunity health service∈[1,5],并规定g(1)=1, g(3)=0.5,即医院的价格与社区服务价格相等时,所有居民都优先选择去有医疗资源的医院就医,当医院医疗服务价格的收费是社区医疗服务机构的价格的三倍时,选择去医院就医的概率为0.5。同时假设在同类型医疗服务机构,患者偏好距离近的医疗服务机构。

居民的健康状况和就医选择行为如图2所示。

图2(a)为个体健康状态转移图。初始条件下,人群中存在初始患病比例pinitial,人群按照此概率进行初始化。对健康的个体,存在发病概率p, p=f(age),这里只考虑于年龄因素。假设疾病分为两个阶段,个体患病后即进入疾病状态Stage I,若在医院接受治疗,经过t1时间恢复健康,若在社区诊所接受治疗,经过t2时间恢复健康,患者恢复健康后对该疾病具有一定时间的免疫能力,且免疫时间为t3.若个体得不到治疗,经过时间t4,疾病发展到Stage II,此时只能在医院接受治疗,经过时间t5才能恢复健康,恢复健康后,对该疾病具有免疫能力,免疫时间为t3.

图2(b)为个体的就医选择模型。初始条件下,个体的状态为在家中,当个体患病后,个体转移到选择医疗服务机构的状态,选择的过程依照上述的四条规则。完成选择后,个体可能选择医院、社区医疗诊所接受治疗或无法医治(可能的原因包括患者无法支付医疗费用),在医院或社区医疗服务机构经过一段时间的治疗,患者恢复健康,返回到初始状态。

1.2 医院、社区医疗服务机构模型

本文所提出模型中的医疗服务机构包括医院和社区医疗服务机构两类。通常而言,对于某一城市区域,医院的医疗条件要优于社区医疗服务机构,同时对同类型的疾病医院医疗服务的价格要高于社区医疗服务机构的价格,而在数量上,医院的数目要少于社区医疗服务机构的数目。因此对每个医疗服务机构可以用这样一个五元组来表示:

Healthcareservice(xlocation,ylocation,Dcapability,Dcost,Dtime)

其中,五元组的前两项表示该医疗服务机构的地理坐标,Dcapability表示该医疗机构治疗某类疾病的能力,在对医疗机构等级划分中,医院的床位数是衡量医院能力的指标之一,这里我们选择对某类疾病单位时间能够容纳的患者数目来表示Dcapability,如果Dcapability=0,则表示该医疗服务机构不具备治疗该类疾病的能力。Dcost表示治愈该类疾病需要的平均医疗费用,Dtime表示治疗该类疾病的平均治愈时间。在本文的就医选择中只考虑了一类疾病,对于考虑多种类型的疾病的情况,可以将五元组中的后三个变量进行拓展。

1.3 疾病模型

考虑疾病D是一种两阶段非传染性疾病,且人群中发病概率只与年龄因素相关,即p=f(age)。该类疾病按照严重程度可以分为两个阶段:阶段I、阶段II。这里之所以考虑两阶段疾病,是为了体现不同医疗机构的技术水平的差异。阶段I社区医疗服务机构和医院都可以治疗该类疾病,两者在治疗费用和治疗时间上存在差别。阶段II只有医院才能治愈。

2 仿真实验及结果

2.1 仿真平台AnyLogicTM介绍

实验所采用的平台为AnyLogicTM 5.5试用版[9],采用的编程语言为Java。AnyLogicTM是XJ Technologies公司推出的建模仿真工具。该工具支持多种建模方法:离散事件建模、系统动力学建模、基于agent建模、混合建模等。它的应用领域包括:控制系统、交通、动态系统、制造业、供应链、后勤部门、电信、网络、计算机系统、机械、化工、污水处理、军事、教育等。因为AnyLogicTM是基于JAVA编写的,仿真程序可以编译生成Java Applets,支持Web页面上运行。

2.2 仿真实验设定

仿真实验想定如下:给定城市CS,均匀分布数量为N0的城镇居民,该城市内医院的数量为N1,社区诊所的数量为N2,在给定区域内服从均匀分布。居民的年收入假设满足对数正态分布lnIncomeN(9.90,0.45)(单位:元/年)[10],收入在每年年初一次性获得。医疗费用占全年费用的支出上限比例为α=0.2,居民年龄为在区间AgeU(18,80)的均匀分布。疾病D在社区诊所的医疗费用为Costc=400(元/次),在医院的医疗费用为CostH=CostC·CostRate(元/次)。 患病概率p=f(age)=0.00125age, Distancemax=300km, K=1, CostRate2=max(CostRate,1.5)。仿真的时间步长为天,仿真停止时间为730,即两年时间。初始条件N0=1000, N1=5, N2=10, Dcapabilityhos=15, Dcapabilitychs=10。仿真实验中各变量的分布如表1所示。仿真实验运行如图3所示。图中的白色点代表健康个体,蓝色点代表患病且处于阶段1的个体,红色点代表患病且处于阶段2的个体。居民患病后按照1.1节中的模型选择就医,居民选择医疗机构后,位置变换到所选的医疗机构,康复后回到住所。绿色方框代表医院,其中的数字表示医院目前还能容纳的患者数量,黄色圆圈代表社区诊所,其中的数字代表社区诊所目前能容纳的患者数量。仿真运行中统计包括居民的健康状况、就医情况、平均医疗费用等指标。可调节的参数包括社区诊所数量、医院数量、城市人口数量、医院与社区诊所治疗费用比。

2.3 仿真实验1——调整不同类型的医疗

机构医疗费用比(CostH/CostC)

调整医院医疗费用与社区诊所费用之比CostRate(CostRate=CostH/CostC),从1.0增加到4.5,最小增幅为0.5,统计居民去社区诊所、医院就医与不能就医的比例,以及人群平均医疗费用和总的患病人次。每组参数下仿真运行25次,取均值作为该参数下观测指标的值。AverageCost为所有居民接受治疗的平均费用,AverageCost=niCosti/ni.

图4(a)曲线显示了在2.2节的仿真想定下,随着医疗服务价格比率的变动,居民就医选择的变化。当医院的价格与社区诊所的医疗服务价格相等时,绝大部分的居民(99.3%)的居民选择去医院接受治疗,这是因为相同的价格下,医院的医疗服务更具吸引力。随着医院服务价格的上升,居民去社区诊所就医的比例上升,去医院就医的比例下降,在CostRate在2.5~3.5左右,两者的比例基本相等,这是因为随着医院价格的上升,对居民的吸引力下降,同时部分居民因无法支付起去医院就医的费用,而转向社区诊所就医。居民中因收入原因无法就医的比例随着费用比的上升逐步提高,最终达到稳定水平(约为7.5%)。该实验说明通过调节医院与社区诊所的医疗服务的价格比,能够调节居民就医选择,但增加医院的医疗服务的价格会造成部分低收入居民无法就医。

图4(b)星型点连线是不同费用比下,全体居民总的患病次数的变化情况,波动幅度不大(±5%之内)。菱形点连线是平均医疗费用变化情况。在CostRate=1时,医院和社区诊所的医疗服务价格都为400元/人次,此时平均医疗费用最低,随着医院医疗费用的上升,平均医疗费用上升,同时医疗费用的上涨,使部分低收入居民无能力就医,总的接受治疗的比例下降,产生降低平均医疗费用的影响,因此总的平均医疗费用呈现先上升后下降的趋势。

2.4 仿真实验2——增加社区诊所的数量

增加区域中社区诊所的数量,从10增加到40,最小增幅为5,统计人群中去医院、社区诊所、不能就医的比例。调整参数后,每组参数厦仿真运行25次,取均值为该参数下观测指标的值。实验结果如图5所示。

实验结果表明当社区诊所数量从10变化到20,人群中不能就医的人口数量下降明显,社区诊所的继续增加对人群中不能就医人口下降没有作用。因此给定区域中合理的社区诊所数量为10~20所。增加社区诊所的数量,对居民选择医院就医或社区诊所就医没有明显影响。

3 分析与结论

本文在分析目前医疗领域中居民就医选择现状的基础上,基于Agent的建模方法,对医疗系统中的主要对象——医院、社区医疗服务机构、居民的行为进行了建模,开发了基于Anylogic的居民就医选择的仿真原型,研究了居民的就医选择问题,分析扩大不同医疗机构的费用差距及增加区域内社区医疗服务机构数量两项政策对居民就医选择的影响。实验结果说明通过调节医院与社区诊所的医疗服务的价格比,能够调节居民就医选择,但增加医院的医疗服务的价格会造成部分低收入居民无法就医;区域内社区诊所与医院的比例在2~4倍时,对降低居民无法就医的比例是有效的。

本文认为运用Agent方法研究医疗卫生领域中人群就医选择行为及分析政策的影响是一次有意义的探索实践。该方法能够在研究中考虑个体的差异性,这是系统动力学方法无法比拟的。运用Ageot的方法,基于成熟的仿真平台,通过对患者行为和疾病的建模,能够模拟疾病的传播,预测疾病的发展趋势,研究控制疾病扩散的主要因素;通过对患者、医疗服务机构、政府机构行为的模拟,探索目前医疗卫生领域中所暴露问题(如看病难、看病贵、医疗覆盖面窄、医疗卫生服务系统结构不合理)的形成的机理,可以为医院的布局,政府医疗政策的制定等提供支持。

参考文献

[1]张璐璐.医疗卫生服务系统建模研究[M].上海:第二军医大学出版社,2006.

[2]Ahmed M A,Alkhamis T M.Simulation optimizationfor an emergency department healthcare unit inKuwait[J].European Journal of Operational Re-search,2009,(198):936~942.

[3]Giachetti R E,et al.A Simulation study of interven-tions to reduce appointment lead-time and patientno-show rate[A].Proceedings of the 2008 WinterSimulation Conference[C].2008

[4]Rahmandad H,Sterman J.Heterogeneity and net-work structure in the dynamics of diffusion:compar-ing agent-based and differential equation models[J].Management Science,2008,54(5):998~1014.

[5]陈先来,邓让钰,杨路明.基于Multi-agent临床诊断支持系统的设计[J].国防科技大学学报,2007,29(1):96~100.

[6]张全海,施鹏飞.基于智能软件代理的分布式医学图像协作研究[J].小型微型计算机系统,2002,23(11):1348~1351.

[7]李军怀,周明全,耿国华.一个基于Agent的远程医疗系统结构模型[J].西北大学学报(自然科学版),33(5):535~539.

[8]史忠植.智能主体及其应用[M].北京:科学出版社,2000.

[9]http//:www.xjtex.com[EB/OL].2008.

Agent建模 第2篇

随着电力系统容量和复杂性的增加, 要求开发一种新的分析和建模方法, 以支持对电力系统的实时控制和多目标分析。虽然电力系统微分方程组形式的数学模型得到广泛的应用, 但使用该模型形式进行系统分析和控制时需要进行大量的数学计算, 这在大规模电力系统的控制与应急管理时无法保证响应的实时性。

本研究将多Agent系统 (Multi-Agent System, MAS) 理论和物理网络建模 (Physical Network Modeling) 思想相结合, 进行电力系统建模及其应用技术的研究。这种基于Agent的建模形式和计算方式, 它既继承了面向对象 (Object-Oriented) 的建模思想, 又充分利用了Agent的特性以及电力系统各组件的建模成果, 避免了传统微分方程组形式模型全局性和紧耦合性的不足, 又不需要对各组件的模型做任何简化处理, 而且信息越全面越好;它采用分布式信息处理方式, 因此具有计算速度快、可靠性高和反应迅速等优点。而且这种智能模型能够反映电力系统的物理布局和组件之间的连接关系, 便于系统分析;同时, 在该智能模型上增加新的功能算法Agent或添加组件Agent时, 该模型系统不需要关闭或重启, 这样整个模型系统具有非常强的维护性和扩展性。

本智能模型可作为一个公共模型用于电力系统的分析、控制、故障诊断和预测以及维修保障等工作, 促进了部门内部人员的协作, 这样相关人员可以将更多的时间和精力花在各功能算法的研究上, 而不是进行收集数据和创建“从头开始”的方案, 这样提高了工作效率, 减少了建模成本。

2 基础知识

2.1 多Agent系统

软件Agent是一段包含数据和行为规则的软件程序, 可以看成为系统物理实体或功能的抽象, 它具有自治性、社会性和反应性等特性。多Agent系统的特点:

有限视角, 即每个Agent拥有部分信息, 或只具备有限能力;没有系统全局控制;数据是分散的;计算是异步的。

Agent在建模中的角色是基于其特性:

(1) Agent是一个自治的计算实体。

(2) 智能性是指Agent在变化的环境中灵活而有理性地运作, 具有感知和效应的能力。

(3) 交互能力是指Agent可以被其他为追求自己的子目标而执行相应任务的Agent所影响。

由于可以将Agent看成为主动对象, 基于Agent的建模技术完全可以从面向对象技术中继承并发展。为每类Agent设计相应的类, 用属性表达Agent的内部状态和特性, 用方法表示Agent的行为。

2.2 物理网络建模

物理网络建模方法使用基于图论的网络分析技术分析系统瞬态和稳态特性。采用该方法分析和设计系统时, 先将系统分解为组件级和系统级对象方程和编程结构。对于电力系统, 系统中的每个组件可用一组端部变量电压和电流以及反映该组件端部变量关系的方程式表示, 例如, 系统中的电阻, 反映其物理行为的方程式为V=RI, 而对于一些物理行为比较复杂的元件和组件, 还可以采用比较复杂的函数、曲线图和查表等形式描述其物理行为。

对于电力系统, 采用电路理论的观点来定义系统组件之间的关系, 其拓扑结构用节点 (Node) 和边 (Edge) 组成的图来表示。

3 电力系统基于Agent的智能模型

电力系统由负载, 旁路电容, 母线, 串联支路, 配电站, 馈线和电源等设备和元件构成, 假设三相电力系统为对称的, 这样可用单线图表示, 本文所建立的元件模型如图1所示, 为一个两端口模型。

这样可将电力系统抽象为图形, 系统中的部件, 如负载、母线、传输线和断路器等抽象为图形中的一个边, 用线段“─”表示, 不对系统中的节点建模, 而是将其作为边的一部分, 这样将电力系统抽象为一个边-边图模型。图2为电力系统局部图模型, 图中的整数为组件编号, 0表示不存在该组件, 该图模型表示了电力系统的拓扑。另外, 在交流电力系统中, 由于包含单相、两相和三相组件, 可将两相和三相组件分别等效建模为两个和三个单相组件, 例如, 三绕组变压器有三个节点连接于电力系统, 在这种情况下, 可将该变压器建模为三个两绕组变压器, 其中的每个变压器就可以看成两节点组件, 而两节点组件就可抽象为一个边。

同时, 将电力系统中的主要组件也分别建模为各种组件Agent, 并用网络容器来 (Container) 存放这些组件Agent。这样物理系统中的组件、图模型中的边以及智能模型中的组件Agent存在一一对应关系, 也就是说, 建立了电力系统面向Agent的模型。

用面向对象的观点分析辐射形配电系统, 将物理元件如负载, 旁路电容, 母线, 串联支路, 配电站, 馈线等建模为对象。

在三相不平衡配电情况下, 连接相 (对于两相A-B, B-C, C-A和对于单相A, B, C) 不得不考虑。本文使用面向对象设计的聚合 (Aggregation) 和组合 (Composition) 原理来建模三相不对称系统, 将两相和三相组件分别建模为两个和三个单相对象的合成, 为了表示连接相, 需在单相组件Agent中添加一个附加属性。

在本面向Agent的智能模型中, 每个组件Agent拥有全局唯一的Agent的标识符 (AID) , 利用AID可以给组件Agent赋予多个属性, 例如可靠性属性, 以及多个算法的计算结果。

在电力系统中, 每个组件可以有多个供电电源, 但仅将其中一个供电电源定义为参考源 (主供电电源) 。本建模方法以图论为基础进行系统分析和问题的求解, 如图2所示, 在表达组件Agent的拓扑属性时, 定义四种类型拓扑变量来表达组件之间的连接关系或管理系统拓扑结构:前向变量 (f) , 馈线路径变量 (fp) , 兄弟变量 (br) , 邻变量 (adj) ;这些拓扑变量与指针的作用类似, 存储着与当前组件相连接的各组件Agent的标识符AID:

f-所表示的组件与当前组件相连接, 且由当前组件或通过当前组件为其提供电能;

fp-所表示的组件与当前组件相连接, 且由该组件或通过该组件为当前组件提供电能;

br-所表示的组件与当前组件相连接, 既不为当前组件提供电能, 也不由或通过当前组件为其提供电能;

adj-所表示的组件与当前组件相连接, 但具有不同的主供电电源 (用于查找备用供电路径) 。

为了进行电力系统智能模型的设计和相关功能的实现, 每个组件Agent C可用一个具有多个属性分量的组元 (Tuple) 来表示, 例如, 一个组件的组元可以定义为

该组元C定义反映了组件的拓扑属性和主要的物理属性:如组件性质、当前工作状态, 组件之间拓扑结构关系, 或与系统稳定性和安全性相关的约束条件等参数信息。这样通过访问组件Agent的属性, 可进行包括故障恢复算法在内的集合运算。在智能模型中, 一个组件Agent与物理系统中的一个组件同步变化, 可以通过AID更新组件Agent的属性信息。

另外, 根据物理网络建模思想, 依据沿闭合回路所有电压降之和等于零, 与流入连接点的电流必须等于流出连接点的电流的约束条件, 设计多个系统Agent, 进行系统相关量如电流或/和电压的计算, 并将计算结果返回给相应组件Agent, 这样就可以减少传感器的使用, 或校验模型中的参数错误。

然后, 针对所设计的上述智能模型, 设计各功能算法Agent, 以完成相应的分析和控制功能。

对于大规模电力系统, 为了提高分析和控制的实时性和模型响应的快速性, 可以将各类型Agent分布在多个容器中和多个计算机中, 因为在问题求解过程中, 通信代价要比求解问题的代价低得多。

这样电力系统的组件、拓扑结构、采集数据和各功能算法被集成为一个灵活的, 可扩展的软件架构。在该智能模型中, 可以局部地处理系统拓扑结构和组件属性的变化, 这就提高了信息的处理速度, 非常适合于利用实时采集信息和人员过程驱动的操作方式。图3为电力系统基于Agent的智能模型及其应用的分层体系结构图, 具体分层如下:

(1) 数据采集和存储层。该层包含已有的数据采集和存储系统, 以及执行Agent, 各执行Agent分别与电力系统各物理设备 (电源、各类型负载、断路器、传感器以及采集装置) 集成在一起, 每个执行Agent负责测量对应组件的状态信息和控制其动作。

(2) 智能模型Agent层, 包含组件Agent和系统Agent。组件Agent负责计算和管理组件的内部状态信息, 其状态属性中必须包含电流和电压, 以及该组件的其它相关属性和描述其行为的方程, 并对外部激励做出响应。同时, 组件Agent还与相应执行Agent进行通信, 接收执行Agent的信息, 或向执行Agent发送控制命令。各系统Agent要保证智能模型满足电力系统各部分的两个连接方程。

(3) 功能算法Agent层。其只与组件Agent层中的相关Agent进行通信, 获取组件的当前状态信息用于功能计算, 并将计算结果或控制命令返回给相应的组件Agent。

(4) 命令控制中心Agent。命令控制中心Agent提供完整的人机界面, 通过人机界面完成操作命令的输入, 现场设备状态的显示和操作提示等。

本文选择JADE (Java Agent Development Framework) 作为开发电力系统智能模型的工具和平台。

这样在智能模型内部, 系统Agent和各组件Agent通过AID与其他组件Agent进行透明通信, 完成各自的计算和操作任务;而各功能算法Agent通过各组件Agent的AID与智能模型产生联系, 共享智能模型中的信息而协同工作, 完成各自的计算任务。在此期间, 当某一算法Agent完成了自己的计算, 它将计算结果传给模型中相应组件Agent。同时, 当另一个算法Agent需要某数据时, 它可以从智能模型中获取所需数据。这样计算结果可以像网络积木一样从一个算法传送到另一个算法, 而通过系统内部的相关性将各算法相关联, 高层算法建立在低层算法之上, 例如, 计算电网潮流需要计算各负载阻抗和估计负载, 然而估计负载与负载统计研究有关, 最终, 本文所构建的电力系统智能模型也是一种“逼真模型”或“实况模型” (living model) 。

由于Agent与对象有着许多相似性, 所以可以使用面向对象技术来实现Agent, 事实上, 现在许多Agent开发工具和应用实例都是采用面向对象技术来实现。UML (Unifi ed Modeling Language) 为面向对象软件设计提供统一的、标准的、可视化的建模语言。由于本智能模型是一种基于图论的面向Agent的模型, 所以在系统分析和设计过程中, 可根据所建立的电力系统图模型, 利用UML中的OCL (对象约束语言) 进行基于模型的系统功能算法的分析和设计, 它可以详细地描写计算机算法的细节, 说明一些图模型不能充分表达的建模信息。它容易书写和阅读, 能准确地阐述Agent之间是如何相互交互的, 便于对复杂系统的工作过程进行分析与研究, 可以很方便地解决各功能算法 (如电力系统故障诊断和保护, 以及故障恢复) 设计过程中的约束条件表达问题。算法还可以在设计过程中逐步完善。下面为一个用OCL符号表示的搜寻备用恢复路径的算法, 令CAF为备用恢复路径集, 可通过下式来计算

CAF=ft→select (p|p.b Cmp Typ==SD and p.f Sect Dev==OPEN and p.ms==UNLOCKED)

式中运算符select () 用于选取表达式为真的子集;p表示组件的一个迭代器;b Cmp Typ表示组件类型, SD表示分区隔离开关组件;f Sect Dev表示分区隔离组件的状况, OPEN表示其处于断开状态;ms表示能活动组件, UNLOCKED表示其处于非闭锁状态。这里使用的OCL箭头运算符“→”, 当其作用于一个集合时, 这个运算符对集合中的每个对象进行访问和操作;当作用于一个组件Agent时, 用于访问和操作该组件属性的值。

4 结语

本文建立了基于多Agent系统的电力系统智能模型, 这种模型形式避免了传统模型的全局性和紧耦合性不足, 比基于矩阵的模型具有更快的计算速度。它为电力系统设计人员、规划人员、操作人员和可靠性工程师提供了统一模型, 这样既减少了系统建模成本, 又促进了不同人员的协作, 提高了工作效率。

摘要:建模及分析技术在电力系统设计、控制与管理中占据重要地位。提出一种基于图论面向Agent的电力系统建模方法, 该模型可用于系统设计、规划、操作和控制, 避免了传统微分方程组形式模型全局性和紧耦合性的不足。

关键词:建模,多Agent系统,透明通信,统一模型,电力系统

参考文献

[1]Feinauer L R, Russell K J, Broadwater R.Graph trace analysis and generic algorithms for interdependent reconfigurable system design and control[J].Naval Engineers Journal, 2008, 120 (01) :29-40.

[2]F.Bellifemine, G.Caire, and D.Greenwood, Developing multi-agent systems with JADE, John Wiley&Sons, Feb.2007.

[3]Blackwell, W.A., Mathematical modeling of physical networks, The Mac Millan Company.New York, 1968.

[4]S.D.J.McArthur, E.M.Davidson, V.M.Catterson, A.L.Dimeas, N.D.Hatziargyriou, F.Ponci, T.Funabashi, Multi-Agent Systems for Power Engineering Applications-Part I:Concepts, Approaches, and Technical Challenges, IEEE Transactions on Power Systems, 22 (04) :1743-1752.

[5]J.Roark.Analysis of the Costs and Benefits of Model-Based Grid Modernization for Orange and Rockland Utilities.Final Report, October 2014.

[6]Steven, P.and R.Pooley, Using UML:Software engineering with objects and components, Addison-Wesley.Reading, MA, 2006.

Agent建模 第3篇

1.1 Agent的定义

对于Agent的研究早期是由人工智能领域兴起的。当前, 这一技术已经从产生阶段过渡到了发展阶段, 虽然依旧未曾达到完全成熟的阶段, 但多Agent系统却已经被人们认可。在各种应用Agent的系统当中其定义均有所不同, 直至目前为止尚且没有一个较为统一的定义, 无论Agent的定义是否统一, 其必须具备的就是智能性, 这是一个毋庸置疑的问题。有的学者认为Agent实质上就是一个实体, 可将其状态看做是由能力、选择、信念以及承诺等部分组成的。从广义的角度上讲, Agent可以使一个组织、一个机器或者是一个人。Agent一词在词典中的解释为扮演其它角色者, 但硬要将之应用到计算机领域当中该定义又显得较为笼统。如何才难更准确具体的刻画出Agent的定义一直以来都是诸多学者研究的重点。笔者认为想要真正明确其定义就必须了解Agent的更多属性, 通过这些属性可以从不同的侧面对Agent进行刻画。

1.2 Agent的基本属性

Agent的基本属性如下:自主性。不需要外部任何的直接干涉也能够自行行动并且对内部的状态具有一定程度的控制能力, 可按照其自身的经验行事;交互性。可以和其它的Agent进行交流, 同时也可以与自身所处的环境进行交流;适应性。在某种特定的前提下可以相应其它环境或别的Agent, 自身适应性较高的情况下还能够允许其它Agent按照一定的经验对自身进行适当的修改;代理性。当前提条件满足要求的情况下, 其可以代替他者进行工作, 也就是说Agent能够代表某些特定实体的利益行事;移动性。可以将自己从当前所处的环境中转移到另外的环境中;主动性。Agent并不是简单地对某些特定环境做出指定的反应, 而是有目的的行事;智能性。能够与其它的Agent之间使用符号等语言进行交互;理性;可按照知识及内部目标对行为进行选择, 特定的行为能够使其接近自己想要实现的目标;不可预测性。Agent本身具有不确定的行为能力, 就算在全部初始前提条件均明了的情况下, 也不可能完全预测的方式行事;连续性。Agent属于一个能够进行连续运转的进程;竞争性。可以和其它Agent在一个环境中协作, 但这种协作是具有对立面的, 及一个Agent成功则意味着另一个Agent的失败;可信赖性。由于Agen的运行安全遵循机器人法则, 所以其较为诚实基本可以信赖;坚实性。能够对各种错误以及不完全的数据信息进行处理。在以上这些特性中, 自主性、交互性以及适应性是Agent必须具备的, 这是智能系统的基本要求之一, 换言之没有自主便没有智能。

2 基于Agent的复杂系统建模及仿真研究

2.1 基于Agent的复杂系统建模

2.1.1 建模过程

目前, 在计算机软件工程的研发中, 大部分基于Agent的方法都是以面向对象为技术基础进行的。所谓的基于Agent建模具体是指当目标确定以后, 首先建立一个多Agent组织, 然后将用于实现目标的所有任务项进行分类组合, 并赋予Agent应有的功能, 最后在通信协议下进行交互合作, 以此来实现目标。这种方法其实就是以人类解决问题的智能方式予以模拟, 在软件中构建一个具有自主性的计算实体。

2.1.2 基于Agent的复杂系统分析

我们都知道抽象化和模块化是当前复杂问题求解较为有效地手段之一。而基于Agent的复杂系统分析则解决这一问题最为有效的途径。Agent在某种情况下, 比对象在反应现实问题上能力更强, 其不但能够抽象地表达出实体的动作及特性, 而且还可以按照其社会特征反映出对实体的感觉及承诺等。

2.1.3 系统组织

通常情况下, 复杂系统中的组织关系也和系统一样复杂, 而这些组织关系的作用是可将系统内分散的模块划分到一起从而形成概念上的实体, 同时, 这些实体之间存在着较为高级的链接关系, 并且还会不断变化, 为了能够适应这种变化, 各个实体均必须具备一定适应能力。基于Agent的系统在复杂问题的求解中事实上属于一个开放系统, 由于各种条件的变化, 要求组织在求解中必须能适应这些变化, 以便可以满足求解的需要。

2.1.4 复杂系统建模方法

可以说智能Agent是现阶段软件开发的一种新模式, 人工智能最终想要实现的目标就是可以完全模仿出人类智能, 在Agen系统建模过程中, 人类的组织学及社会学给予了其较大的影响。复杂系统的建模方法为利用Agent的思想对可划分的实体进行建模, 并将系统类化为Agent组织, 其目的在于协调和管理。建模过程的框架主要有以下几个方面的内容:组织系统图、职能模型、协作模型、控制模型以及管理模型等。采用上诉方法进行建模主要是以模仿人类组织为前提而建立的一个开放系统。

2.2 基于Agent的复杂系统仿真研究

2.2.1 仿真系统的需求分析

基于Agent的需求分析属于一种独立于计算域的分析途径, 这样分析的最终目的是为了便于获取问题的求解模式, 而不是软件规范, 所以这种方法分析所得的结果更具复用性和稳定性, 特别适合用在复杂系统仿真分析当中。

2.2.2 仿真设计

在基于Agent的仿真系统中, 通常将Agent作为行为主体, 它可以的某种特定的状态下完成某些活动, 并产生出新的时间或对这一状态进行转换。对Agent的刻画具体包含以下几个方面的内容:内部推理方式、与外界沟通交流渠道以及对外界的动态反应行为等。对于仿真系统中的Agent, 一般可按照需要的不同进行不同的结构设计, 并以此为依据设计相应的推理机制。

2.2.3 仿真模型的构成框架

可按照Agent之间的通讯需求来构件仿真系统的框架。而具体的仿真模型需根据实际要求予以确定。因此, 不做详细分析。

摘要:近年来, 随着我国科学技术水平的不断进步, 推动了人工智能领域的发展, Agent以其自身诸多的特点, 被广泛应用在各种系统的建模与仿真当中, 并且均取得了较为显著的成果。基于此点, 本文首先对Agent的定义及其基本属性进行介绍, 并在此基础上对基于Agent的复杂系统建模及仿真进行研究。

关键词:Agent,复杂系统,建模,仿真

参考文献

[1]鲍爱华, 姚莉, 刘芳, 等.基于组织的多Agent系统建模方法研究[J].小型微型计算机系统, 2008 (1) .

[2]王武礼.钻井井控仿真中多Agent系统建模研究[D].中国石油大学, 2009 (4) .

[3]罗英伟, 汪小林.许卓群分布式GIS的多Agent系统建模与实现[J].计算机辅助设计与图形学学报, 2009 (6) .

[4]程国建, 李真.基于多Agent的生态复杂适应系统建模和仿真[J].西安石油大学学报 (自然科学版) , 2011 (2) .

Agent建模 第4篇

许多经济学家与物理学家研究表明:金融系统是一个典型的复杂系统。由于存在高度智能的人的介入, 金融系统表现出较其他复杂系统更为明显的非线性、混沌、路径依存、自组织与自进化等特征。各种重大金融事件、大幅飘动、异常突变, 特别是金融危机这类大规模、灾难性的自崩塌, 都表明金融系统的复杂特性正在不断加剧引发金融系统的巨大风险与不稳定性。虽然国内外众多学者在金融系统领域展开了大量探讨, 并取得了丰富的研究成果, 但是面对金融系统的复杂性问题仍然充满着诸多困惑与无奈:缺乏对金融复杂系统运行规律更完整的系统性抽象, 对于各类复杂现象、异常变化的原因探究并不透彻, 难以挖掘系统产生复杂行为的模式以及内部演化机理, 无法准确刻画系统的“涌现”机制、深刻揭示其内在动力。金融系统内部结构元素众多、变量之间关系复杂、关联形式多样, 外部行为呈现动态易变性, 环境存在大量不确定性等复杂特性决定了经典金融经济学理论的线性视点、均衡分析和标准计量模型优化求解已不能充分揭示其中的规律, 亟需在技术与方法上寻求突破。

1 基于Agent的复杂系统分析与建模理论基础——CAS理论

顶尖科学家们, 认识到既有研究范式中决定论与还原论的局限, 在夸克理论创建者M.Gell-Mann、凝聚态物理学家P.W.Anderson、数理经济学家K.J.Arrow三位诺贝尔奖得主支持下, 美国Los Alamos国家实验室资深物理学家George Cowan聚集了一批物理、经济、理论生物、计算机等领域的专家, 于1984年成立了圣塔菲研究所 (Santa Fe Institute, SFI) , 坚持跨学科交叉、多领域融合, 以解决各种复杂性问题, 并逐渐成为最具影响力的复杂性科学研究学派之一。1994年, John Holland在多年复杂系统研究基础上, 以“隐秩序”为题, 提出了关于复杂适应系统 (Complex Adaptive System, CAS) 较完整的理论[1], 对人们认识、理解、控制复杂系统提供了一条新的思路, 在经济、生态、环境等领域得到了不同程度的验证与应用。

CAS理论是Holland在对系统演化规律持续深入思考中得出的, 其核心思想是适应性造就复杂性[2]。Holland把主体 (Agent) 与环境以及其它Agent之间主动的、反复的交互作用称之为“适应” (Adaptvie) , 认为CAS是由用规则描述的、相互作用的适应性主体 (Adaptvie Agent) 组成的网络。Agent在这种交互作用过程中不断学习、积累经验, 并根据学习经验改变自身规则、结构及行为方式, 从而体现出不断适应环境变化的能力。他认为在这样一个永远处于某种环境内共同演化的CAS中讨论均衡是没有意义的, CAS本质就在于其进化过程中突现的永恒的新奇性, Agent的主动性以及与环境的反复、相互的作用是CAS发展、进化的基本动因, 系统宏观面的演化 (包括新层次产生、分化与多样性, 聚合成新的、更大的Agent等) 都可以在Agent行为规律中找到根源[3]。Holland进一步提出了研究适应与演化过程中有关CAS重要的4个特性:聚集、非线性、流和多样性, 与3个机制:标识、内部模型和积木[4]。它们从不同侧面对Adaptvie Agent的概念进行了深入刻画, 构成了理论的基础。

2 金融复杂系统适应性分析

金融系统是一个基于路径依存、自组织、不断演进的复杂系统, 整个金融宏观层面的复杂性正是由微观层面的各个参与者不断适应系统环境造就的。金融系统包括市场、中介、服务公司及其他实现家庭、企业及政府金融决策的机构[5]。这些为数众多的金融系统参与者, 有着不同的风险偏好, 所获得的信息具有不对称性[6], 作为不同利益的主体, 同处于一个大环境中, 但是又根据自身周围局部的小环境并行、独立地进行适应性学习与演化, 这一过程充满了优胜劣汰的生存竞争。

金融系统参与者都有其各自的目标与取向, 对信息有着不同的反应方式、预测与决策机制。每个参与者根据自身的知识结构、依据过去的历史 (至少是对过去的理解, 包括:经验、直觉、洞察力、创造力等) , 在已有金融信息背景下作出判断与决策, 与其他参与者进行协同、合作或竞争, 以争取最大的生存机会与利益资源、避免不利因素的影响。为了生存与发展, 各类参与者努力提高自身的适应性, 彼此相互联系、相互依赖、相互模仿、相互学习, 又相互竞争, 根据环境的变化和学习成功者的经验不断形成新的预测规则, 并有目的、有方向地调整、变更自己的金融决策与行为方式, 在交流、互动作用中持续“成长”和“进化”。大量适应性参与者的各种行为如此反复, 就处于一种永不停止的相互影响、相互进化过程之中。这种相互作用、不断调整共同推进着整个金融复杂系统的演化。金融系统的各种运行规律是作为系统在宏观层面涌现出来的特性, 还原到微观层面就不复存在了, 这种整体特性如泉水般从地下神奇地涌出来, 正是由于低层次参与者相互作用而突显于高层次的。参与者之间的联系与交互作用, 往往很容易产生正反馈, 从而引发的某种涌现现象, 直到金融系统再次达到某种均衡。这是一个不断反复的动态过程, 金融系统的各种异象, 如特有的泡沫现象、金融系统的突然崩溃等都可以得到很好地解释。

3 基于Agent的金融市场模型设计及其仿真形式化描述

CAS理论推动着自然与社会众多学科从不同方向对复杂系统演化过程的规律进行深度探索, 以其为指导的基于Agent的金融复杂系统建模与仿真方法采用自底向上的方式, 从生态、网络的角度来刻画、模拟金融系统复杂性的现实状况, 在灵活性、直观性、层次性、重用性及可操作性等方面较传统的建模技术有凸显的优势, 能够帮助领域专家探讨金融复杂系统各组成部分之间的反复交互作用, 捕捉微观行为和宏观“涌现”的有机、演化联系, 从而实现深刻理解与有效控制金融复杂系统的目标。

在计算机学科领域对于Agent至今没有统一的定义, Wooldridge关于Agent的弱定义[7]被大多研究人员所接受, 他认为Agent是具有如下特性的硬件或基于软件的计算机系统:自治性 (可在无人或其它系统干预下自主运行, 并控制自身行为及内部状态) 、反应性 (能感知并对所处环境改变作出反应) 、主动性 (展现出目标驱动的主动行为) 、社会性 (运用某种通信语言与其它Agent进行交互) 。一般而言, Agent可分为三类, 包括由Rao和Georgeff探讨的慎思型Agent[8], R.A.Brook建立的反应型Agent[9], 以及Fischer、Muller和Pischel将反应、慎思与协作相结合而提出的混合型Agent[10]。在实际应用中设计者往往根据不同需要而采用不同的Agent结构。图1是被普遍认可的一种Agent结构[11]。

3.1 基于Agent的金融市场模型设计

(1) 股票市场基准模型

根据标准金融中理性预期以及有效市场理论, 普通股票当前市场价格收敛于理性预期的未来收益流的贴现, 在Bray[12]、Grossamn和Stiglitz[13]模型基础上, 构建一个人工股票市场基准模型:

假设市场上只存在两种可交易资产:一种是无风险资产, 其固定无风险利率为rf;另一种是有风险股票, 其随机支付股息dt服从AR (1) 过程:

dt=d¯+ρ (dt-1-d¯) +εt (1)

其中, εtN (0, σε2) 。

假设股价是股息的线性函数:

pt=fdt+g (2)

且股价、股息均服从高斯分布。

假设股市中所有Agent都是理性、同质、常系数绝对风险厌恶 (Constant Absolute Risk Aversion, CARA) 的, 且效用函数是负指数型, 则其最大化期望效用为:

Eti (-e-rWt+1i) (3)

其中, Eit为条件期望, γ为CARA系数, Wt+1为Agent在t+1期的财富, 且满足:

Wt+1i=xti (pt+1+dt+1) + (1+rf) (Wti-ptxti) (4)

则Agent i的股票需求xti为:

xti=Eti (pt+1+dt+1) - (1+rf) ptγσp+d, i2 (5)

其中, σ2p+d, i为Agenti对p+d估计的条件方差。

由于在理性预期均衡状态下, 可强制假设Agent均持有1股股票, 则式 (5) 可转化为:

Eti (pt+1+dt+1) - (1+rf) pt=γσp+d2 (6)

由式 (1) 、式 (2) 可得:

σp+d2= (1+f) σt2 (7) Eti (pt+1+dt+1) = (1+f) [ (1-ρ) d¯+ρdt]+g (8)

将式 (8) 代入式 (6) , 解得:

f=ρ1+rf-ρ (9) g=d¯ (f+1) (1-ρ) -γσp+d2rf (10)

由此, 可得同质理性预期均衡的一个最优预测:

E (pt+1+dt+1) =ρ (pt+dt) + (1-ρ) [ (1+f) d¯+g] (11)

式 (11) 即为Agent所需进行的核心估计, 通常也以表示为:

E (pt+1+dt+1) =a (pt+dt) +b (12)

(2) 异质交易者模型

假设市场中Agent不能观测到其他Agent行为, 仅从有限的预测规则集中选择以形成简单策略;Agent对市场状态 (用二进制字符串0, 1, #表示) 理解及预期各不相同, 即对式 (12) 中ab估计并不一致;Agent有学习能力, 其预测规则是不断演化的。

①预测机制

每个Agent都有一个预测规则集, Agent根据一系列条件预测规则形成预测, 通过计算、比较规则预测准确度, 选择最优规则进行预测。每个预测规则由两部分组成:一部分是条件字符串, 用来检验规则与市场状态匹配度; 另一部分是预测参数向量, 将匹配字符串转变为价格-股息预测, 每个字符串存在一个真实预测参数向量 (ai, j, bi, j, σ2i, j) , 该向量可转化为期望形式:

E^ (pt+1+dt+1) =a (pt+dt) +b (13) σ^p+d, i2=σt, j2 (14)

由式 (13) 、式 (11) 可知, 在异质Agent市场中, 其期望效用实质是对式 (3) 的最优预测:

E^ti (-e-rWt+1i) (15)

其中, E^ti为Agent it时刻的主观期望。

②规则演化

Agent可通过调整规则集来学习、改变其行为, 并在交易中淘汰坏的规则、采用遗传算法补充建立新的规则。新规则集的产生是根据当前预测规则的强度进行取舍。每个规则的估计方差可更新为预测误差的平方:

σi, j2=vt, i, j2 (16)

每个规则的强度由下式给出:

si, j=- (σi, j2+cBi, j) (17)

其中, Bi, j为规则中不等于#的市场状态位个数, c为单个市场状态位成本。

(3) 交易机制模型

每个Agent确定各自规则后, 将预测参数代入式 (5) 中, 可得Agent i的股票需求为:

xti (pt) =E^ (pt+1+dt+!) - (1+rf) ptγσ^p+d, j2 (18) xti (pt) =ai, j (pt+dt) +bi, j- (1+rf) ptγσ^i, j2 (19)

做市商制度下, 需反复试验来发现市场出清价格, 以平衡股票需求与固定供给:

i=1Νxti (pt) =i=1Νai, j (pt+dt) +bi, j- (1+rf) ptγσ^i, j2=Ν (20)

交易最后, 对所有匹配规则更新其预测准确度 (以确定规则演化中预测规则的强度) , 可用如下公式计算:

vt, i, j2= (1-1τ) vt-1, i, j2+1τ{ (pt+dt) -[ai, j (pt-1+dt-2) +bi, j]}2 (21)

显然, τ的取值决定了Agent为进行预测所参考的数据时间跨度, 是与学习、测量及调整速度相关的重要变量。若Agent使用了全部历史数据, 则隐含假设其面临的是一个平稳环境;τ相对较小时, 则意味着其处于一个快速变化的环境;若τ=1, 即只用最后一期预测误差, 其本质是基于噪声估计。

3.2 基于Agent的金融市场仿真形式化描述

金融复杂系统仿真主要是建立一个原型系统的形式化描述模型, 并变换成计算可执行映像, 通过计算环境下的可控模型实验, 获得原型系统的解。在实际系统中, Agent之间的交互表现为信息、物质与能量的交换;在金融复杂系统仿真中, 消息是连接各类Agent的纽带, 是某一Agent要求其他Agent执行某处理或回答某信息的说明。消息结构具有一致性, 可表示为:

Μessage=<ΜsgΙD, Dest, Source, ΜsgΤype, Content, SendΤime, ElapseΤime, ValidΤime> (22)

其中, MsgID为消息标识, Dest与Source为消息接收与发送Agent, MsgType为消息类型, Content为消息内容, SendTime为发送时钟, ElapseTime为消息传送间隔时间, ValidTime为消息有效期。

金融复杂系统形式描述模型Fdes可表示为三元式 (不可分割的最小个体称为元Agent) :

Fdes=<Ιa, Μa, Ψ> (23)

其中, Ia为Agent实例集合, Ma为消息实例集, Ψ:Ma→Ia×Ia为Agent间消息传递算子。

金融复杂系统仿真可表示为八元式:

FCSS=<Fcs, Fdes, Env, Fdes, result, Μodeling, Μap, Run> (24)

其中, FCSS为金融复杂系统仿真, Fcs为原型金融复杂系统, Fdes为金融复杂系统形式化描述模型, Env为仿真环境, #Fdes为Fdes的计算机映像, result为原型复杂系统解空间, Modeling:FcsEnvFdes为原型复杂系统到形式化描述模型的映射, Map:FdesEnvFdes为描述模型到计算机运行模型的映射, Run:FdesEnvresult为计算机映像到解空间的映射。显然, Run过程是在Env支持下的可控模型实验过程, 包括将#Fdes实验结果推断到原型复杂系统解空间result中。

4 基于Agent的金融复杂系统仿真实验平台

基于Agent的复杂系统建模与仿真实验平台实质是将Agent建模抽象成一些常用的类库, 如Agent结构、行为规则、运行时间表、表现工具、存储形式等一系列轻便工具包, 不仅易于构造模型、极富表现力, 同时还具备鲁棒性、快速高效等特点。这大大减轻了领域专家的编程负担, 能使其致力于具体复杂系统的描述, 为快速搭建针对具体复杂系统的仿真应用系统创造了条件。目前, 可应用于金融复杂系统领域成熟的建模与仿真实验平台主要包括:SwarmRepastAscapeTNGLabStarLogoNetLogo, 如表1所示。

(1) Swarm[14]是开发最早、应用最广的基于Agent的建模与仿真通用平台, 它由SFI于1995年研制, 以期为研究人员提供一套标准、灵活、可靠的软件工具。Swarm定义了通用的模拟框架, 拥有一整套工具和一个驱动模拟内核, 研究者可以在这个框架中定义自己的应用、自由定制Swarm中的各种对象。适用于生物学、经济学、人类学和生态学等领域的科研。Swarm使用Objective C语言开发 (2.0版开始对Java语言提供支持) , 其编程基础要求高, 代码量较大, 可在UnixLinuxWindows环境下运行。

(2) Repast[15]是芝加哥大学社会科学计算研究中心为了避开SwarmObjective C的复杂性、简化Swarm模拟架构、以求更方便地模拟以满足其较短学习周期的需要而设计的。RepastSwarm中借鉴了很多思想和设计理念, 是一个基于Agent的“类Swarm”模拟软件架构。其最主要的特点是底层结构的抽象性、极强的扩展性以及良好的表现能力:提供了一系列类库, 用以生成、运行、显示模型并收集模型有关数据, 同时还能对运行中的模型进行“快照”并生成运行影像资料。适用于人文、社会经济等领域的科研。RepastJava语言写成, 支持JavaPythonNet三种编程接口, 对于编程基础要求较高, 代码量较大, 可在WindowsUnix操作系统上运行。

(3) Ascape[16]由布鲁金斯研究所开发, 相比SwarmRepast而言有着更强的表达能力。Ascape除了可对基本模型运行实时控制外, 还可改变模型设置, 给正在运行的模型过程进行拍摄, 以及打开其他模型等。其结果显示功能也非常强大, 有关联二维视图、一维滚动视图和单一视图, 研究者还可在运行时选择不同制图特征来定制视图。特别适用于对社会系统和经济系统的科研。Ascape全由Java语言实现, 对于编程相对要比SwarmRepast低一些, 代码量较少, 可在WindowsMacUnixLinux以及网络环境下使用。

(4) TNGLab[17]是美国爱荷华州立大学开发的特殊的可计算实验室, 以研究在多种特定环境下, 商业网络的形成与演化。系统中的买家、卖家与经销商依据各自预期, 反复选择伙伴、参与博弈, 并不断调整策略。TNGLab有标准组件、可扩展, 只需对相关经济参数设置有清晰的认识, 就可在TNGLab搭建的商业网络实验室中进行相关的研究。主要适用于经济、贸易系统领域的科研和教学。TNGLabC++实现, 对于编程基础要求一般, 代码量不大, 只能在Windows平台上运行。

(5) StarLogo[18]是由麻省理工学院多媒体实验室研发的可编程建模环境。其设计初衷是为了用基于Agent的建模方法来研究分散系统 (没有组织者而组织、没有协调者而协调的系统) 的运行机制。研究者可以通过其良好的操作界面进行仿真分析、控制及结果显示, 向仿真主体发出指令以生成图片与动画, 形象直观、易于理解。StarLogo虽然功能简单, 但是却很好地体现了这种新的基于Agent的建模思想, 易于学习, 适合于模型相对比较简单的初学者。SatrLogo提供的是一种类似LOGO的并行语言, 编程技术低, 可运行于Windows PCMacUnix等操作系统。

(6) NetLogo[19]是由美国西北大学网络学习和计算机建模中心推出的可编程建模环境。它继承了StarLogo语法简单的优点, 增加了许多重要的新的特征和接口, 功能更加完善。其模型库及功能非常强大, 并使用了HubNet体系中的最新技术, 支持在网络设备环境中提供模拟共享。尤其适用于随时间变化的复杂系统建模, 其模拟库涉及各个领域的初学者的科研和教学。NetLogoJava语言编写, 编程基础较低, 能运行于MacWindowsLinux等多种平台, 同时提供单机与网络环境两种版本, 每个模型还可保存为Java applets、嵌入网页中运行。

摘要:基于Agent的金融复杂系统分析与建模方法是一种自顶向下分析、自底向上综合的有效建模方式, 能充分暴露金融系统内部元素之间的关联与交互、有机结合系统微观行为与宏观“涌现”, 既为金融理论研究提供方法论依据, 又为其应用研究提供思想与指导。本文在阐述复杂适应系统理论基础上探讨了金融复杂系统的自适应特性, 建立了一个基于Agent的金融市场模型及其仿真形式化描述, 介绍了几种主流的基于Agent的复杂系统建模与仿真实验平台, 以期为金融系统复杂性问题的研究与探索提供一条新的思路和方法, 最终实现深刻理解、有效控制金融复杂系统的目标。

Agent建模 第5篇

传统的建模方法 (如还原论方法、归纳推理方法等) 不能很好地刻画复杂系统, 如煤矿井下矿工所构成的复杂系统。对这样的复杂系统进行研究, 需要采用新的建模与仿真方法, 基于Agent的建模与仿真方法 (Agent Based Modeling and Simulation, ABMS) 是最具活力、最有影响力的方法之一, 适合于复杂系统的研究[1]。

1 CAS理论

霍兰在《Hidden Order》 (《隐秩序》) 一书中首先提出了CAS (Complex Adaptive System, 复杂适应系统) 理论, 在这之后, CAS理论逐渐成为了基于Agent的建模与仿真方法的理论基础[2][3][4]。霍兰指出:CAS中的组成成员称为Adaptive Agent (即具有适应性的主体) 。“具有适应性”是指CAS中的Agent能够与环境和其他的Agent进行沟通和交流, 并在此过程中“学习”和“积累经验”, 进而改变主体的结构或行为方式[3][4][5][6][7][8]。

CAS中的Agent具有多种不同的含义[9][10][11], 最早是由Minsky (明斯基) 在其专著《The Society of Mind》 (《意识社会》) 中提出的, 在计算机领域中多将Agent翻译为“智能体”或“主体”。

2 基于Agent的建模与仿真

ABMS是CAS理论与分布式人工智能技术二者相结合后产生的一种新的建模仿真方法学, 为描述和研究复杂系统提供了一种新的建模框架和方向。

基于Agent的建模与仿真包括“基于Agent的建模”和“基于Agent的仿真”两个方面, 这两个方面既独立又联系, 研究内容和含义各有不同, 同时这两个方面又互相交叉, 不可分割。

2.1 基于Agent的建模

基于Agent的建模是一个“自下而上”的过程。Agent间的交互是分散的, 没有一个Agent的行动与其它Agent的行动有关。对整个系统来说, 从宏观来看, 系统是由这些Agent共同产生的, 没有集中的控制者和决策者, 整体和个体之间体现的是辩证统一的关系。在整体的相互作用中, 个体之间从平等到分化, 系统从简单到复杂, 宏观和微观有机地联系在一起[6]。

软件工程的观点认为:基于Agent的建模是面向对象范式的自然继承、扩充与发展。相对于Agent的定义而言, 将Agent称为“主体”比“简单的、活的对象”更加准确, Agent具有一定的智能性和自主性, 这是它的主要特点。

传统的科学研究主要是利用归纳与演绎的方法来实现研究。基于Agent的建模和演绎过程非常相似又有所不同, 它是在假设公理的基础上产生Agent的行为及模型中Agent之间的交互情况, 基于Agent建模的目的是要研究交互的本质模式并为相应的决策人员提供帮助[5]。

2.2 基于Agent的仿真

基于Agent的仿真包括Agent、环境以及相互规则、通讯方式等方面。复杂适应系统中的Agent可以实现自治, 可以自己适应环境、进行相互通信和自己学习, 仿真系统中的Agent也具有这些特点。在这样的定义下, 仿真系统中的Agent就可以看做是一个计算机进程, 就可以编制程序实现计算机的仿真。

在具有Agent的仿真系统中, 其Agent的类型多种多样, 环境、矿井、矿工、行人等都可以看作是Agent, 他们都具有Agent的特性。其中, 环境Agent受到规则的约束和限制, 并能够随着规则进行演化和发展, 因此, 环境Agent就可以和别的类型的Agent相互作用, 进行通信和联系。

目前, 基于Agent的仿真都是用面向对象的编程实现的。编程时, 需要将Agent设定成具有变量和方法等的类对象, 将环境看成是空间对象 (Space) , Agent之间的联系通过特定的规则加以实现, 当环境发生变化时, Agent会受到影响, Agent也会对环境产生影响。通过这样的设定, 就可以编程的方式实现对复杂系统的仿真。

3 ABMS的仿真平台

ABMS的仿真平台较多, 较具代表性的是美国Santa Fe研究所的SWARM和Sourceforge的Re Past项目、EINSTein、ASPEN、Net Logo等。本文只介绍Re Past仿真平台。

Re Past (Recursive Porous Agent Simulation Toolkit) 是一个开源的仿真工具, 它支持Java语言, 在Java语言的开发平台上导入Re Past的类包即可进行Re Past开发。目前比较流行的版本为Repast J (Repast 3) 。官方最近推出了Repast Simphony 2.0 Beta, 在Repast J上增加了许多新的特性。另外也有适合企业和大型科研单位的Repast for High Performance Computing 1.0.1 Beta版本。为了方便编程人员, Re Past提供了API文档, 具有Java语言基础的Re Past使用者可以利用这个文档在Eclipse平台上建立各种不同的仿真模型。

Re Past由芝加哥大学社会科学计算研究中心开发研制[12], 非常容易进行学习和扩展。Re Past有6个类库, 可以生成、运行Agent主体以及显示和收集模型中的一系列数据, Re Past还能够记录某一个“tick”时模型当前的状态, 生成模型运行过程中的各种不同的状态, 是一个与“Swarm”相类似的模拟软件构架。一个Re Past的Demo程序类结构如图1所示。

Repast含有时间序列 (Scheduling Mechanism) 和显示 (Display Mechanism) 两个内部机制。时间序列机制负责所有用户定义的状态变化, 显示机制用来实现正在运行模型的实时显示。Re Past的仿真界面如图2所示。在这个仿真界面中, 包括了Re Past中的显示界面、图表、参数设置、数据统计等窗口。

4 结束语

本文主要介绍了基于Agent的建模与仿真方法, 详细介绍了基于Agent的建模和基于Agent的仿真两个方面以及对应的仿真平台Re Past。利用ABMS可以实现对复杂系统的仿真, 因此在研究复杂系统方面是很好的研究工具之一。

摘要:本文简要介绍了CAS理论, 着重介绍了基于Agent的建模和仿真的两个方面——基于Agent的建模和基于Agent的仿真, 简要介绍了该建模仿真方法的仿真平台Re Past, 介绍了Re Past中的Demo程序的类结构和Re Past仿真平台对应的程序运行界面。

关键词:Agent,建模,仿真,Re Past

参考文献

[1]倪建军, 徐立中, 王建颖.基于CAS理论的多Agent建模仿真方法研究进展[J].计算机工程与科学, 2006.

[2]廖守忆.复杂系统基于Agnet的建模与仿真方法研究及应用[D].国防科学技术大学博士论文, 2005.

[3]廖守亿, 戴金海.复杂适应系统及基于Agent的建模与仿真方法[J].系统仿真学报, 2004.

[4]Epstein J M.Generative Social Science:Studies in Agent-Based Computational Modeling[G].Princeton, New Jersey:Princeton University Press, 2006.

[5]张俊瑞, 赵贵富.基于Multi-agent的建模仿真方法研究[J].电脑开发与应用, 2011.

[6]张俊瑞, 陈立潮, 潘理虎, 邓曦辉.基于Agent的井下透水事故逃生模型研究[J].计算机技术与发展, 2012.

[7]李强.基于Agent的城市固体废物计量收费管理模式的研究[D].昆明理工大学硕士论文, 2008.

[8]王仙雅.物流产学研合作创新的博弈分析[D].天津科技大学硕士论文, 2011.

[9]廖守亿, 陈坚, 陆宏伟等.基于Agent的建模与仿真概述[J], 计算机仿真, 2008.

[10]Gell-Mann M.Complex Adaptive System[A].In:George Cowan, et al, eds.Complexity:Metaphors, Models and Reality[M].New York:Addison—Wesley, 1994.

[11]刘大有, 杨鲲, 陈建中.Agent研究现状与发展趋势[J], 软件学报, 2000.

Agent建模 第6篇

高校教务管理的目标是提高教学工作的效率和质量。原始的教务管理工作以传统手工作业为主, 这与现代教育思想格格不入, 已经成为制约教学质量提高的主要因素。教务管理信息化正是将教学过程中的人力、物力、财力和信息进行合理的优化及组合, 实现对教学资源的有效配置和利用, 从而从根本上最大限度地提高教学工作的效率与质量[1]。下文介绍教务管理系统建模和分析, 并探讨基于Agent的软件工程建模方法在系统中的应用。

2、教务管理系统总体框架

教务管理系统是一个面向学校教务管理人员、教师和学生, 为其提供服务的综合管理系统。系统由两部分组成:学校教务管理端和学生使用端:前者主要有系统管理员和教务处人员和各院系教务员及任课教师使用, 后者则主要面对在校学生。系统需要管理分布的数据和资源, 并且需要和其他信息系统交互。它是一个复杂的分布式系统, 为保证系统性能和可靠性, 在设计阶段需要有一个完善的建模理论来指导。图1显示了整个系统的框架。

3、基于Agent的软件工程

Agent是部署于某种环境下的一个经过封装软件系统。并且拥有灵活性和自治性, 能在这个环境下实现设计目标[2]。它具有如下特征[3,4,5]:

·自治性:Agent有自己本身的内部行为特征, 能主动完成特殊任务。

·位置性:当位于特殊的环境下, Agent能够完成自己行为, 无论这个环境是软件 (如:网站) 或硬件 (如:加工生产线) , 同时能够感知和影响环境。

·社会性:Agent彼此之间能够以某种Agent通信语言进行通信。

基于Agent的软件工程的本质特征可以描述为:一个多Agent系统, Agent之间具有一定的关联和相互作用[6]。正是由于这些特性, 它非常适合于用来描述复杂的分布式软件系统。目前在信息管理系统的相关领域已经有较多应用, 如吴小欣[7]提出了一个基于Agent的教务管理系统的分析与设计方法;李英[8]提出了一个基于Agent的项目管理信息系统;许丽霞等[9]应用移动Agent研发了一套物流管理信息系统等等。

4、基于多Agent的教务管理系统建模

根据上述基于多Agent的软件工程的本质特征, 建模过程可分为三个步骤:

·应用UML用况图, 对系统进行需求分析, 并由此识别出各Agent的角色和责任。

·应用UML静态视图, 分析表示Agent之间的关联关系的静态模型。

·通过分析系统工作流程, 得出表示Agent之间的相互作用的动态模型。

4.1 系统需求分析

教务管理系统包含学籍管理、教学计划管理、排课管理、选课管理、成绩管理、注册交费管理共六个用况。图3描述了整个系统的用况图。

学籍管理:负责管理学生的入学信息、个人基本信息、在学信息、异动信息、奖惩信息及毕业信息。

教学计划管理:负责管理各专业的教学计划。

排课管理:根据每学期的教学内容安排, 排出合理优化的课程表。

选课管理:生成课程信息、学生选课信息和学生、教师信息。

成绩管理:包括成绩录入, 成绩查询, 成绩统计与报表生成等功能。

系统管理:教务管理系统提供用户注册;用户资料、历史数据的管理;系统维护等。

4.2 Agent的角色和责任

根据上述系统需求分析, 为实现系统功能, 需要定义下列Agent:控制Agent、学籍管理Agent、排课管理Agent、成绩管理Agent、选课管理Agent、教学计划管理Agent、服务器端管理Agent、界面Agent、接口Agent。各个Agent的角色和责任如下:

控制Agent:控制整个系统, 并协调各个Agent之间的工作。

学籍管理Agent:负责管理学生信息。

排课管理Agent:实现课程表优化安排。

选课管理Agent:生成课程信息、学生选课信息和学生、教师信息。

教学计划管理Agent:负责管理各专业的教学计划。

服务器端管理Agent:更新服务器端数据库;提供用户注册;用户资料、以及历史数据的管理。

界面Agent:不同用户 (系统管理员、教务管理员、教师、以及学生) 根据各自权限, 访问教务管理系统服务器数据库, 获得相关数据。

4.3 多Agent系统的静态模型

静态模型描述的是多Agent之间的关联关系和A-gent在整个系统物理设备上的一种部署状况。通常用UML的静态视图来描述。图3显示了多Agent系统的静态模型图。

4.4 多Agent系统的动态模型

动态模型描述多Agent系统实现设计目标, Agent之间的相互作用及相互协作关系。包含两个方面的内容。第一, 指多Agent系统和其他系统之间的动态关系。针对于本系统, 就是指基于教务管理系统和其他信息管理系统之间的信息交互及资源共享。第二, 指多Agent系统内部的各个Agent之间的动态关系。图5描述多Agent系统的动态模型。

5、结论

本文探讨了一种教务管理系统, 由于系统涉及到分布的数据和资源管理, 以及和其他已有系统整合, 因此引入了基于Agent的软件工程方法进行分析和建模。结果显示基于Agent的方法能很好的描述复杂、分布式软件系统, 增强对于复杂系统的建模和设计能力。

参考文献

[1]温随群, 李立峰.基于.NET的教务管理系统[J].华北水利水电学院学报, 25 (4) :67-69, 2004.

[2]Wooldridge M.Agent-based software engineering, IEE Pro.Software Engineering 144 (1) (1997) 26-37.

[3]Lim M.k, Zhang Z.Iterative Multi-Agent Bidding and Co-ordination Based On Genetic Algorithm.Proceeding of 3rd Inter-national Symposium on Multi_Agent Systems, Large ComplexSystems, and E-Businesses, Erfurt, 7-10 October 2002, pp.682-689.

[4]Jennings NR.An agent-based approach for building complexsoftware systems-Why agent-oriented approaches are well suitedfor developing complex, distributed systems.COMMUNICA-TIONS OF THE ACM 44 (4) :35-41 APR 2001

[5]Lind J.issues in agent-oriented software engineering.In pro-ceedings of the 1st International Workshop on Agent-OrientedSoftware Engineer.vol.1957 of LNCS, Springer Verlag, 2001.

[6]Jennings NR.On agent-based software engineering.ARTIFI-CIAL INTELLIGENCE 117 (2) :277-296 MAR 2000

[7]吴小欣.基于Agent的教务管理系统的分析与设计[J].商业文化, 204-205, 2007.

[8]李英.基于Agent的项目管理信息系统研究[J].经济学与经济管理, 61-64, 2007.

Agent建模 第7篇

信号交叉口涉及人、车、路、信号灯、环境等因素, 相互作用, 具有同步、并发、交互频繁复杂等一系列特征, 随着ITS技术的发展, 信息技术的引入, 各种交通信息, 如交通预报信息、实时交通信号灯信息可通过网站、广播、可变信息板、车载导航仪等不同方式向驾驶员发布[1];特别是随着智能车路 (vehicle infrastructure integration , VII) 的发展, 在一些路段和交叉口都可以给驾驶员提供当前交通环境的全息信息, 有效地提高交通效率以及行车安全[2]。这些信息在不同程度上影响着驾驶员的判断、决策行为, 从而加剧了信号交叉口交通运行的复杂性。

在信号交叉口运行机理研究中, 可采用多Agent微观交通仿真方法作为再现和评价的手段。多Agent交通微观仿真方法采用“自下而上”的思路, 对复杂系统内微观个体进行建模, 微观个体Agent模型具有丰富的属性及接近现实的决策逻辑及行为特征。相比传统的微观交通仿真利用数学模型来还原解析交通系统中各种现象, 基于Agent的交通模型可以再现复杂交通系统内各个个体在信息环境下的各种交互和反应, 涌现出系统的宏观现象和特征。因此, Agent技术为交通微观仿真的发展提供了新的模式。国内外在这方面研究已经取得了很多成果[3,4,5,6,7]:总体说来, 基于Agent的交通仿真研究国内外已经从基于Agent的概念模型向Agent的模型结构研究方面发展, 并更多考虑了实际交通系统中人的行为。但是, 以往研究大多停留于基于Agent的仿真框架、Agent的形式化模型及结构方面, 而很少涉及基于Agent的交通仿真具体实现层次。

信号交叉口其中的个体, 如车辆和信号灯, 处于不同的有限个状态中, 按照一定的规则在不同状态中迁移转换。

1 信号交叉口多Agent模型 (signalized intersection multi-agent modal, SIMAM)

信号交叉口具有多个元素, 下面给出信号交叉口各种类型的Agent定义。

定义1 SIMAM 是1个六元组, SIMAM ={AgentMS, SevAgent, InterfaceAgent, CommuAgent, WorldAgent , ComAgent}。下面逐一作出说明。

1) AgentMS是整个MAS系统的管理者, 对每个Agent提供生命周期服务, 在每个Agent生成或销毁时, 通过AgentMS可以自动进行注册和注销, 以获得1个有效的AID (application identifier) 。

2) SevAgent是为了描述系统信息环境而设计的提供信息服务的Agent。在信息环境下, 交通系统通过多种方式 (可变信息板、交通标志、实时交通状态信息发布设备等) 提供多种交通信息, 如车道功能动态变换、诱导信息、禁止、警告信息等, 提供这些信息的Agent必须到SevAgent中来注册所提供的信息服务, 这些信息提供Agent可以主动地在规定时间和地点发布信息服务, 需求信息服务的Agent也可以通过查询SevAgent来获得所需的特定信息。

3) CommuAgent可以看作Agent之间的通信关系。它定义了Agent之间的交互规则和实现机制并给出通信通道。系统内Agent之间的通信都要通过CommuAgent来进行。

AgentMS, SevAgent和CommuAgent这3个组成部分在系统启动时被自动激活。

4) WorldAgent 描述了外部环境, 对信号交叉口而言, 可以描述天气、能见度等因素;

5) InterfaceAgent 提供系统运行和结果状态显示并提供与用户交互的服务。

6) ComAgent为系统内各种任务Agent的集合, 包括驾驶员Agent、信号灯Agent、信息服务Agent、环境Agent等, ComAgent={CarAgent, LightAgent, …}。

这些Agent在系统内通过CommuAgent进行通信, 互相作用, 构成SIMAM动态运行过程。SIMAM的体系结构如图1所示, 主要从整体结构上来描述MAS, 反映系统的整体行为和各个Agent之间的交互。

2 基于FSM的驾驶员与信号灯Agent建模

2.1有限状态机

有限状态机是1种反应式建模方法, 可定义为:

1) 对象具有有限种不同状态, 这些状态可以用集合{ Si (第i 个状态) | i=1, 2, …, n} 表示。

2) 对象在任一时刻只能处于其中的1种状态, 并执行此状态中规定的行为动作。

3) 存在规则集合{Ri|i=1, 2, …, n} , 其中任一规则Ri都和至少1种状态相关, 并且可以使其中1个状态转换到另1种状态。规则的集合可以看作推理机 (reasoning engine) 。

4) 发生状态转换时往往伴随特定的行为动作。

由定义可以看出, 有限状态机原理非常适合于基于规则的逻辑判断与决策选择, 并在此基础上实现智能的行为。

基于多Agent的交通建模仿真中, 驾驶员Agent的行为决策和选择是最为重要的部分。以往研究一般把Agent的决策过程进行分层, 多分为战略层与战术层等[7], 这样逻辑上比较清晰, 但对于模型实现不方便。车辆在行驶的过程中, 在某一时刻车辆总处于有限种状态中的某个状态中, 如加速状态、减速状态等, 驾驶员Agent根据周围环境不断地作出判断并进行决策选择, 这些过程都遵循基于规则的判断逻辑, 由FSM定义可以看出, FSM具有结构清晰简单、逻辑关系明确、系统实现相对容易等优点, 用FSM的方法可以高效地实现Agent的行为选择机制。

因此, 利用FSM理论, 把Agent分层逻辑结构进行延伸扩展, 把每1层对应成1个FSM中的推理机, 每个Agent所包含的若干推理机在生命期内并行运行。每个推理机中包含若干状态, 1个推理机在某一时刻只能处于1种状态, 如驾驶员Agent的跟驰、加速、减速、换道等状态, 信号灯的红黄绿状态等等, 在每种状态中可以执行若干动作, 体现Agent在此状态的行为;并且每个Agent根据自身当前状态和所感知的周围环境, 根据状态转换规则来决策是否进行状态迁移转换。下面以信号交叉口内的驾驶员Agent和信号灯Agent为例进行说明, 信号交叉口示意图如图2所示。

2.2驾驶员Agent建模

下面给出驾驶员Agent的定义及各个状态, 状态主要包括进入加速状态的转换规则以及加速状态中采取的行为。

定义2 驾驶员Agent可定义为1个4元 组:CarAgent={Id, Knowledge, Variables, Reasoning Engines}。Id为CarAgent的惟一标识;Knowledge为驾驶员的知识, 经验等表示;Variables是CarAgent内部变量, 标识Agent静态或动态属性等;Reasoning Engines为CarAgent内部的若干推理机, 体现驾驶员的判断决策和行为。

推理机可定义成:Reasoning Engine={P, S, R, Perceive, Next}, 其中:

P为CarAgent的内部状态变量;

S为CarAgent的若干状态;

Perceive为EP;感知外部环境, 改变内部状态变量;

Next 为S×R×PS;当前状态根据规则和状态变量, 进行状态转换。

其中状态可表示为:

S= {Entry Actions, Actions, Exit Actions}, 其中:

Entry Actions, 进入1个状态时要执行的行为动作;

Actions, 处于1个状态中要执行的若干行为动作;

Exit Actions, 离开1个状态时要执行的行为动作。

在CarAgent里主要有2个推理机:推理机1、2, 前者主要根据感知当前的环境, 按照既定的转换规则进行状态的转换, 如加减速、换道、对信号灯作出反应等;后者根据前者设定的速度及方向进行运动, 并对信息作出反应。 推理机1的结构及各种状态如图3所示。

图3中间菱形是决策节点, 其他为各个状态节点。决策节点与各个状态节点间的连线表示规则, 如图3所示, 从状态节点到决策节点的连线规则都为“真”, 说明不论驾驶员Agent处于何种状态, 在每个仿真步长都会不断进入到决策节点进行判断, 当判断某个规则为真时, 就启动转换规则进入对应的状态。虚线规则是指没有其他规则为真时, 启动这个规则为真。

如上所述, 驾驶员Agent的行为决策和选择是基于Agent交通仿真的关键部分, 下面利用命题逻辑对驾驶员Agent典型状态的转换规则及行为作出描述。

1) 加速状态转换规则及状态行为。

加速状态转换规则:

RandomBool (value) ∧ (my_Limited_Speed> my_Current_Speed) ∧ (isNull (Direction, Radius, Angle, CarAgent) ) {[ ( (isRed ) ∨ (isOrange?) ) ∧ (isNull (Direction, Radius, Angle, CarAgent) ) ∧ (0< Distance_To_StopLine <Distance_ReactOn_Light) ]}

my_Limited_Speed为驾驶员Agent的期望速度, my_Current_Speed为当前行驶速度, isNull用来判断在规定角度方向一定距离内是否有另外CarAgent, 最后1个子命题用来判断车辆在红灯或黄灯期期间在本车前方没有其他车辆的情况下是否处于停车线前与信号灯发生作用的距离内, 若此子命题为真则车辆也不应加速;另外RandomBool (value) 用来表达CarAgent采取多大概率进行加速运动, value取值与车辆所在位置、状态以及接收的当前信息有关。上面的转换规则说明驾驶员Agent当车辆当前速度小于期望速度, 在规定的判断范围内没有其他车辆, 并且车辆到停车线距离大于对信号灯反应的临界距离情况下, 驾驶员将以一定的概率进行加速状态, 执行加速状态中加速行为动作, 具体如下:

行为动作: 根据环境采取加速行为。

Action1: (SpeedUp (a1) ) ;

Action2: (If ( (my_Current_Speed>my_Limited_Speed) )

Then ( (my_Current_Speed== my_Limited_Speed) )

其中a为加速度, 取值并非恒定, 与CarAgent类型、属性、当前速度等状态有关。

2) 减速状态转换规则及状态行为。

转换规则:

( ( (isΝull (Direction, Radius_To_ReactOn_Cars_InFront, Angle, CarAgent) ) ) ) ({[ (isRed ) ∨ (isOrange?) ) ∧ (isNull (Direction, Radius, Angle, CarAgent) ) ∧ (0<Distance_To_StopLine<Distance_ReactOn_Light) ]}

第1个子命题用来判断在规定的方向和角度范围内是否有其他CarAgent, 第2个子命题表示车辆没有在红黄灯期间行驶到停车线前, 2a个命题都为真时, 起动减速规则为真进入减速状态。红灯期间车辆在停车线前一定距离范围内时, 应该进入到达停车线状态准备停车。

行为动作:

Action1: (SpeedDown (a2) ) ;

Action2: (If ( (my_Current_Speed<0) ;

Then ( (my_Current_Speed==0) ) 。

其中:a2为减速度, 取值根据判断环境结合实际采集数据来确定。

3) 换道或超车状态转换规则及状态行为。

换道超车规则:

RandomBool (value) ∧ (isNull (Direction, Radius, Angle, CarAgent, My_Current_Lane, Targetlane) ∧ (Distance_To_StopLine>Distance_To_NoChangeLane)

此转换规则的含义是若车辆处于允许换道车道, 本车道及目标车道一定范围内没有其他车辆, 并且车辆距交叉口停车线距离大于不能换道距离时, 以一定的概率启动换道规则进行换道。

行为动作:

Action1:ChangeDirectionTo (Angle1) , 首先改变车头偏角;

Action2:Move (a换) , 以换道加速度a换进行换道过程, 在Reasoning Engine2中执行;

Action3:ChangeDirectionTo (Angle2) , 驶入目标车道后, 改变车头偏角, 换道完成。

以上动作描述了换道的具体行为过程。

4) 到达停车线状态规则与状态行为。

转换规则:

( ( (isRed?) ∨ (isOrange?) ) ∧ (isNull (Direction, Radius, Angle, CarAgent) ) ∧ (0< Distance_To_StopLine < Distance_ReactOn_Light) )

若此刻红灯或者黄灯, 前方没有其他车辆, 并且距离停车线距离小于与前方车辆发生作用距离, 那么此时驾驶员只关注前方停车线, 此时启动规则, 减速停车。

行为动作:

Action1: SpeedDown (a3) ;

Action2: (If ( (my_Current_Speed<0)

Then ( (my_Current_Speed==0) )

其中:a3为停车减速度。

5) 交叉口内部状态规则及状态行为。

规则: (distancetoTrafficlightsStop<0)

当车辆越过停车线后, 启动规则进入交叉口内部状态行为。

Action1:ChangeDirection (angle) ;

Action2:Move () 。

根据车辆转向的不同, angle取不同角度, 再现车辆按照一定的角度进行转弯。

推理机2主要在CarAgent开始时进行路径的选择, 然后在推理机1给出的方向和速度下进行运动。行驶过程中, 可以接收各种信息, 来改变Agent内部的状态变量, 需要重新设定路径时, 启动路径改变规则为真进行路径的选择。在Agent的生命期内, 不断进行结束的判定, 若满足结束规则, 则这个Agent生命结束。具体如图4所示, 其中信息接收状态中五角星表明这个状态是与运动状态并行状态, 接收信息不占用运动状态资源。

2.3信号灯Agent模型

信号灯Agent在红、黄、绿3种状态之间进行转换, 转换规则根据具体的控制策略来实现, 为简单起见, 信号灯转换规则及状态动作如表1。

模型实现

利用FSM对驾驶员Agent与信号灯Agent建立模型, 便于对每个Agent进行模块化开发实现, 现以CarAgent为例给出1种基于FSM的实现框架。

实现框架可分为CarAgent类、若干状态类以及1个State纯虚类, 每个状态模块都是单独1个类, 继承于State纯虚类, State类包含进入、退出状态和在状态中的动作方法。CarAgent类包含1个State类型指针p_mCurrentState, 1个Update () 方法和ChangeState () 方法, CarAgent生成以后, 首先取得p_mCurrentState所指向的当前状态, 然后不断执行Update () 方法, 调用所在状态执行动作Execute () 方法, 在动作中, 不仅执行所在状态动作, 也不断进行状态转换规则判断, 若满足条件, 调用CarAgent中的ChangeState () 方法, 把新状态的指针赋给p_mCurrentState, CarAgent转入新的状态执行。具体如图5图所示。

可以看出, 每个状态都是独立的模块, 具有它的更新逻辑、转换逻辑以及进入和退出事件的特殊代码, 即把状态转换规则嵌入到状态本身内部, 由每个状态本身来判断时候进行状态转换。这样便于进行模块化系统开发。

为了验证实验系统有效性, 对上海曹安路-嘉松北路交叉口的运行进行了交通调查, 获得了实际交通运行数据, 作为系统的输入运行实验系统, 获得的实验输出数据与实际交通系统数据如表2所列。

实验结果显示, 根据实测的交通流量, 仿真系统偏差不超过6.24%;实际的平均延误误差约为3%, 而平均停车次数的误差小于8%, 结果显示了实验系统的有效性与有用性。根据大量采集的数据, 按照以上的转换规则对Agent模型进行参数的标定, 会进一步的提高模型的有效性及可用性。

结论及展望

本文针对信号交叉口这个交通系统内特定的区域, 利用FSM理论以及人工智能中的多Agent技术进行了模型建立, 并给出了实现框架。主要研究成果如下:

1) 针对信息环境下信号交叉口动态、并行和智能性等特点, 建立系统的多Agent模型, 对信号灯Agent和驾驶员Agent基于FSM建立模型, 并对各个状态的转换给出规则, 能很好地反映Agent的各个状态和状态的转换。

2) 基于FSM建立Agent模型, 各个状态间的转换可根据实际情况灵活的改变规则, 并能依据有关驾驶员行为研究理论以及实际采集的大量数据, 对驾驶员对各类信息影响下的反应进行建模, 提炼各种规则, 反应出实际交通系统内不同类型驾驶员的差异以及各类驾驶员在不同情况下对不同信息的反应。

3) 实现模块化强, 扩展方便。各个状态模块独立, 添加新的状态十分方便, 状态转换规则也可改变;另外把信号交叉口多Agent进行扩展即可构成区域的多Agent交通仿真系统。

本文将在以上基础上, 在以下方面继续进行研究:

1) 根据实际采集的大量数据, 建立数据库和知识库, 增强Agent的学习能力, 利用机器学习和知识工程等人工智能理论和技术, 制定出更加符合实际情况的规则, 通过规则的改变以及规则内相关参数的调整和标定, 使系统运行各项指标符合实际交通系统。

2) 把系统与动态实时采集的实际数据相连接, 建立Online-Agent系统, 并扩展系统为几个信号交叉口, 可以不同控制模型算法进行各种“试验”和“实验”。

3) 依据对驾驶员在各种信息条件下的研究理论, 制定Agent的各种反应规则, 反复进行“试验”和“实验”, 取得大量数据进行分析处理, 发现系统“涌现”出的规律, 把实验交通工程学的研究推向深入。

参考文献

[1]杨晓光, 孙剑.面向ITS的交通仿真实验系统[J].长沙理工大学学报, 2006, 3 (3) :43-48

[2]储浩, 杨晓光, 朱彤, 等.基于智能车路系统的交叉口主动交通安全技术研究[J].交通与计算机, 2008, 4 (26) :135-139

[3]Rossetti R J F, Bampi S, Liu R H, et al.An A-gent-based framework for the assessment of drivers’decision-making[C]//Intelligent TransportationSystems, 2000 Proceedings, 2000 IEEE.Dearborn:2000

[4]Ehlert P A, MRothkrantz L J M.Microscopic traf-fic simulation with reactive driving Agents[C]//In-telligent Transportation Systems, 2001 Proceedings, Oakland:IEEE, 2001

[5]Wei Y, Han Y, Fan B.In Agent-oriented urbantraffic micro simulation system[C]//IndustrialTechnology, 2008 ICIT, 2008 IEEE InternationalConference on.Chengdu:Sichuan University, 2008

[6]于泉, 石建军, 荣建, 等.基于Agent的交通流微观仿真系统框架研究[J].计算机仿真, 2006, 23 (1) :210-214

相关文章
把字句变被字句

把字句变被字句

把字句变被字句(精选8篇)把字句变被字句 第1篇一 “把字句”和“被字句”的组成部分。1、“把字句”的基本格式是“谁把谁怎么样”。其...

1
2025-09-16
爸爸的那些事-作文

爸爸的那些事-作文

爸爸的那些事-作文(精选14篇)爸爸的那些事-作文 第1篇爸爸,那些事作文催他:快起来啊快起来,一切都在我意料之中, 朋友说我是个念旧的...

1
2025-09-16
部门依法行政工作浅谈

部门依法行政工作浅谈

部门依法行政工作浅谈(精选12篇)部门依法行政工作浅谈 第1篇浅谈运管部门依法行政的重要意义依法治国,建设社会主义法治国家,是我国的...

1
2025-09-16
八年级思品备课组计划

八年级思品备课组计划

八年级思品备课组计划(精选13篇)八年级思品备课组计划 第1篇七年级《道德与法治》(上册)备课组工作计划周东辉一、指导思想:认真贯彻...

1
2025-09-16
被巡察党组织汇报材料

被巡察党组织汇报材料

被巡察党组织汇报材料(精选4篇)被巡察党组织汇报材料 第1篇被巡察党组织工作汇报材料(2018提纲)被巡察党组织工作情况汇报(20**提纲)(年...

1
2025-09-16
班级风采展初步计划

班级风采展初步计划

班级风采展初步计划(精选13篇)班级风采展初步计划 第1篇班级风采展活动计划班级风采展是一项能够很好展示各专业班级独特精神风貌的活动...

1
2025-09-16
冰箱行业市场调研报告

冰箱行业市场调研报告

冰箱行业市场调研报告(精选6篇)冰箱行业市场调研报告 第1篇市场背景1、“三农”政策自从今年3月14日人大正式通过,今年为“三农”安排的...

1
2025-09-16
便利店开业活动

便利店开业活动

便利店开业活动(精选8篇)便利店开业活动 第1篇便利店开业活动方案便利店开业是经营开始的第一步,作为经营者一定要做一个全面、周密的开...

1
2025-09-16
付费阅读
确认删除?
回到顶部