靳種寶
(南京郵電大學 自動化學院 南京 210003)
多智能體系統(tǒng)[1](MAS,Multi-Agent System)是由多個相互對立作用的自治智能體形成的集合,研究的重點在于智能體間的交互,即智能體為了完成一個相同的目標而協(xié)調(diào)多個智能體的行為,以最大程度地實現(xiàn)系統(tǒng)的總體目標。RoboCup(The Robot Soccer World Cup)機器人足球仿真系統(tǒng)[2]是一個典型的多智能體系統(tǒng),其提供了一個實時異步、有噪聲的對抗環(huán)境,為研究多智能體間協(xié)作提供了一個標準平臺。在這種環(huán)境下,為了贏得比賽,除了需要單個智能體有快速的反應能力,更需要為多個智能體間制定靈活的協(xié)作策略來進行有效的球隊協(xié)作,從而完成整支球隊比賽任務。
本文研究RoboCup中已有的多智能體間協(xié)作方法[3-7],通過球員協(xié)作射門來提出在一定區(qū)域中利用陣型中控球球員來組織協(xié)作,邀請范圍內(nèi)球員進行協(xié)作配合,并動態(tài)進行協(xié)作角色分配,來解決整體設計協(xié)作策略的靈活性問題,實現(xiàn)區(qū)域球員間的靈活協(xié)作,從而協(xié)作完成指定目標任務。
2D仿真足球比賽平臺是一個由11個多智能體協(xié)作完成進球從而贏得比賽的任務。但是,由于每個智能體都只擁有局部的視覺信息,執(zhí)行的相關動作也只能直接影響到局部環(huán)境。如何完成全局的決策,達到多智能體間的相互配合,必須是基于一定區(qū)域的協(xié)作。基于模型的特點,可以通過陣型來對11個智能體進行比賽場地區(qū)域上的分配,使其在全場比賽中能夠執(zhí)行簡單的協(xié)作配合。
在比賽中,陣型的劃分與現(xiàn)實世界中人類足球比賽一樣,按照球員在場上的職責來定位。陣型的名稱一般以后衛(wèi)、中衛(wèi)和前鋒的人數(shù)來定義,如圖1所示的4-3-3陣型。在比賽過程中,根據(jù)環(huán)境的改變,在4-3-3陣型基礎上對一定區(qū)域中的球員位置進行協(xié)調(diào)變動。
角色的概念代表一個球員在比賽中承擔的責任,如前鋒、后衛(wèi)、守門員等。根據(jù)球員在場上的位置,定義11個球員在場上的位置按照4-3-3陣型分為11種基本角色屬性,如圖1所示。每個角色球員根據(jù)自己所處球場位置有不同的角色狀態(tài)。
圖1 4-3-3陣型、球員角色和區(qū)域劃分
為了更好地配合陣型來區(qū)分場上不同區(qū)域,會依據(jù)球在場上的位置及對己方的影響將球場分為若干區(qū)域。這里本文將球場按照長度分為4類:Defense、Mid_def、Mid_off和Offense;按照寬度分為Side_L、Mid和Side_ R等3類,如圖1粗黑線所框區(qū)域。Defense和Mid_def區(qū)域表示防守區(qū)域,位于己方半場;Offense與Mid_off區(qū)域表示進攻區(qū)域,位于對方半場;Side_L與Side_R為球場左、右翼區(qū)域,Mid為球場中間區(qū)域。由此,按照長度和寬度分類可以將球場劃為12個區(qū)域。本文中的射門區(qū)域定義為位于對方半場Offense區(qū)域和Mid區(qū)域的重合部分,如圖1的陰影部分。
多智能體的協(xié)作主要就是對多智能體行為的管理,以實現(xiàn)智能體策略的選擇和行為的輸出。如何避免需要過多的信息和嚴格的條件來組織一次有效的協(xié)作策略是RoboCup機器人足球仿真環(huán)境下多智能體間協(xié)作的難點?;陉囆蛥^(qū)域球員自組織、動態(tài)角色分配的協(xié)作方法可以自發(fā)地為一次協(xié)作來安排協(xié)作角色,使角色球員能夠針對當前的環(huán)境快速進行策略選擇,促進多智能體協(xié)作的實現(xiàn)。
動態(tài)角色分配是在協(xié)作方法建立后,根據(jù)陣型及基本角色來將協(xié)作中的球員分配為某種協(xié)作角色,并且指導協(xié)作動作。這樣分配的角色會根據(jù)協(xié)作方法的不同而執(zhí)行不同的協(xié)作動作,但目的都是為了協(xié)作更好的實現(xiàn)。
該協(xié)作方法的處理結構如圖2所示,分為2個階段:(a)根據(jù)當前陣型中控球球員的位置區(qū)域得出區(qū)域狀態(tài),建立觸發(fā)點區(qū)域狀態(tài)信息;(b)建立控球球員區(qū)域內(nèi)球員信息集合,由控球球員發(fā)出協(xié)作邀請建立協(xié)作關系,分配協(xié)作角色,得出協(xié)作動作集合,最后輸出智能體協(xié)作動作,實現(xiàn)多智能體協(xié)作。
在第一階段中,根據(jù)球的位置和己方成功控球的幾率大小來判斷當前己方是處于進攻比賽狀態(tài)還是防守比賽狀態(tài),從而建立有效的區(qū)域狀態(tài)信息,為協(xié)作目的給予指導。第二階段中,根據(jù)區(qū)域狀態(tài)信息和協(xié)作目的,由控球球員組織陣型區(qū)域中球員建立協(xié)作關系,分配協(xié)作角色并指導角色動作,實現(xiàn)球員協(xié)作。
圖2 協(xié)作方法流程
根據(jù)陣型區(qū)域內(nèi)的球員自組織實現(xiàn)一次有效的協(xié)作射門。在協(xié)作方法的實現(xiàn)前,必須要對智能體的當前狀態(tài)和行為進行處理,為后續(xù)協(xié)作提供有利的信息。
RoboCup仿真比賽是一個復雜、動態(tài)的多智能體環(huán)境,有許多種可能的狀態(tài),每個球員都與之對應的一組特征狀態(tài)。將這些特征狀態(tài)分為以下幾類來對球員狀態(tài)進行描述:
(1)區(qū)域位置類S
該類用來描述球或球員智能體位于比賽場地的特定區(qū)域。設S為整個球場區(qū)域的集合:
S={Defense(Side_L、Mid、Side_R), Mid_def(Side_L、Mid、Side_R), …}
球員在不同區(qū)域活動時有不同的動作選擇。
(2)速度類V
對球員智能體和球的運動速度特征定義如下:
V={當前球員智能體是靜止still、在移動{速度v,方向d},球是靜止still、在移動{速度v,方向d},…}
(3)區(qū)域位置球員類P
該類用來描述在當前控球球員區(qū)域類己方球員和對方球員的狀態(tài)信息集合,定義如下:
P={區(qū)域中己方球員數(shù)num_TM,己方球員狀態(tài)集{TM1,TM2,…},區(qū)域中對方球員數(shù)num_OPP,對方球員狀態(tài)集{OPP1,OPP2,…}}
在RoboCup這樣一個復雜的多智能體環(huán)境中,一般使用多個特征狀態(tài)來對智能體當前的運動狀態(tài)進行描述。
在一場足球比賽中,有效的進攻是球隊取勝的關鍵,很難想象一個球員在己方后場帶球到對方禁區(qū)最終實現(xiàn)射門進球。RoboCup仿真環(huán)境與真實環(huán)境一樣,球隊必須通過有組織的協(xié)作,才能完成射門進球得分這個目標任務。下面通過右翼邊路進攻協(xié)作射門方法為實例,說明使用陣型和動態(tài)角色分配的協(xié)作方法建立球員間協(xié)作過程。
當11號右前鋒控球至對方底線后,比賽陣型將會伴隨11號球員移動向?qū)Ψ桨雸?,在射門區(qū)域?qū)屑悍疥爢T中鋒7號、前鋒9號和10號,而距離11號球員附近的球員會有中鋒7號和前鋒9號,對方球員數(shù)量及位置,這些信息將會以智能體的狀態(tài)集F由11號球員組織起來并建立協(xié)作方法,以實現(xiàn)快速協(xié)作射門。整個協(xié)作過程如圖3所示。
上述的協(xié)作過程具體描述如下:
圖3 11號球員右翼協(xié)作射門方法過程
(1)己方11號控球隊員,進行協(xié)作決策,獲取與其相關的隊友及對方球員的策略信息:射門區(qū)域內(nèi)己方和對方球員區(qū)域位置狀態(tài)、速度狀態(tài)以及自身附近己方與對方球員區(qū)域位置狀態(tài)、速度狀態(tài),建立協(xié)作目的——射門得分,組織協(xié)作方法并對球員角色進行分配:11號控球入禁區(qū),10號球員前插吸引對方后衛(wèi),9號球員前插判斷有效射門位置,7號球員入禁區(qū)協(xié)助11號控球;
(2)11號帶球入禁區(qū),同時協(xié)作球員執(zhí)行相關動作;
(3)11號球員帶球一段時間后,會被對方后衛(wèi)緊逼,因此,傳球給位置點很好并且周圍沒有對方后衛(wèi)的9號隊友;
(4)當9號接到傳球以后,9號隊員尋找一條合適的射門路徑,然后成功射門得分,至此整個協(xié)作過程結束。
以上過程用偽代碼表示如表1所示。
表1 右翼11號前鋒協(xié)作射門方法流程
為了驗證提出的基于陣型和動態(tài)角色分配的協(xié)作射門方法的合理性及有效性,將其應用于Apollo2D仿真球隊中,在歷年參加RoboCup仿真比賽的球隊中挑選了一些不同風格的球隊作為對抗球隊,根據(jù)比賽中射門情況來評估其方法的整體性能。表2給出了部分比賽結果。
表2 射門協(xié)作方法的比賽結果
由 表2中 數(shù) 據(jù) 可 知, 除 了 與WrghtEagle_09、HELIOS_08這樣的國內(nèi)外強隊的對抗中的比賽結果不是很理想外,其余的比賽結果還是比較好的,在整個比賽中球隊進攻時具有較高的協(xié)作水平和射門成功率,整體上來看,達到了預期的協(xié)作目的。
[1] Jiming Liu.多智能體原理與技術[M]. 靳小龍,張世武,Jiming Liu 譯. 北京:清華大學出版社, 2003.
[2] 李實,徐旭明,葉榛,等.機器人足球仿真比賽的Server 模型[J].系統(tǒng)仿真學報,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.