基於 robocup 機器人足球模擬2D的多主體動態不可測問題
1 相關背景
1.1 智慧 Agent
Agent的概念最早可以追溯到1977年由Heiwitt提出的演員模型,在該模型中給出了一些“演員”——一一組具有知我包含、相互作用和並行執行的物件。以後的研究中又把Agent看成一個具有特別技能的個體。後來又提出軟體Agent的概念,認為Agent是具有自主性和協作性的實體,它能夠幫助使用者完成一定的額任務。還有研究者認為Agent是駐留在某一環境下能夠持續、自主發揮作用,滿足任務/目標驅動性、社會性、主動性等特徵的計算主體。
1.2多Agent系統(MAS)
MAS的研究歷史最早可以追溯到80年代中期的Actors規劃模型,而MAS的協作求解問題的能力超過單個的Agent是MAS產生的最直接原因,導致MAS研究逐漸興起的其他演員還包括:與已有系統或軟體的互操作,求解那些資料、能力和控制具有分佈特性的問題以及提高系統的效率和魯棒性等;與單個Agent相比,MAS具有以下特點:每個成員Agent僅擁有不完全的資訊和問題求解能力(故其觀點是有限的),不存在全域性控制,資料是分散或分佈的,計算過程是非同步、併發或並行的。
1.3 MAS與Robocup
在第15屆國際人工智慧聯合大會上,由Kitano,Veloso和Tambe等來自美、日、瑞典的9位國際著名或知名學者聯合發表論文“The RoboCup synthetic agent challenge 97”系統闡述了機器人足球的研究意義、目標、階段設想、近期主要內容和評價原則。概括的說,過去50年終人工智慧研究的主要問題是“單主體靜態可預測環境中的問題求解”,其標準問題是國際象棋人-機對抗賽;未來50年中,人工智慧的主要問題是“多主體動態不可測環境中的問題求解”,其標準問題是足球的機-機對抗賽和人-機對抗賽。從科學研究的觀點看,無論是現實世界中的智慧機器人或機器人團隊(如家用機器人和軍用機器人團隊),還是網路空間中的軟體自主體(如用於網路計算和電子商務的各種自主軟體以及他們組成的“聯盟”),都可以抽象為具有自主性、社會性、反應性和能動性的“自主體”(agent).由這些自主體以及相關的人構成的多主體動態系統(multi-agent systems),是未來物理和資訊世界的一個縮影。其基本問題是主體(包括人)之間的協調,可細分為自主體設計、多主體體系結構、自主體合作和通訊、自動推理、規劃、機器學習與知識獲取、認識建模、系統生態和進化等一系列專題。值得注意的是,上述一系列問題中的大多數都在機器人足球中得到了集中的體現。在這個意義下,將機器人足球作為未來人工智慧和機器人研究的標準問題是十分恰當的;這主要是由於機器人足球具有以下特點:
(1)典型性。如上所述,RoboCup機器人足球隊的研製涉及當前人工智慧研究的大多數主要熱點,因而構成一個典型問題。
(2)可行性。多主體系統的絕大多數實際背景非常複雜,以至於研究人員在目前的條件下難以把握,無法兼顧具體細節分析與基本問題探索。而在機器人足球中則較易兼顧二者,易於深入。
(3)客觀性。比賽提供了一種實驗平臺和評價各種理論與技術的客觀方法,便於研究者的“自我觀察”和相互交流
(4)綜合性。在以往的研究中,各種技術通常被分別開發和觀察,綜合整合工作一般由面向終端使用者的應用部門來完成,這種方式不利於相關技術在更高層次上的銜接和在更深層次上的創新。機器人足球是第一個深層的“綜合平臺”。
綜上,因此在世界上,開展機器人研究是人工智慧從基礎理論走向實際應用的一個戰略性步驟。
1.4 多主體動態不可測問題定義
多主體動態不可測是指多個主體在相互完全獨立的條件下,通過協作完成指定的目標和任務。這是一種動態過程,需要考慮多個主體意識態度之間的互動和協作能力。而每一個主體的最基本特性包含反應、自主\自制、面向目標和社會,及其他應用情況下可以擁有的其他特性。這是一種多主體在合作中通過協同效應完成指定任務。採用基於對robocup機器人模擬2D多年的實踐研究和發展,對多主體動態不可測問題進行部分深入探究。
2 多主體協商
2.1 基於robocup機器人模擬2D的多主體協商
多主體協商是MAS實現協同、協作、衝突消解和矛盾處理的關鍵環節,基於robocup機器人模擬2D,在多主體協商方面,主要包括協商演算法和系統分析兩個部分內容。協商演算法用於描述Agent在協商過程中的行為,包括通訊、決策、規劃和知識庫操作等。系統分析的任務是分析和評價Agent協商的行為和效能,回答協商過程中的求解質量、演算法效率以及系統的公平性和死鎖等問題。
2.2 基於robocup機器人模擬2D的協商演算法
協商演算法用於描述Agent在協商過程中的行為,包括通訊、決策、規劃和知識庫操作等。比如在模擬2D比賽中,每個Agent會根據其不同的世界模型,選擇不同的技術動作(Figure 1)。在個人技術決策的基礎上,再通過多Agent相互協作,實現一個策略性目標。
Figure. 1
2.2 基於robocup機器人模擬2D的系統分析
模擬組比賽採用Soccer Server[1]作為一個標準比賽平臺(Figure 2)。Soccer Server是一個允許競爭者使用支援UDP/IP的任務程式語言進行模擬足球比賽的系統,整個系統按照100毫秒的週轉運轉,比賽以Client/Server方式進行。Server,提供了一個虛擬的足球場地,並對比賽雙方的全部隊員和足球的移動進行模擬。Client,相當於球員的大腦,指揮球員的運動,每個Client控制一個球員。Server和Client之間的通訊是通過UDP/IP協議進行的。通過這種方式,Server向Client傳送有關的賽場資訊(如視覺、聽覺資訊等),Client端通過對這些資訊進行分析,產生相應的控制指令,併發送到Server,以控制相應的隊員。要贏得一場足球比賽,單靠個人能力是不可能的,必須有全體隊員的相互配合與協作;同樣,要提高一個多主體系統的效能也需要各個主體之間的協調與配合。而這就需要研究者在這套平臺上設計自己的球隊,用以評價各種理論、演算法及策略的可能性。
figure.2
例如在目標點價值評判:
將帶球目標點定義為最大價值點(Valuemax ) ,當 Agent 帶球至此目標點後就會選擇其他技術動作 (如傳球、 射門) ; 而對於每個點價值 ( Value ) 的計算 , 我們利用的是以下公式:
Value =Value pos +Value pass
Value pos 表示各個點的位置價值,即根據距對方球門距離遠近(比如距離對方球門越近Value pos 越大) 、對方防守程度(防守越密集Value pos 越小)等情況計算;對於一個點的位置價值評判存在著諸多因素,具體的必要因素如表 (1) 所示。當然在實際中還存在一些其他的細小因素,但這些因素一般對位置價值的評判影響不大,可以在計算過程中不予考慮。
figure. 3
Value pass 表示各個點的傳球價值,即在把球帶到此點後將球傳給其他隊友後得到的收益,傳球收益在傳球模組中予以評價。
對於Value pos和Value pass 的具體計算利用的是基於價值的學習方法,可經過對球隊的多次訓練逐漸求得。與一般的學習演算法一樣,訓練時間越長,對最大價值點的計算就越準確,帶球效果也就越好。
在實際比賽中,由於比賽是實時的,並且各週期的世界模型不同,因此最大價值點即帶球目標點可能會出現抖動,也就是說,當前週期計算出的最大價值點與上週期(或之前)的最大價值點不同。而由於 turn 命令和 dash 命令不能同時傳送給 Server ,而且 Agent 會受慣性因素影響,在改變前進方向時需要額外花費一些時間。為了解決這個問題,當計算出本週期最大價值點時與上週期(之前)最大價值點不同時,將上週期(之前)計算出的最大價值點的價值乘以一個大於 1 的係數,以確保最大價值點儘可能的穩定,使 Agent 儘量朝它原本前進的方向帶球前進。
(瞭解更多詳情,可以和我交流,大家一起學習)