靳种宝
(南京邮电大学 自动化学院 南京 210003)
多智能体系统[1](MAS,Multi-Agent System)是由多个相互对立作用的自治智能体形成的集合,研究的重点在于智能体间的交互,即智能体为了完成一个相同的目标而协调多个智能体的行为,以最大程度地实现系统的总体目标。RoboCup(The Robot Soccer World Cup)机器人足球仿真系统[2]是一个典型的多智能体系统,其提供了一个实时异步、有噪声的对抗环境,为研究多智能体间协作提供了一个标准平台。在这种环境下,为了赢得比赛,除了需要单个智能体有快速的反应能力,更需要为多个智能体间制定灵活的协作策略来进行有效的球队协作,从而完成整支球队比赛任务。
本文研究RoboCup中已有的多智能体间协作方法[3-7],通过球员协作射门来提出在一定区域中利用阵型中控球球员来组织协作,邀请范围内球员进行协作配合,并动态进行协作角色分配,来解决整体设计协作策略的灵活性问题,实现区域球员间的灵活协作,从而协作完成指定目标任务。
2D仿真足球比赛平台是一个由11个多智能体协作完成进球从而赢得比赛的任务。但是,由于每个智能体都只拥有局部的视觉信息,执行的相关动作也只能直接影响到局部环境。如何完成全局的决策,达到多智能体间的相互配合,必须是基于一定区域的协作。基于模型的特点,可以通过阵型来对11个智能体进行比赛场地区域上的分配,使其在全场比赛中能够执行简单的协作配合。
在比赛中,阵型的划分与现实世界中人类足球比赛一样,按照球员在场上的职责来定位。阵型的名称一般以后卫、中卫和前锋的人数来定义,如图1所示的4-3-3阵型。在比赛过程中,根据环境的改变,在4-3-3阵型基础上对一定区域中的球员位置进行协调变动。
角色的概念代表一个球员在比赛中承担的责任,如前锋、后卫、守门员等。根据球员在场上的位置,定义11个球员在场上的位置按照4-3-3阵型分为11种基本角色属性,如图1所示。每个角色球员根据自己所处球场位置有不同的角色状态。
图1 4-3-3阵型、球员角色和区域划分
为了更好地配合阵型来区分场上不同区域,会依据球在场上的位置及对己方的影响将球场分为若干区域。这里本文将球场按照长度分为4类:Defense、Mid_def、Mid_off和Offense;按照宽度分为Side_L、Mid和Side_ R等3类,如图1粗黑线所框区域。Defense和Mid_def区域表示防守区域,位于己方半场;Offense与Mid_off区域表示进攻区域,位于对方半场;Side_L与Side_R为球场左、右翼区域,Mid为球场中间区域。由此,按照长度和宽度分类可以将球场划为12个区域。本文中的射门区域定义为位于对方半场Offense区域和Mid区域的重合部分,如图1的阴影部分。
多智能体的协作主要就是对多智能体行为的管理,以实现智能体策略的选择和行为的输出。如何避免需要过多的信息和严格的条件来组织一次有效的协作策略是RoboCup机器人足球仿真环境下多智能体间协作的难点。基于阵型区域球员自组织、动态角色分配的协作方法可以自发地为一次协作来安排协作角色,使角色球员能够针对当前的环境快速进行策略选择,促进多智能体协作的实现。
动态角色分配是在协作方法建立后,根据阵型及基本角色来将协作中的球员分配为某种协作角色,并且指导协作动作。这样分配的角色会根据协作方法的不同而执行不同的协作动作,但目的都是为了协作更好的实现。
该协作方法的处理结构如图2所示,分为2个阶段:(a)根据当前阵型中控球球员的位置区域得出区域状态,建立触发点区域状态信息;(b)建立控球球员区域内球员信息集合,由控球球员发出协作邀请建立协作关系,分配协作角色,得出协作动作集合,最后输出智能体协作动作,实现多智能体协作。
在第一阶段中,根据球的位置和己方成功控球的几率大小来判断当前己方是处于进攻比赛状态还是防守比赛状态,从而建立有效的区域状态信息,为协作目的给予指导。第二阶段中,根据区域状态信息和协作目的,由控球球员组织阵型区域中球员建立协作关系,分配协作角色并指导角色动作,实现球员协作。
图2 协作方法流程
根据阵型区域内的球员自组织实现一次有效的协作射门。在协作方法的实现前,必须要对智能体的当前状态和行为进行处理,为后续协作提供有利的信息。
RoboCup仿真比赛是一个复杂、动态的多智能体环境,有许多种可能的状态,每个球员都与之对应的一组特征状态。将这些特征状态分为以下几类来对球员状态进行描述:
(1)区域位置类S
该类用来描述球或球员智能体位于比赛场地的特定区域。设S为整个球场区域的集合:
S={Defense(Side_L、Mid、Side_R), Mid_def(Side_L、Mid、Side_R), …}
球员在不同区域活动时有不同的动作选择。
(2)速度类V
对球员智能体和球的运动速度特征定义如下:
V={当前球员智能体是静止still、在移动{速度v,方向d},球是静止still、在移动{速度v,方向d},…}
(3)区域位置球员类P
该类用来描述在当前控球球员区域类己方球员和对方球员的状态信息集合,定义如下:
P={区域中己方球员数num_TM,己方球员状态集{TM1,TM2,…},区域中对方球员数num_OPP,对方球员状态集{OPP1,OPP2,…}}
在RoboCup这样一个复杂的多智能体环境中,一般使用多个特征状态来对智能体当前的运动状态进行描述。
在一场足球比赛中,有效的进攻是球队取胜的关键,很难想象一个球员在己方后场带球到对方禁区最终实现射门进球。RoboCup仿真环境与真实环境一样,球队必须通过有组织的协作,才能完成射门进球得分这个目标任务。下面通过右翼边路进攻协作射门方法为实例,说明使用阵型和动态角色分配的协作方法建立球员间协作过程。
当11号右前锋控球至对方底线后,比赛阵型将会伴随11号球员移动向对方半场,在射门区域将会有己方队员中锋7号、前锋9号和10号,而距离11号球员附近的球员会有中锋7号和前锋9号,对方球员数量及位置,这些信息将会以智能体的状态集F由11号球员组织起来并建立协作方法,以实现快速协作射门。整个协作过程如图3所示。
上述的协作过程具体描述如下:
图3 11号球员右翼协作射门方法过程
(1)己方11号控球队员,进行协作决策,获取与其相关的队友及对方球员的策略信息:射门区域内己方和对方球员区域位置状态、速度状态以及自身附近己方与对方球员区域位置状态、速度状态,建立协作目的——射门得分,组织协作方法并对球员角色进行分配:11号控球入禁区,10号球员前插吸引对方后卫,9号球员前插判断有效射门位置,7号球员入禁区协助11号控球;
(2)11号带球入禁区,同时协作球员执行相关动作;
(3)11号球员带球一段时间后,会被对方后卫紧逼,因此,传球给位置点很好并且周围没有对方后卫的9号队友;
(4)当9号接到传球以后,9号队员寻找一条合适的射门路径,然后成功射门得分,至此整个协作过程结束。
以上过程用伪代码表示如表1所示。
表1 右翼11号前锋协作射门方法流程
为了验证提出的基于阵型和动态角色分配的协作射门方法的合理性及有效性,将其应用于Apollo2D仿真球队中,在历年参加RoboCup仿真比赛的球队中挑选了一些不同风格的球队作为对抗球队,根据比赛中射门情况来评估其方法的整体性能。表2给出了部分比赛结果。
表2 射门协作方法的比赛结果
由 表2中 数 据 可 知, 除 了 与WrghtEagle_09、HELIOS_08这样的国内外强队的对抗中的比赛结果不是很理想外,其余的比赛结果还是比较好的,在整个比赛中球队进攻时具有较高的协作水平和射门成功率,整体上来看,达到了预期的协作目的。
[1] Jiming Liu.多智能体原理与技术[M]. 靳小龙,张世武,Jiming Liu 译. 北京:清华大学出版社, 2003.
[2] 李实,徐旭明,叶榛,等.机器人足球仿真比赛的Server 模型[J].系统仿真学报,2000,12(2):37-39.
[3] Snasel, V.,Martinovic, J,Kozusznik, J.Strategy Description and Modelling for Multi-agent Systems[J]. Computer Information Systems and Industrial Management Applications, 2008. CISIM '08. 7th, 2008: 50-55.
[4] Sng, H.L.,Sen Gupta, G.,Messom, C.H.Strategy for collaboration in robot soccer. Electronic Design[J]. Test and Applications, 2002. Proceedings. The First IEEE International Workshop on. 2002: 347-351.
[5] Weihua Sun, Qingshan Li, He Liu, Lei Wang, Shaojie Mao, Yuping Li.A Scripted-Control Integration Strategy in Multiagent System. Artificial Intelligence and Computational Intelligence[R], 2009. AICI '09. International Conference on,2009: 263-267.
[6] Dimopoulos, Y, Moraitis, P. Multi-Agent Coordination and Cooperation through Classical Planning[R].Intelligent Agent Technology, 2006. IAT '06. IEEE/WIC/ACM International Conference on,2006:398-402.
[7] Yuanzhi Wang, Fei Zhang, Liwei Chen, Guosheng Hu, Shanhe Jiang. A Collaborative Learning System Based on Multiagent[C]. Advanced Language Processing and Web Information Technology, 2008. ALPIT '08. International Conference on. 2008: 353 -357.
[8] RoboCup Soccer Server manual for Soccer Server 7.07 and later.2003.2.28.