日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

用数学方法分析哪类游戏中的AI难度最大

發布時間:2024/8/26 ChatGpt 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用数学方法分析哪类游戏中的AI难度最大 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


2019年是AI在游戲領域全面開花的一年。

1月,DeepMind開發的AlphaStar在《星際爭霸II》比賽中以5:0戰勝了職業選手MaNa;4月,OpenAI開發的OpenAI Five在《Dota 2》比賽中2:0戰勝去年的TI 8冠軍OG;7月,Facebook和CMU聯合開發的Pluribus在6人不限注德州撲克比賽中戰勝人類世界冠軍;8月,微軟開發的Suphx在專業麻將平臺“天鳳”上榮升十段,躋身僅10余位的現役十段選手之列。

自2016年AlphaGo橫空出世、掀起游戲AI浪潮以來,圍棋、星際爭霸、Dota、德撲、麻將,一座座號稱“人類智慧高地”的游戲被AI逐一攻克。

一個常見的疑問是,AI挑戰過的這些游戲,它們的復雜度能否有一個直觀的衡量和對比呢?接下來,我們會從狀態空間和操作序列空間這兩個維度,來嘗試衡量一款游戲的復雜度。對AI來說,前者反映了輸入信息的復雜度,后者反映了輸出行為的復雜度。

狀態空間

狀態空間(State Space)反映了游戲過程中所有符合規則的狀態的總數量。通常情況下,為了便于計算,估算時會包含進一些不會在現實游戲中出現的情況。比如在估計井字棋的狀態空間時,會考慮所有位置均為X或均為O的極端情況,得到3^9這個結果。(盤面上共有9個位置,每個位置可能的取值有X、O或空缺這3種)
?

井字棋狀態空間計算


在圍棋中,考慮到盤面上一共有19*19=361個位置,每個位置可能的取值有黑子、白子或空缺這3種(包含進了棋盤全為黑子或全為白子的極端情況)。因此圍棋的狀態空間為3^361≈10^172
?

圍棋狀態空間計算


麻將的狀態空間會復雜一些,但還是可以做個近似的估算。在不考慮吃碰杠等情況的前提下,在一局麻將中的任一時刻,我們把136張麻將牌分為三類:第一類是游戲最后剩下的14張牌,由于這些牌不會被用到,所以不用考慮先后順序,這里的可能情況是C(136,14)種;第二類是四個玩家各自手里的13張牌,這些牌也沒有順序,所以對應的可能情況有C(122,13)*C(109,13)*C(96,13)*C(83,13)種;第三類是剩余的70張牌,這些牌要么還未被翻開,要么已經被某位玩家打出,這兩種情況都是有先后順序的(因為順序變化會影響到對勝率的預估),對應的情況是先對70張牌取排列數=P(70,70),然后每個排列可以從70個位置中的任一位置形成斷點(斷點前為玩家打出牌的序列、斷點后為未翻出牌的序列),總可能情況是P(70,70)*70。將三類牌的可能情況數做連乘,結果約等于10^184。

麻將狀態空間估算

德州撲克的計算方式會更復雜一些。在兩人有限注德撲中,游戲有4個回合,每回合雙方共有至多4次下注機會,狀態空間為10^17[1]。在兩人不限注德撲中,由于下注額沒有限制,變化會多很多,狀態空間為10^165[1]。(詳細計算過程可參見附錄鏈接)

而對于Dota2和星際這樣的游戲來說,由于游戲本身的狀態是連續的,無法拆分成離散的節點,不能像之前那樣計算。這種連續體現在兩個方面:一是時間層面的連續,游戲中的行動是即時的(而非回合制的),這導致無法在時間上分別計算不同的狀態空間再做累加。不過鑒于任一時刻的決策其實只依賴于當前狀態(在完全相同的當前狀態下,玩家之前是先造的兵營再造的補給站、還是先造的補給站再造的兵營,并沒有差別),我們可以不考慮歷史狀態、僅計算截面狀態的數量;二是空間層面的連續,坐標、移動方向、技能方向等都是任意的(玩家可以左轉30度,也可以左轉30.01度),這導致我們必須對狀態做簡化,否則狀態空間會無窮大。

