程澤凱,謝寧宇,楊思春,佘星星
(安徽工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 馬鞍山243032)
目前RoboCup仿真2D比賽項(xiàng)目中,多數(shù)球隊(duì)是基于開(kāi)源底層進(jìn)行二次開(kāi)發(fā)和優(yōu)化實(shí)現(xiàn)的,這樣,球隊(duì)的優(yōu)化效果將直接決定其比賽成績(jī)。以應(yīng)用較為廣泛的Agent2D底層為例,底層代碼約5萬(wàn)余行[1],狀態(tài)空間極其龐大,開(kāi)發(fā)者難以進(jìn)行深入優(yōu)化。針對(duì)該問(wèn)題,筆者在安徽工業(yè)大學(xué)YuShan隊(duì)的陣型策略[2-5]、球員傳球[6]以及球員跑位[7]等優(yōu)化研究基礎(chǔ)上,結(jié)合數(shù)字孿生技術(shù)[8],提出以物理層、信息層和數(shù)字孿生層為基本組成的仿真2D平臺(tái)下的數(shù)字孿生框架。其中:物理層管理球隊(duì)可執(zhí)行Binary,利用Binary執(zhí)行產(chǎn)生RCG、RCL等比賽日志文件;信息層提取日志文件基本信息加以處理,傳入數(shù)字孿生層;數(shù)字孿生層建立球員畫像,并通過(guò)反饋體系評(píng)估分析球員畫像數(shù)字特征,為Binary優(yōu)化提供指導(dǎo)。
仿真2D數(shù)字孿生框架模型圖如圖1所示。
物理層是仿真球隊(duì)所涉及的比賽活動(dòng)集合。包含球隊(duì)Binary的生成和優(yōu)化、Binary的執(zhí)行以及生成并管理相應(yīng)的RCG和RCL等日志文件。物理層將日志文件保存、獲取并提供給信息層,并且通過(guò)接收來(lái)自數(shù)字孿生層的反饋,指導(dǎo)開(kāi)發(fā)者針對(duì)性優(yōu)化Binary,實(shí)現(xiàn)新的Binary生成。
信息層是對(duì)日志文件深度解析、提取球員行為信息等活動(dòng)的集合。通過(guò)對(duì)日志文件的解析得到球員基礎(chǔ)數(shù)據(jù),并將其傳入數(shù)字孿生層。
日志文件的解析包括清洗、整合、選擇和轉(zhuǎn)換等數(shù)據(jù)處理過(guò)程。解析過(guò)程中異常數(shù)據(jù)的處理要單獨(dú)保存并回溯尋找原因。信息層通過(guò)編寫解析程序完成對(duì)球員行為信息等原生數(shù)據(jù)的解析分類并存儲(chǔ)至TXT文件或XML文件中。
圖1 仿真2D數(shù)字孿生模型框架
數(shù)字孿生層使用數(shù)據(jù)挖掘和數(shù)據(jù)分析等技術(shù)構(gòu)建球員畫像,建立反饋體系并以差異對(duì)比分析和模擬預(yù)測(cè)分析為主要手段評(píng)估球員畫像的數(shù)字特征,將具有指導(dǎo)意義的球員畫像反饋至物理層,從而方向性地指導(dǎo)球隊(duì)Binary的優(yōu)化,并最終在物理層形成新的Binary。
根據(jù)球隊(duì)優(yōu)化的實(shí)際需求、傳統(tǒng)仿真球隊(duì)數(shù)據(jù)挖掘中出現(xiàn)的問(wèn)題以及結(jié)合數(shù)字孿生框架引入實(shí)踐,筆者認(rèn)為,基于仿真2D的數(shù)字孿生關(guān)鍵性技術(shù)包括:日志文件解析、信息層處理框架、球員畫像的建立以及球員畫像的反饋等。
比賽日志文件以RCG、RCL文件為主。其中,RCG文件中包含了球員主要信息,如球員的異構(gòu)信息、狀態(tài)信息等。RCL文件中記錄了每周期服務(wù)器所接收球員指令,如裁判信息、球員動(dòng)作信息等。目前,在信息層,以Python編寫的日志解析工具(如日本Helios隊(duì)已開(kāi)源的日志分析工具等)[9]基本滿足了多樣化解析需求,增強(qiáng)了其處理能力。
比賽日志文件在信息層被處理為球員的基本數(shù)據(jù),為數(shù)字孿生層球員畫像的建立提供數(shù)據(jù)支撐。信息層從RCG以及RCL文件中提取相關(guān)信息進(jìn)行整合,形成球員行為的基本數(shù)據(jù)。比如,從RCG文件中提取球的相關(guān)信息通過(guò)與RCL文件中的踢球相關(guān)信息進(jìn)行整合,可以得出球員傳球、運(yùn)球以及持球等球員行為信息。對(duì)該信息進(jìn)行保存形成基本數(shù)據(jù),并最終通過(guò)數(shù)字孿生層形成球員畫像。
數(shù)字孿生層中通過(guò)數(shù)據(jù)挖掘等算法從日志文件中提取基礎(chǔ)數(shù)據(jù),將場(chǎng)上不同球員的特征進(jìn)行刻畫,形成球員畫像。因此,球員畫像是框架核心。它包含了能夠全面反映球員在場(chǎng)上狀態(tài)、行為等的信息特征,既有球員間協(xié)同行為特征,如球員陣型特征、球員間喊話特征以及球員間傳球特征等等;又有球員單一行為特征,如球員的射門特征、kick動(dòng)作特征以及截球特征等等。這些數(shù)字特征為球隊(duì)底層的后續(xù)優(yōu)化提供了基礎(chǔ)。
建立反饋體系是數(shù)字孿生層的關(guān)鍵。球員畫像反饋主要以兩種方式進(jìn)行:一種是差異對(duì)比反饋,即通過(guò)對(duì)不同球員畫像之間的差異性分析,將分析結(jié)果反饋至物理層指導(dǎo)優(yōu)化;另一種是模擬預(yù)測(cè)反饋。即通過(guò)選擇球員畫像中所包含的部分?jǐn)?shù)字特征,利用機(jī)器學(xué)習(xí)等算法對(duì)該特征的執(zhí)行效果進(jìn)行預(yù)測(cè)分析,將可用的數(shù)字特征反饋至物理層指導(dǎo)優(yōu)化。它包含三個(gè)模塊,如圖2所示。
圖2 模擬預(yù)測(cè)反饋示意圖
畫像管理模塊將球員畫像中所包含數(shù)字特征處理為數(shù)據(jù)集。根據(jù)需要將球員畫像保存,提取部分?jǐn)?shù)字特征并進(jìn)行處理、轉(zhuǎn)換。為了使數(shù)據(jù)集中包含情況更全面,可以將處理后的數(shù)字特征與球場(chǎng)的其他信息(主要是球的信息)相結(jié)合統(tǒng)籌考慮。最終將所生成的數(shù)據(jù)集傳入預(yù)測(cè)分析模塊。預(yù)測(cè)分析模塊使用機(jī)器學(xué)習(xí)算法對(duì)畫像管理模塊中生成的數(shù)據(jù)集進(jìn)行模擬預(yù)測(cè),并對(duì)預(yù)測(cè)結(jié)果進(jìn)行分析。如果實(shí)驗(yàn)結(jié)果良好,說(shuō)明所提取的數(shù)字特征可以指導(dǎo)球隊(duì)底層代碼優(yōu)化。反之,不能作為球隊(duì)優(yōu)化指導(dǎo)方向。
在仿真2D比賽中,球隊(duì)陣型[10]有進(jìn)攻狀態(tài)、防守狀態(tài)和轉(zhuǎn)換(中間)狀態(tài)。各個(gè)球隊(duì)在進(jìn)攻狀態(tài)及防守狀態(tài)時(shí)的陣型不一致,導(dǎo)致球員本位點(diǎn)不同。比賽中,如果球員不能正確識(shí)別攻守狀態(tài)[11],會(huì)導(dǎo)致球員本位點(diǎn)相差較大,從而造成球員跑位邏輯執(zhí)行效率降低,嚴(yán)重影響球員間協(xié)同和比賽能力。因此,球員合理地判斷攻守態(tài)在比賽中至關(guān)重要。Agent2D底層判斷攻守態(tài)的依據(jù)是球員最短截球周期,雖有其合理性,但實(shí)戰(zhàn)中由于信息噪音、命令執(zhí)行誤差、多異構(gòu)類型和隨機(jī)異構(gòu)參數(shù)等多因素影響[12],導(dǎo)致球隊(duì)攻守態(tài)判斷極易出現(xiàn)錯(cuò)誤。顯然,若要克服這種Agnet2D底層對(duì)攻守狀態(tài)判斷不準(zhǔn)確問(wèn)題,不能僅僅依靠截球周期來(lái)進(jìn)行判斷,需要找出綜合影響攻守態(tài)判斷的各種因素并加以優(yōu)化。
文中利用數(shù)字孿生框架構(gòu)建球員畫像,對(duì)球員畫像中包含的球員數(shù)字特征進(jìn)行綜合分析,從而有根據(jù)地、有針對(duì)性地為球隊(duì)攻防態(tài)準(zhǔn)確判斷擴(kuò)充優(yōu)化因素。具體實(shí)施步驟是:在物理層,通過(guò)執(zhí)行不同球隊(duì)Binary來(lái)生成大量比賽日志文件。在信息層,對(duì)球員相關(guān)數(shù)據(jù)加以解析。在數(shù)字孿生層,對(duì)球員相關(guān)數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,構(gòu)建出主要包含6個(gè)數(shù)字特征的球員畫像,即:球員最短截球周期、進(jìn)攻線位置、防守線位置、一定范圍內(nèi)(文中是以球?yàn)閳A心半徑10 m范圍)敵我雙方球員人數(shù)之比、球的位置和球的方向。由于場(chǎng)上球員眾多、形勢(shì)復(fù)雜,采集到的數(shù)據(jù)離散化后,由專家根據(jù)比賽錄像分別對(duì)進(jìn)攻狀態(tài)、防守狀態(tài)和轉(zhuǎn)換狀態(tài)數(shù)據(jù)集標(biāo)記標(biāo)簽,同相應(yīng)的數(shù)字特征結(jié)合后,形成反饋體系中數(shù)字特征數(shù)據(jù)集。
為評(píng)估以上6個(gè)數(shù)字特征的指導(dǎo)意義,采用離散型樸素貝葉斯分類器進(jìn)行預(yù)測(cè)分析。將數(shù)據(jù)集劃分為6個(gè)子集,每個(gè)子集按照7∶3比例分拆成訓(xùn)練集與測(cè)試集并進(jìn)行三組實(shí)驗(yàn),測(cè)試結(jié)果見(jiàn)表1。其中,測(cè)試集準(zhǔn)確率記為Acc1;為對(duì)抗不均衡數(shù)據(jù),將數(shù)據(jù)集隨機(jī)打亂,準(zhǔn)確率記為Acc2;數(shù)據(jù)集隨機(jī)打亂20次后,準(zhǔn)確率記為Acc3。
表1 測(cè)試準(zhǔn)確率
根據(jù)表1生成了準(zhǔn)確率折線圖,如圖3所示。
圖3 各數(shù)據(jù)測(cè)試結(jié)果折線圖
通過(guò)以上圖表,各數(shù)據(jù)測(cè)試準(zhǔn)確率穩(wěn)定在85%左右。說(shuō)明了6個(gè)數(shù)字特征,即:球的位置、方向,進(jìn)攻線、防守線的位置,最短截球周期以及球?yàn)閳A心、半徑10 m范圍內(nèi)敵我雙方球員數(shù)量之比,能夠成為球隊(duì)準(zhǔn)確判斷攻守狀態(tài)的依據(jù)特征。將以上特征反饋,為下一步球隊(duì)優(yōu)化工作提供了指導(dǎo)方向。
文中研究了RoboCup仿真2D平臺(tái)的數(shù)字孿生框架,并依托該框架為球員建立畫像,利用反饋體系指導(dǎo)球隊(duì)優(yōu)化。通過(guò)對(duì)球隊(duì)攻守態(tài)的判定優(yōu)化因素的探索,驗(yàn)證了該架構(gòu)指導(dǎo)優(yōu)化的有效性。這種2D平臺(tái)下數(shù)字孿生大規(guī)模應(yīng)用可以使球隊(duì)的博弈策略、攻守風(fēng)格、戰(zhàn)術(shù)要點(diǎn)、有效進(jìn)攻防守路線、射門等特征極大限度地被予以“畫像”,通過(guò)對(duì)其深度解析、預(yù)測(cè),為做好敵我雙方對(duì)比研究、有針對(duì)性優(yōu)化我方球隊(duì)奠定了堅(jiān)實(shí)的基礎(chǔ),從而進(jìn)一步提高我方球隊(duì)的比賽能力。
未來(lái)擬進(jìn)一步研究在信息層中引入Hadoop大數(shù)據(jù)平臺(tái),增加其數(shù)據(jù)管理效率;進(jìn)一步擴(kuò)充反饋體系要素,不僅能適應(yīng)不同情景的優(yōu)化問(wèn)題,也能對(duì)同一優(yōu)化情景進(jìn)行全方位、多角度的分析;球隊(duì)攻守態(tài)判定優(yōu)化中,嘗試?yán)冒氡O(jiān)督學(xué)習(xí)自動(dòng)標(biāo)記標(biāo)簽,降低數(shù)據(jù)采集成本,提高采集效率??傊?,一系列新技術(shù)的應(yīng)用定會(huì)促進(jìn)RoboCup仿真2D比賽的進(jìn)一步發(fā)展。