摘要: 通過人工神經網絡,實現了短道速滑仿真系統中智能體(agent)的決策過程。將智能體的當前狀態作為神經網絡的輸入,智能體要采取的動作作為神經網絡的輸出,從而實現智能體的決策。神經網絡的訓練采用有監督學習的誤差反向傳播(Back Propagation)算法,樣本采集自仿真系統運行時使用者的輸入。通過所述方法,能夠保證智能體在高速的比賽過程中較少犯規,并可以達到在體能受限的情況下取得較優秀成績的目的,還能夠模擬某一特定運動員的滑行特性和決策習慣。
關鍵詞:
中圖分類號: TP18 文獻標識碼:A 文章編號:2095-2163(2011)01-0028-05
0引言
短道速滑技戰術仿真系統為短道速滑運動員提供一個可在計算機上進行比賽對抗的平臺,以達到對不同戰術的可行性研究以及與國外高水平運動員模擬比賽的目的。
在該仿真系統中,智能體的任務就是模擬短道速滑運動員在比賽中產生類人決策,并與人為控制的運動員進行對抗,達到使用戶體驗到與高水平運動員競技的目標。所以,智能體決策的優劣直接影響到該系統的仿真性,特別是短道速滑運動是一種節奏快、速度高、對決策要求準確的體育項目,更加要求智能體在決策過程中不僅要盡可能地不犯規、不出錯,而且要能夠體現出決策的個體差異性,即不同的智能體在應對同一種情況時產生的決策是不同的。所以,智能體決策過程首先要保證運動員能夠完成比賽;其次,能夠實現不同的運動員在比賽過程中有各自的滑行特性和決策習慣。
對于智能體決策過程的研究思想和方法大致分為四類,如表1所示。其中,符號主義通過一定的邏輯規則,對特定的符號信息進行處理;聯結主義試圖構造類似于人腦活動機理的網絡來模擬智能;演化主義以生物界優勝劣汰的進化過程為參照,通過對編碼的類似自然選擇的計算來達到智能模擬;行為主義的目標則是能夠建造可自主發揮作用、有生命周期的計算實體[1]。
對于短道速滑仿真系統中的智能體決策,如果采取有限狀態機或者決策樹等方法計算智能體的決策,由于受到邏輯規則的限制,雖然能夠通過制定準確的邏輯規則實現智能體完成比賽的目的,但邏輯規則變更難度大,從而使得:其一,無法達到不同運動員在決策上的差異性的要求;其二,無法改進已有的決策過程或生成新的決策方案。而人工神經網絡則不僅可以通過對樣本的訓練使得智能體能夠按照樣本的滑行方式完成比賽,還能夠通過不同的運動員擁有不同的神經網絡權值實現決策的差異性;同時,本系統的訓練樣本可以通過實際比賽時記錄人的操作實現,不僅可以將人的表現建立到智能體中,還能不斷改進已有的決策方案或生成新的決策方案。多agent系統中的反應式agent允許agent通過處理當前的瞬時信息獲得決策方案,非常符合短道速滑這種速度高、變化快的體育運動中智能體的設計[2-3]。
因此,本文中智能體的決策過程將行為主義和聯結主義兩種智能模擬方法相結合,參考多agent系統中的反應式agent設計智能體的決策模型,使用具有學習能力的神經網絡實現智能體的決策過程。從而讓不同的運動員通過擁有自己的神經網絡而體現出差異性,并且在系統的使用中,神經網絡還可以通過用戶的使用情況而不斷優化。
1人工神經網絡概述
人工神經網絡通過模仿生物神經網絡系統的行為特征,實現了從樣例中學習出一種能夠從輸入向輸出映射的函數。神經網絡的本質是通過給定的權值改變規則和訓練樣本,不斷修正系統中神經元之間的連接強度,直到達到所需精度。
反向傳播(BP)算法是訓練神經網絡權值最常用的方法。該算法利用輸出層誤差來估計前導層的誤差,并修改前導層的權值,然后再用前導層的誤差估計更前一層的誤差并修改權值,如此下去,就形成了信號從輸入層向輸出層傳播,而誤差則沿反方向逐級向輸入層傳播的過程[4]。但BP算法存在收斂速度慢,易陷入局部極小的缺點。由于訓練樣本易得,本文采用BP算法來訓練神經網絡的權值,并引入每一輪訓練之前將樣本順序打亂、根據誤差改變量的大小調節學習速率、增加動量項等方式以避免BP算法陷于局部極小解[5]。
2智能體決策過程的設計
智能體的決策過程就是智能體在一定的輸入下,計算出在當前輸入下的一個輸出,即為決策。
2.1決策過程模型
本文的智能體采用反應式agent設計[6],如圖1所示。首先,智能體感知周圍環境,獲得自身狀態和周圍環境的情況,然后,根據自己已有的知識存儲通過一定的計算方法對獲得的信息進行分析推理,最后將計算結果作為決策輸出。
作為智能體決策過程的輸入,自身狀態與周圍環境的輸入不僅要體現出智能體當前的特性、具有較高的區分度,還要盡可能地簡化,使智能體可能處于的狀態不至于因為太多而使系統的性能下降。對于短道速滑比賽中的智能體,輸入內容主要包括自身狀態和前方運動員情況兩類信息。其中,自身狀態包括當前位置、速度大小、身體朝向、名次、完成圈數、剩余體能;前方運動員情況應包括前方運動員與自己的速度關系、距離關系和位置關系。
作為智能體決策過程的輸出,在本文中為智能體在比賽過程中可能采用的動作,包括直道動作、彎道動作、加減速情況以及向前滑行的方向。
對于反應式agent系統模型中的知識存儲與分析推理,可理解為輸入向輸出的映射過程,其中,輸入為感知周圍環境所獲得的狀態集合,輸出為計算得到的動作集合,如圖2所示,智能體感知到當前狀態為Si,通過分析推理,得到在狀態下Si應該選擇動作Aj才是最優的決策。
神經網絡的一個強大能力就是封裝一個將輸入映射到輸出的非線性函數,這恰恰符合決策模型中對于知識存儲和分析推理的要求。因而,本文決策模型中的感知環境就是神經網絡的輸入,知識存儲就是神經網絡的權值,推理過程就是前向的神經網絡計算,決策輸出就是神經網絡的計算結果。
2.2神經網絡的設計
根據決策模型的設計,將神經網絡設計為有監督學習的神經網絡。設計思路是:首先,用戶模擬某一特定運動員進行滑行,系統記錄下滑行過程中用戶所控制的運動員的狀態和此狀態下所采取的決策,此數據即為神經網絡的學習樣本;然后,系統通過神經網絡的訓練程序以學習樣本為輸入得到神經網絡的權值;最后,將此訓練好的神經網絡作為該運動員的專屬神經網絡,從而達到模擬此特定運動員的滑行特性和決策習慣的目標,如圖3所示[7]。
2.2.1神經網絡的組成單元
在決策過程模型的設計中,神經網絡的輸入包含多個非線性變化的輸入,因此,在文中選擇能夠接收非線性函數輸入且應用廣泛的sigmoid單元,如圖4所示。系統對輸入進行了歸一化操作,以適應sigmoid單元的輸入要求。
2.2.2神經網絡的輸入
根據智能體的決策過程設計中所述模型,神經網絡的輸入要包含以下信息:智能體的位置、速度、身體朝向、名次、完成圈數、剩余體能、前方運動員與自己的速度關系、距離大小和位置關系。
(1)智能體的位置和身體朝向
對于智能體的位置描述為三元組?邀x, y, z?妖,即智能體在3D空間中的坐標。由于短道速滑所處的冰面為y平面,智能體的位置變化僅僅體現在x坐標和z坐標上,所以把x和z作為神經網絡的輸入以表示智能體的位置信息。
身體朝向為單位向量?邀x,y,z?妖。同位置信息一樣,向量中的y值始終為0,所以,將x和z作為神經網絡的輸入。
(2)速度大小、剩余體能和名次、完成圈數
速度與剩余體能為智能體的身體狀態屬性,在比賽過程中隨相應的函數呈非線性變化。名次和完成圈數是智能體在比賽中的比賽屬性,取值為整數,且以階躍函數的形式變化。四個屬性都以自身的數值作為神經網絡的輸入。
(3)前方運動員的情況
對于智能體前方運動員的情況,主要考慮以下三個因素:與前一名運動員的速度差、相對距離大小以及距離的方向,其中表示距離方向需要x和z兩個參數。
所以,神經網絡的輸入向量包括12個元素,分別為:位置的x坐標和z坐標、速度大小、身體朝向向量中的x和z、剩余體能、完成圈數、與前一名運動員的速度差、與前一名運動員的距離大小、與前一名運動員的距離向量中的x和z,如圖5中輸入層所示。
2.2.3神經網絡的隱藏層
由于具有單隱藏層的前饋網絡可以映射所有的連續函數,而當需要學習不連續函數時,具有兩層隱藏層的神經網絡則更合適。本系統的神經網絡輸入不僅包含連續的輸入(如位置、速度等),還包含不連續的輸入(如名次、完成圈數等),所以,將神經網絡的隱藏層設計成兩層。
根據第一層隱藏層的節點個數為輸入層節點個數的兩倍,第二層的節點個數小于第一層的節點個數且不能整除第一層節點數的設計習慣,將第一層隱藏層的節點個數設為24個,將第二層隱藏層的節點個數設為11個,如圖5所示。
2.2.4神經網絡的輸出
智能體的輸出即為智能體所能采取的動作集合中的一項。在短道速滑仿真系統中,智能體所能采取的動作主要包括直道與彎道動作、保持速度、加速、減速、沿原方向前進、左轉、右轉。
根據智能體所能采取的動作集合,將神經網絡的輸出向量定義為:是否采取轉彎動作、是否加速、是否減速、是否左轉、是否右轉,如圖5中輸出層所示。
2.3反向傳播(BP)算法的應用
BP算法的樣本來自于比賽過程中實時獲得的人控運動員的狀態和對應的輸入,然后對輸入樣本進行迭代計算,便可以得到用于智能體計算決策的神經網絡權值。將此權值應用于智能體計算決策的過程中,將當前的瞬時狀態作為輸入,同時采用BP算法中前向計算的方法計算神經網絡的輸出,便可以得到當前狀態的決策。
3實驗及結果分析
根據對短道速滑中智能體決策過程的設計,在所設計的短道速滑技戰術仿真系統上進行了實驗。首先,通過平臺采集訓練樣本,通過BP算法訓練神經網絡的權值。然后,將訓練后得到的神經網絡權值應用于智能體的決策過程中,實現通過神經網絡控制的智能體。實驗結果主要考察三個方面,一是基本智能性,二是高級智能性,三是決策差異性。
3.1神經網絡訓練樣本的采集
為了樣本采集更接近于實際情況,首先開發了一個決策樹算法,用來實現基本的智能體控制。在樣本采集過程(比賽對抗)中,與人為控制的運動員進行比賽。同時,系統以幀為單位,采集人為控制的運動員每幀所處的狀態以及對應的輸入作為樣本中的一項。
在本次實驗中,以500米比賽為例,制作了激進和保守兩種不同滑行策略的智能體,每個智能體運動員的樣本采集均通過作者手動控制的形式與決策樹算法驅動的智能體進行比賽來實現。采集激進滑行策略的運動員樣本時,作者控制的運動員總是想爭奪第一的位置,只要前方有人,就想方設法超越。采集保守滑行策略的運動員樣本時,作者控制的運動員一直處于跟隨滑行的狀態,僅僅在比賽還有最后一圈時,才采取加速超越的策略,分布情況如表2所示。
3.2基本智能性
基本智能性主要考察智能體的路線選擇能力,包括向目標點滑行,直道彎道動作的切換時機、躲避前方運動員。在實驗中,將評價路線選擇好壞的標準定為整個滑行過程中的出界次數和碰撞次數。
考察基本智能性的方式是人控運動員、決策樹算法控制的智能體、神經網絡中激進策略控制的智能體和保守策略控制的智能體同時進行500米比賽,最終通過比賽后的犯規統計,判斷不同算法在基本智能性上的優劣,如表3所示。其中,實驗結果來自于50場500米比賽的賽后犯規情況(出界次數和碰撞次數)統計的總和。
由表3可知,在基本智能性上,由于決策樹的決策過程取決于其邏輯規則的定制,而在短道速滑比賽中,邏輯規則的定義相對較簡單且完備,從實驗結果上可以看出,決策樹在基本智能性上的表現甚至好于人工控制的運動員,其中的4次出界,也是由于比賽中其他運動員對其的碰撞導致的。人工神經網絡的實驗結果相比于決策樹略差,特別是在出界方面。一個主要原因是神經網絡控制的運動員在進彎道之前剛剛完成超越或還在超越中,導致轉彎時情況復雜,轉彎算法難以控制,出現出界情況。但總的來說,保守策略的神經網絡的犯規統計與人為控制比較接近,符合智能體盡量不犯規的目標,激進策略的智能體由于經常采取超越動作,滑行路線不夠穩定,導致出界次數較多,需要改進。
3.3高級智能性
高級智能性是指智能體在能保證不犯規(不出界、 不撞人)的情況下,可以根據自身的體能狀況,合理地選擇滑行策略,從而達到體能利用最優,比賽成績最好的目標。所以,高級智能性的評價標準包括比賽結束時的剩余體能情況和比賽成績。測試高級智能型的實驗和測試基本智能性的實驗為一組實驗,且四個運動員在比賽中的身體素質屬性一致,實驗結果如表4所示。
從表4中可以看出,決策樹控制的智能體剩余體能較多、成績較差,這主要是因為在決策樹的規則中,設定的智能體的巡航速度恰好為滑完全程剩余體能為10%的速度,即使由于超越和領滑時會多消耗體能而使最終的剩余體能略低于10%。這也恰恰體現了決策樹算法在控制智能體上由于本身邏輯規則的限制而不靈活的缺點。相反,從實驗結果中可以看出,神經網絡在靈活性上要遠遠好于決策樹算法,比賽結束時的剩余體能較少、成績也較好。這主要取決于在獲得神經網絡的訓練樣本時,就按照規定的滑行策略,以將體能恰好用完為滑行目標來進行比賽,導致訓練好的神經網絡在控制智能體時,會綜合考慮位置、體能、完成圈數和前方運動員的情況做出一個與訓練樣本中類似的決策。
3.4決策差異性
決策差異性就是不同的智能體運動員在比賽中會采用各自的滑行特性和決策習慣,在對于基本智能性和高級智能性的實驗中,已經能看出一些智能體運動員的決策差異性。在本節中,采用在比賽中每一圈結束時各個運動員的名次來考察在應用神經網絡作為決策過程的智能體在決策上的差異如圖6和圖7所示。其中,圖6中為一場人工控制運動員采用稍微保守的滑行策略滑行的典型比賽,圖7為一場人工控制的運動員采用稍微激進的滑行策略滑行的典型比賽。從圖中可以看出,采用激進戰術的運動員的名次變化較為明顯,這是因為該運動員一直試圖超越前方運動員;采用保守滑行策略的運動員在前期的名次變化不明顯,在比賽后期較為明顯,這是因為比賽前期,該運動員以跟滑為主,后期才開始發力超越。其次,可以從圖中總結出,如果人工控制運動員采用保守戰術,則在體能較好的情況下,采用激進戰術的智能體較為占優勢,因為該智能體可以在取得領先位置后,憑借體能優勢保持住自己的領先優勢。另一方面,如果人工控制運動員采用激進戰術,則采用保守策略的智能體更可能贏得比賽,這是因為在前期的比賽中,激進智能體和人工控制運動員為爭奪領先而耗費了大量體力,使得在比賽后期,保守運動員可以憑借體能優勢超越前方運動員率先到達終點。
4結束語
實驗結果表明,在基本智能性上,人工神經網絡表現稍差,出界次數較多,主要原因是造成出界的狀態在訓練樣本中較少出現,以至于學習過程中無法提供給智能體足夠的先驗知識。這個缺點可以通過在場地彎道的邊界處設計一面不可見的墻阻擋運動員出界,并同時帶來減速效果來彌補。其次,在高級智能性和決策差異性上,人工神經網絡控制的智能體符合預期,不僅達到了在體能限制的情況下爭取最好成績的目標,還使不同的智能體具有各自的滑行特性和決策習慣。本文所述方法已經運用于短道速滑技戰術仿真系統的智能體決策過程中。
參考文獻:
[1] 梁義芝,劉云飛. 智能模擬及其實現[C]//2000中國控制與決策 學術年會論文集,2000:334-337.
[2] LESSER V R. Reflections on the Nature of Multi-Agent Co- ordination and Its Implications for an Agent Architecture[J]. A- utonomous Agents and Multi - Agent Systems, 1998,1.
[3] 饒東寧,蔣志華,姜云飛. 多agent規劃綜述[J]. 計算機應用研 究,2011,28(3):801-804.
[4] 戚德虎,康繼昌. BP神經網絡的設計[J]. 計算機工程與設計, 1998,19(2):48-50.
[5] 張芳芳,賀娟,李明軍. 基于導數優化的BP學習算法的研究綜 述[J]. 計算機應用研究,2009,26(3):809-813.
[6] COLLINS P. Technology for teams: the use of agent technolo- gy for self-organisation[J]. AI & SOCIETY, 2004,18.
[7] 布偉光,何中市,高靜. 無監督神經網絡在游戲中的應用研究 -解決游戲中的障礙物繞行問題[J].計算機工程與應用,2008,44(16):90-93.