具體來說,對于Dota 2,(在簡化后)假設把地圖劃分為100*100個區塊,當前時刻存在10個英雄,假設每個英雄有50個屬性(包含裝備情況、技能CD等)、每個屬性有100個取值,則對應的狀態空間為(100*100*100^50)^10≈10^1000。這里還沒有考慮進野怪、防御塔、兵線等信息。
?

OpenAI Five對單個英雄的觀測內容


對于星際,(在簡化后)假設把地圖劃分為128*128個區塊,假設當前時刻同時存在200個單位、每個單位有20個屬性、每個屬性有10個取值,則對應的狀態空間為

(128*128*10^20)^200≈10^5000
?

AlphaStar與人類高手MaNa對戰時的可視化界面


需要說明的是,手游賬號轉讓對于麻將、德撲、星際、Dota2這類不完美信息游戲(Imperfect-Information Games)來說,參與者無法隨時訪問全部游戲信息(比如其他玩家的手牌、戰爭迷霧中的情況等),這給AI帶來了更大的挑戰,很難使用傳統的蒙特卡洛樹搜索方法。

操作序列空間

操作序列空間反映了游戲中所有不同操作序列的數量。也很難精確計算,一般的估計方式是利用平均動作空間(Action Space)和游戲長度(Game Length)這兩個參數。前者表示每次操作的平均可執行動作數,后者表示整局游戲中的總操作次數。操作序列空間=平均動作空間^游戲長度。

圍棋中,平均一局游戲進行150手、每一手平均有250個解,因此操作序列空間為250^150≈10^360。

麻將中,每局游戲至多會進行17.5輪((136張牌-14張底牌-13張手牌*4家)/每輪出4張牌),考慮吃碰杠帶來的增加和提前胡牌帶來的減少,假設平均進行15輪,每輪從14張手牌中選一張打出,因此操作序列空間為14^15≈10^17。

德州撲克中,兩人有限注德撲的操作序列空間≈10^15[1],兩人不限注德撲的操作序列空間≈10^162[1]。(詳細計算過程可參見附錄鏈接)

Dota 2游戲中,根據OpenAI在OpenAI Five博客[2]中披露的數據:游戲時長45分鐘、每秒鐘30幀,共計80,000幀,AI每4幀進行一次操作,共計20,000次操作,這是游戲長度。任一時刻每個英雄可能的操作數是170,000,但考慮到其中大部分是不可執行的(比如使用一個尚處于冷卻狀態的技能),平均的可執行動作數約等于1,000,也即動作空間。因此,操作序列空間約等于1000^20000=10^60000

星際游戲中,根據DeepMind在AlphaStar現場訪談[3]中披露的數據:平均動作空間約等于10^26,游戲長度在1,000級別,我們假設為2,000,則操作序列空間為(10^26)^2000≈10^52000。

下表整理了上述5款游戲在狀態空間和操作序列空間這兩個維度的復雜程度,我們也加入了一些更簡單的棋牌游戲作為對照[4]。

部分游戲的狀態空間和操作序列空間大小


總結

從上表不難發現,更大的狀態空間操作序列空間意味著更復雜的游戲,往往也意味著更高難度的AI訓練。向未來看,伴隨著更大的游戲地圖、更多的同局玩家數、更復雜的屬性維度,狀態空間會進一步增加;而伴隨著更多的操作選項、更快的操作手速、更長的游戲時間,操作序列空間也會進一步增加。

百尺竿頭,更進一步。我們期待AI能逐一攻克更難更復雜的游戲。

總結

以上是生活随笔為你收集整理的用数学方法分析哪类游戏中的AI难度最大的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。