摘要:本文介紹了一項旨在為兵棋類模擬開發基于AI的強大人工對手的項目。本文提供了兩種方法。第一種方法主要基于對制定可靠戰術所必需的復雜知識進行漸進式主動學習方法,但這需要對該領域知識有深入了解的高水平教練。
第二種方法是嘗試將整個軍隊各層級的決策制定過程建模為某種形式的復雜的知識密集型問題解決過程。后續工作將研究綜合運用上述方法的可能性,以及其他方法,例如基于案例的推理等。
目的
本項目的目的是在計算機兵棋嘗試一系列AI方法,這些兵棋以一定的歷史真實感模擬了前幾個世紀的軍事戰術。我們的主要動機是檢驗并改進這些AI技術。而在此過程中,一些兵棋也可以獲得高質量的人工對手。
戰略兵棋與國際象棋
到目前為止,我們的研究將重點放在非常成熟的模擬拿破侖時期重要戰斗的商業兵棋上。這款兵棋有非常強大的對陣員社區,因此當我們的系統準備就緒時,我們可以邀請一些外部專家對其進行測試。此外,在研究的第一階段,為檢驗一些想法,特別是SOAR的使用,我們還使用了另一款由UPMC學員設計的相對簡單的兵棋,該兵棋在許多方面與拿破侖兵棋相似,但側重于中世紀戰術。
我們不打算詳細討論這兩款兵棋的規則,而是通過強調它們與經典國際象棋的差異性來說明兵棋的基本理念。和國際象棋一樣,每個對陣員在沖突中推演一方。戰場用棋盤表示。對陣員根據一系列規則在棋盤上移動棋子,輪流進行推演。與國際象棋相比,沒處差異都可被視作復雜性的增加。
我們使用的兵棋棋盤由六角格覆蓋而非正方形。這使得機動模式更加復雜(每個位置有六個鄰居)。更重要地,國際象棋棋盤上只有64個方格,而我們使用的兵棋中包含數千個六角格。
每個六角格除了位置外,還由一系列參數定義,例如地形類型(森林、平原。。。)、海拔高度等,這些參數反過來會影響單位的機動或戰斗能力。
每個單位都有若干特點,這會影響其機動、戰斗能力以及質量、疲勞和組織等。其中一些特征(例如單位配置),可被視作影響單位能力(機動或戰斗等)的單位參數。
單位按級別組織(例如、軍、軍團、師、旅等)。根據軍隊凝聚力要求,屬于同一級別的單位互相戰斗。每個回合分為若干階段,每個階段分配不同活動類型,例如機動、遠程射擊等。
戰斗本身的建模相對復雜:包括遠程射擊(步兵使用滑膛槍或者火炮從遠處射擊)和近戰(徒手格斗)。戰斗解決方法需要考慮許多參數,包括各方的規模、素質、狀態和疲勞度等。它還包含隨機因素,因此結果幾乎永遠無法保證。
在特定時間內得分最高的一方獲演勝。攻占(或成功防守)重要位置,以及使敵方單位失去戰斗力,即可獲得分數。
從計算視角來開,我兵棋與國際象棋更顯著的差異在于,各回合每個單位都可以活動。這與國際象棋截然不同,在國際象棋中各方選擇一枚獨特的棋子移動。這最終導致兵棋的復雜性大大增加。
如果有p個單位,每個單位可能采取m種行動,則國際象棋來的分支因素是p.m,而兵棋是mp。除了爆炸性的復雜性,這種不同的設置方式具有以下優勢:讓模擬更接近歷史,或者更接近于人類代理的模擬。軍隊單位確實在戰場上以相似方式機動,因此如果擔心歷史合理性,那么順序行動(如國際象棋)是不可能的。
因此,我們可以設想通過盲搜方法將國際象棋下到一定水平,當該方法對于兵棋而言是難以想象的,因為在m=20,p=100的情況下,即使得出下一回合的所有可能狀態都是不可能的。因此與國際象棋相比,對于大多數真正的人工智能問題來說,一切都取決于系統學習的或者為系統提供的知識的質量。
主動學習方法
我們嘗試的第一種方法是對背景知識要求最低的方法。我們的想法是從模擬小規模對抗實現簡單目標開始,以便個體單位學習一些基本知識,然后循序漸進,通過模擬更復雜的態勢學習更加復雜的知識。我們的第一種學習方法是基于基因的規則庫學習。
我們嘗試了不同設置,一些僅使用基本的感知信息(除了單位目標,還有周圍環境的信息,包括敵方單位的存在),一些則以基因代碼方式體現了一些中間概念,比如觀察到的當地兵力比(直接體現威脅概念)。在這些初始階段完成之后,可通過讓單位在更大的編隊內在復雜性不斷增加的“指導性想定中”發揮作用來獲取新的規則集。
這一方法令人非常振奮,因為它最有可能產生意想不到的結果(因為它很少因為我們的經驗--針對特定態勢采取哪種戰略更合適,產生偏見)。出其不意可能是我們系統顯示的某種形式的戰略創造力的結果,也可能意味著推演規則不切實際,或者我們的方法與其它人工或人為方法相比,更能發現這些規則中的漏洞。
這種漸進式分類系統學習方法,可能會增大知識庫最終趨同的可能性。當然在現階段就斷言它們會趨同還為時過早。設計合適的訓練方案,逐步增加復雜性讓系統從學習基本概念和戰術開始,然后逐漸學習更高級的戰略存在一定的困難。實驗初步表明,這一階段本身就需要深入了解一些兵棋知識。
因此,盡管該學習方法在最初看起來似乎對背景知識的要求不高(在許多方面的確如此),但是看起來,“知識密集型”方法在建模和知識開發階段吸取的所有經驗教訓,都能讓主動學習方法獲益匪淺。
知識密集型方法
此外,我們通過在SOAR框架內引出相關知識來應用知識密集型方法。多年來的實踐證明,SOAR是一種在動態環境內體現并使用復雜知識的可靠框架。繼應用于一些軍事模擬和規劃中之后,該框架已經成功應用于大量計算機推演中。
該方法的難點是如何為知識庫設定良好的角色以及如何選擇相關中間概念。同時,充分利用SOAR內的分塊學習能力尤為重要,因為最初的直覺,當前的系統因其學習能力受限。
我們可以將各單位視作不同代理。事實上兵棋讓對陣員像指揮官一樣(在當前態勢范圍內)決定各單位(如步兵營、騎兵中隊等)的行動。但是,各單位指揮官只有在上級指揮官(師、軍團、集團軍級別)制定的全球戰略背景下解決行動問題才有意義。
因此信息流是雙向的:一方面它是上行的(下級指揮官報告觀察到的情況,報告行動的成功/失敗)。而另一方面它又是下行的,戰略被選擇,命令被下達解讀并盡可能執行(有時需一定調整)。
觀察發現這種分層信息流與SOAR中目標和操作符的組織方式很相似。也就是說,當前的設計方案是,將整個軍隊當作一個復雜的問題解決代理,其大部分層級結構可通過SOAR操作符的等級體現。
由于這種選擇,我們決定在在同一單位類型之間共享知識庫庫,也就是只能按單位類型進行學習,個體單位無法學習。當然,單位組織層次中的每一級都可獨立于上一級或下一級進行學習。同時,兵棋還有一個專門指導模式,在這種模式下如果當前知識庫內容不充分或者有待提高,用戶可以向程序提供行動方案建議。
后續研究
在后續研究中,我們希望在兵棋中采用一些懶惰學習形式。就對背景知識的要求而言,該方法可能介于主動學習和知識密集型方法之間。基于案例的推理需要一些與案例表征、案例庫組織、案例檢索相似度度量以及戰略調整選擇相關的知識。因此與基于基因的學習方法相比,這種方法需要更多的知識,但又低于知識密集型方法。
該方法的優勢在于可以提出利用過去獲得成功的一整套行動方,解決潛在的態勢問題。不同組織層級需要不同的案例庫,案例相似性計算要考慮的一個重要元素是單位目標之間的相似性,因為態勢(地理和環境)之間的相似性還不足以激發案例的檢索。
除了實驗更多方法,后續研究會將最有希望的方法整合到一體化系統中,以便利用最適合當前態勢的技術。因為我們應用的所有技術都依賴一些學習要素,因此有必要通過一些形式的實驗,讓系統與自己高速對抗,從而達到某種基本性能水平。
對于主動學習方法,可以讓系統與知識密集型方法對抗(即使剛開始是其知識庫很簡單)。我們的想法是,主動學習方法將以隨機對陣員的身份開始(在學習到任何知識之前),這樣在與自己的對抗中就不會有太大進步。此外,利用知識密集型方法獲取知識,有助于為漸進式主動學習方法設計更好的指導方案。
審核編輯:黃飛
-
AI
+關注
關注
87文章
30189瀏覽量
268444
原文標題:如何利用AI方法為兵棋制定戰略
文章出處:【微信號:AI智勝未來,微信公眾號:AI智勝未來】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論