中国科技论文在线
http://www.paper.edu.cn
基于 JADE 的兵棋推演系统研究#
刘转,李德华,李清光**
(华中科技大学自动化学院,武汉 430074)
10
5 摘要:针对传统兵棋推演系统在缺乏描述复杂系统的能力,以及缺乏对动态环境的行为建模
能 力 的 缺 点 , 本 文 构 建 一 个 基 于 JADE 的 兵 棋 推 演 系 统 。 该 系 统 将 多 智 能 体 系 统
(Multi-Agent-System,MAS)与兵棋推演系统(War Game Simulation,WGS)结合起来,
构建了基于 MAS 的兵棋推演的一般模型,深入研究了系统整体结构和其中关键的智能体
(Agent)的内部结构。通过解决推演过程中的代表问题之一的兵力目标分配这个问题,阐
述了 Agent 之间的协调模型,并利用蚁群算法思想对其解决。最后采用流行的 Agent 仿真框
架 JADE(Java Agent DEvelopment framework)对上述模型进行仿真模拟。
关键词:多智能体;兵棋推演;JADE;蚁群算法
中图分类号:TP182
15
War Game Simulation Based on JADE
Liu Zhuan, Li Dehua, Li Qingguang
(Automation School, Huazhong University of Science and Technology, Wuhan 430074)
Abstract: As the War Game has limitations in describing complex system and dynamic
environment, we build a War Game System with JADE. The system combined MAS with WGS
which build a common model for WGS based on MAS. We also analyzed the structures of some
key agents of the model. We also explained the coordination between agents by solving the
solider-assign problem with ACO. In the last part of paper, we simulated the model by JADE,
which proved the possibility of using MAS in WGS.
Key words: MAS; WGS; JADE; ACO
20
25
0 引言
多智能体技术 MAS 由于其独特的适应复杂系统的性质,已经引起了计算机仿真兵棋研
究人员的重视,国外在已有多款比较成熟的基于 MAS 的兵棋推演系统:ISAAC、EINSTein、
30
MANA 等。
MAS 应用于兵棋仿真推演,需要兼顾兵棋推演系统和多智能体系统两方面因素。对于
兵棋推演系统,作战算子、规则、地图、人机交互界面等都是其重要的组成部分。对于 MAS,
则需要考虑到 MAS 和单个 Agent 的特性以及多个 Agent 之间的协调和冲突问题。本文中就
此提出了基于 MAS 兵棋推演系统模型。
35
1 基于 MAS 的兵棋推演模型
Agent 是一种在分布系统或者协作系统中能够持续自主发挥作用的计算机实体。目前,
Agent 已经应用到了计算机科学技术、人工智能、模式识别等许多领域。业界内的共识中,
Agent 应该具有以下特征:自治性(Autonomy)、社会性(Sociality)、反应性(Reactivity)、
能动性(Pre-activeness)。
40
我们将这样由多个 Agent 组成的系统称为多智能体系统(Multi Agent System,MAS)。
基金项目:教育部博士点基金(No. 20120142120025),留学归国人员基金(46 批)资助
作者简介:刘转(1988-),男,硕士研究生,模式识别与智能系统
通信联系人:李清光(1975-),男,讲师,计算机视觉,机器学习,复杂系统与网络,兵棋推演. E-mail:
qg_li@hust.edu.cn
- 1 -
中国科技论文在线
http://www.paper.edu.cn
多智能体系统方法吸取了分布式人工智能理论,提供了解决复杂问题的分而治之的方法,能
够解决规模庞大,结构复杂的问题。
兵棋是通过运用大量的数学方法,对战争的各项因素进行抽象,进而进行推演,将战争
的过程演化为数学模型。在兵棋推演的过程中,各种图形、文字、符号等等信息,分别代表
45
着兵棋中的各种因素,比如地形、人员、武器等等,这些都是兵棋的基本构成。
1.1 基于 MAS 的兵棋推演总体结构
兵棋中的几个主要的元素:作战算子、兵棋规则、想定、地图等等。结合多智能体的特
征,抽象设计如下几个 Agent[1]:普通作战兵力智能体(soliderAgent)、作战指挥智能体
(chiefAgent)、战场环境智能体(battleFieldAgent),作为本文中基于 MAS 的兵棋推演系
50
统中 Agent 的基本组成。
本文将作战算子 Agent 分为为两类,一类作为普通作战兵力智能体(soliderAgent),
是推演作战的基本单元,进行基本的战场任务执行,另一类是作战指挥智能体(chiefAgent),
被赋予分队指挥职能角色,在 soliderAgent 之上,可以根据战场当前的信息,判断决定整个
分队下一步意图。
55
除作战智能体以外,系统中还需要战场环境智能体(battleFieldAgent)提供其他 Agent
提出的战场信息查询要求,提供战场情况。
上述三种智能体之间的结构如下图 1 所示[2] [3]:
60
65
图 1 基于 MAS 的兵棋推演结构示意图
Fig.1 structure of WGS based on MAS
图 1 中,S 代表 soliderAgent、C 代表 chiefAgent,图中还有 battleAgent、数据库、规则
库。其中实线表示 Agent 信息交互,箭头表示 Agent 的隶属关系。每个 chiefAgent 有若干个
下属 soliderAgent,组成分队编制。多个 chiefAgent、soliderAgent 以及 battleFieldAgent、数
据库和规则库组成整个系统。在系统中,不同 Agent 之间可以相互通信,交流信息[4],同时
可以访问规则库、数据库,进行数据的存储和读取。
- 2 -
BattleFieldAgentCSSCCCSSSSSSSSSSS数据库规则库
中国科技论文在线
1.2 智能体的内部结构
http://www.paper.edu.cn
普通作战兵力 soliderAgent 在目标分配模型中充当基本的作战算子的角色,可以承载基
础任务,包括机动任务、侦察任务、攻击任务等等。soliderAgent 在接受 chiefAgent 下达的
70
作战任务后,存储进任务队列,随后会按照任务的优先级执行,并返回执行结果。经过抽象
设计的 soliderAgent,应该拥有以下特性: 属性模块、机动模块、侦查模块、攻击和判定模
块、通信模块
作战指挥智能体 chiefAgent,是作战分队的指挥智能体。作战分队中各个作战 Agent 严
格遵守上级指挥 Agent 命令,分队整体执行群体作战任务[5]。这里建立的是分队的上下级形
式组织模型,如下图 2 所示
75
图 2 智能体之间的形式组织
Fig.2 organization in Agents
80
chiefAgent 在目标分配模型中负责对当前战场态势进行分析,以发现需要执行的任务,
并且对任务进行分配,这其中包括敌方目标的汇总、作战任务指派等等。
战场环境智能体 battleFieldAgent 负责在推演期间向其他 Agent 提供作战需要的环境资
源等。这里包括包括坐标、地形、道路、障碍、海空域以及相关的环境规则等。battleFieldAgent
包括以下模块:地图模块、地形信息模块、机动信息模块、侦查信息模块。
85
2 基于 MAS 的兵棋推演在目标分配中的应用
本文选兵力打击分配作为方向,在上述模型的基础上,深入研究基于 MAS 的兵棋推演
模型中的目标分配问题。
2.1 目标分配的数学模型建立
目标分配问题是指在兵棋推演规则的框架内,己方的作战单元选择合适的敌方作战单元
90
进行火力打击,以期歼灭敌人,同时要求最大程度保存己方作战单元的生存能力,其实质上
就是一个多目标求得最优解的问题。
为了方便描述,引入以下符号:
假 设 第 i 个 分 队 指 挥 chiefAgent , 其 有 m 个 下 属 的 soliderAgent , 故
,其中 Saij 表示第 i 个 chiefAgent 属下的第 j 个 soliderAgent。
95
对于 Saij,其对应敌方算子 Enemy 的打击能力
,其中
Da 指代 Saij 在对敌方作战单元 Ea 进行打击后的打击效果;其受到对应敌方打击是损毁风险
- 3 -
全局指挥层局部指挥层作战单元层1{,,S,,}iiijimCaSaaSa1{,,,,}akDefenceDDD
中国科技论文在线
http://www.paper.edu.cn
,其中 Oa 指代 Saij 在受到 Ea 反击后的损毁风险。
Saij 通过侦查任务发现的敌方作战单元列表为:
,其中 Ei 表示
敌方的第 i 个作战单元编号,其中
。当前 Saij 选中的目标是 Ec(
100
则 Plan 表示对应我方的 Agent 分配的敌方作战单元目标的方案,
其中 Pi 表示我方的分队 Cai 的下属 soliderAgent 分配的目标集合,即
),
,
。
作战效果的评估包括两方面,己方对敌方的打击效果评估,以及敌方对己方的反击风险
效果评估。
定义 1 目标分配最佳解是分配攻击的全部目标的打击效果和最大。
105
(4-1)
其中 Dij 表示当前己方算子 Saij 选择目标后对敌方有效打击效果值。
定义 2 兵力分配最佳解是遭受敌方算子目标威胁程度和最小。
其中 Oij 表示当前己方算子 Saij 选择目标后敌方对其的损毁风险值。
定义 3 目标分配最优解由当前的作战意图决定
110
(4-2)
(4-3)
根据当前的态势情况,可以选择进攻或是防御,故其中 d 表示进攻系数因子,o 表示防
御系数因子。
定义 4 约束条件错误!未找到引用源。:
115
1)每个己方兵力算子不能同时攻击两个及其以上目标;
2)每个敌方单元遭受两次以上攻击,只判定攻击值最高的一次,其余忽略;
3)每个己方兵力算子只能攻击自己侦查发现的敌方单元,不能侦查到的敌方单元无法打击
和被打击。
1)敌方单元只对攻击其的 Agent 产生打击风险;
120
2)每个敌方单元只能对我方一个 Agent 产生打击风险;
3)未受到我方 Agent 攻击的敌方单元择机对我方 Agent 产生打击风险。
2.2 目标分配过程中的智能体协调模型
由上述定义 4 中的约束条件可知,每个 soliderAgent 只能选择一个敌方作为目标,且同
一个敌方目标在遭受多次打击之后,只计算打击效果最好的一次。由于智能体可以侦察到相
125
同的目标,会造成多个 Agent 之间重复攻击同一个目标,造火力的浪费,因此需要多个 Agent
相互协调,以取得最好的打击效果和最小的风险。
2.2.1 蚁群算法应用于解决协调问题
蚁群算法是模拟蚂蚁群体行为产生的一种仿生算法,蚂蚁执行任务的过程就是一种相互
协调合作的过程。
130
在蚁群算法中的每只蚂蚁,依靠路径遗留的信息素,结合启发函数,继而通过计算转移
概率,确定下一步的移动方向。这点同样可以借鉴应用于智能体的目标确定上。类似于蚂蚁,
- 4 -
1{,,,,}akOffenceOOORe{,,}ijabconEE1,1akbk1ck1{,,,,}inPlanPPP{,,,,}iabcPEEE11()maxnmDijijfPD11()minnmOijijfPO()()()DOfEPdfEPofEP
中国科技论文在线
http://www.paper.edu.cn
Agent 在多个目标之间选择匹配,一次迭代完成后,就得到一组分配目标的方案。每选择一
次,就能得到一组解。智能体可以类似于蚂蚁,通过目标的信息素,结合启发函数,求得不
同的目标选择概率。
135
每 个 soliderAgent 对 侦 查 的 目 标 集 合
, 设 定 信 息 素 列 表
启发函数根据当前选择目标后的打击效果和损毁威胁效果的反比而定,公式如下:
。
(4-6)
Di 表示当前 soliderAgent 选中的目标对应的打击能力,Oi 表示当前 soliderAgent 选中的
目标对应的防御风险值;Dj 表示当前 soliderAgent 下一步可能选中的目标的打击能力,Oj
表示当前 soliderAgent 下一步可能选中的目标的防御风险值。μ=0 表示当前目标已经被其他
140
soliderAgent 锁定,μ=1 表示当前目标可被选定。
目标选择概率是由信息素浓度,启发函数共同决定的,其计算函数公式如下:
(4-8)
145
其中,j 表示当前的 soliderAgent 可以选中作为目标的 j 个敌方作战单元。 α 表示信息
素启发式因子,β 表示期望启发式因子。所以,α 越大,该目标更易选择被大众选择。β 越
大,说明 soliderAgent 受到的启发更大,倾向于更直观的优劣比较。
每次迭代开始,根据 τa,结合启发函数 η,计算转移概率 p,Saij 选择其最大的 p 作为目
标,与其他 Agent 进行交流。如果当前目标已被其他 Agent 锁定,则选择次小的 p 作为目标,
150
直到选择合适的 E,将决定的目标上报 chiefAgent。
在每次迭代结束后,根据分配方案得到的分队打击效果
和分队损毁风险值
,对 τi 进行更新,以便下一次迭代开始前选择。
2.2.2 目标分配的组合方案之间 Pareto 关系
155
160
多目标问题不存在绝对的最优解,所以通过比较解之间的 Pareto 关系来判断解的优劣。
比较新旧两个方案的攻击效果和威胁效果之间的关系,即 Pareto 关系:
假设方案 A 和方案 B 的目标组合分别是 Pa 和 Pb,通过目标分配评估模型,得到 Pa 的打
击效果评估和风险效果评估分别是 DSa 和 OSa,Pb 的打击效果评估和风险效果评估分别是
DSb 和 OSb。根据当前作战意图,可以将 Pa 和 Pb 的 Pareto 关系定义如下:
当前作战意图为攻击意图时:
(1)DSa>DSb && OSa
DSb && OSa>OSb || DSaOSb,则 Pb 支配 Pa。
当前作战意图为防守意图时:
- 5 -
Re{,,}ijabconEE{,,}iabpherSoliderjiji() other ()0 D>D||O中国科技论文在线
http://www.paper.edu.cn
165
(1)DSa>DSb && OSaDSb && OSa>OSb || DSaOSb,则 Pa 支配 Pb。
2.2.3 信息素更新
随着时间的推移,新的信息素不断增加,如果不对信息素进行稀释处理,其就会越来积
累越多,从而对智能体的选择产生影响,会令其陷入局部最优。所以需要对信息素进行更新,
170
使旧的信息素逐渐淡化,甚至完全消失:
(4-4)
上面公式中,4-4 是 soliderAgent 在每次迭代完成后的信息素更新公式。ωmin、τmin 是 ω、
τ 的最小值,这是为了防止 ω、τ 的取值过小,进而降低了算法的整体收敛速度。
3 基于 MAS 的兵棋目标分配模型仿真
175
JADE(Java Agent Development Framework)是应用于开发多智能体系统的软件开发框
架,目的在于开发各种多智能体系统以及遵循 FIPA 标准的智能 Agent 应用程序,实现多
智能体系统间的互操作[5]。
3.1 场景假设
假设场景:假设我方有三个分队,其对应的假定参数如表 1 所示。假定共有敌方作战单
元 15 种。
180
表 1 我方编队智能体想定参数
Tab.1 Parameters of Agents
chiefAgent1
武器代号
装甲代号
5
6
15
11
2
6
9
3
5
1
8
1
chiefAgent2
武器代号
装甲代号
10
3
12
8
3
7
2
7
7
6
chiefAgent3
武器代号
装甲代号
1
8
4
11
9
6
10
5
5
6
2
8
3
2
坐标
7,7
49,23
8,21
2,40
25,3
38,9
坐标
13,12
36,48
17,20
38,28
43,21
坐标
16,25
1,20
22,41
12,1
32,46
23,22
5,11
侦查范围
4
4
4
6
6
6
侦查范围
4
4
4
6
6
侦查范围
4
4
4
6
6
6
2
下属 Agent
soliderAgent11
soliderAgent12
soliderAgent13
soliderAgent14
soliderAgent15
soliderAgent16
下属 Agent
soliderAgent21
soliderAgent22
soliderAgent23
soliderAgent24
soliderAgent25
下属 Agent
soliderAgent31
soliderAgent32
soliderAgent33
soliderAgent34
soliderAgent35
soliderAgent36
soliderAgent37
其中,武器代号和装甲代号分别对应该作战单元的武器类型和装甲类型,坐标分别表示
- 6 -
minmin(1)(1) if((1))() otherttt
中国科技论文在线
http://www.paper.edu.cn
185
为 x、y 轴,表示其在地图中的当前位置,侦查范围为当前智能体可以侦查的单位距离。
不同种武器的对敌方作战单元的打击效果表 2 所示:
表 2 己方武器对应的对敌打击效果表
Fig.2 Effects of attack
武器
敌方
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
13
21
7
23
6
19
16
20
18
13
13
23
12
19
8
19
23
17
20
11
12
18
20
15
16
16
21
11
9
18
15
14
17
11
16
9
9
15
15
24
14
17
14
10
20
11
14
9
23
9
13
18
15
19
15
11
6
13
15
15
16
19
13
12
15
12
21
18
19
12
15
16
13
23
8
18
19
9
22
14
18
11
17
16
15
15
9
15
10
9
18
13
14
20
16
16
16
14
19
24
12
13
15
18
14
15
9
9
15
16
16
18
14
16
11
13
13
20
14
12
16
7
19
17
14
14
10
18
23
9
22
23
11
11
14
12
17
15
19
14
20
20
14
16
15
18
13
8
15
6
16
9
11
8
19
11
21
10
15
16
12
16
20
6
17
7
12
21
10
17
17
14
19
22
14
25
13
11
19
9
13
13
10
6
22
13
14
14
11
17
20
17
16
14
19
20
10
14
19
16
12
13
21
16
20
22
17
18
16
7
17
14
18
16
13
19
15
15
16
14
16
13
10
11
16
190
列表示其所在列的武器对不同编号的敌方作战单元的打击效果,行表示不同编号的敌方
作战单元在受到不同的武器打击时的打击效果。
不同类型的防护在遭受打击后的损伤风险表 3 所示:
表 3 己方在遭受敌方反击的对应的损毁风险
Fig.3 Risk of being destroyed by enemy
装甲编号
敌方编号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
13
9
8
6
13
7
10
7
9
11
10
9
12
8
12
8
8
8
10
10
7
12
11
9
9
7
7
15
12
8
8
8
9
15
8
8
8
11
8
7
12
10
9
8
8
9
11
9
15
10
8
10
5
10
9
7
6
10
12
12
12
10
7
7
7
14
9
7
9
6
9
10
7
8
11
10
13
6
8
9
12
14
8
8
14
6
8
9
10
8
9
8
8
13
12
9
11
8
7
8
5
8
6
11
8
10
10
9
10
7
8
8
10
10
7
7
9
9
12
8
7
7
9
11
14
6
8
7
6
6
10
7
9
8
10
10
8
9
7
8
9
8
8
8
8
8
10
8
10
8
9
195
其中,列表示某型号装甲在对敌方作战单元打击后受到的损毁风险值,行表示不同的敌
方作战单元遭受打击后对不同型号的装甲的损毁风险值。
3.2 仿真结果和对比
仿真实验中,默认参数寻优次数 step = 150,最小信息素浓度设定为 0.001。
200
1)当目前态势决定采用防守型时,对上述的假设模型进行参数列表如下:
其中进攻因子 d=1,防守因子 o=0.1,此时 Agent 会倾向于打击效果较优,防御效果较
差的方案。
下面通过实验对信息素启发式因子 α 进行分析:
- 7 -
中国科技论文在线
http://www.paper.edu.cn
以下实验中,设置 Agent 迭代次数为 150,β=1,不同 α 和仿真得到的 Pareto 解如下表
205
4 所示:
表 4 不同 α 时的 Pareto 解
Tab.4 The Pareto solution with different α
进攻型
防守型
α
Pareto 解的个数
α
Pareto 解的个数
0
153
0
162
1
214
1
205
3
207
3
183
210
215
图 3 α=0 时的 Pareto 解集分布
Fig.3 Pareto distribution
when α=0
图 4 α=1 时的 Pareto 解集分布
Fig.4 Pareto distribution
when α=1
- 8 -