设计一款博弈类游戏的人机对战算法、策略_卡牌游戏八合一,华人团队开源强化学习研究平台RLCard...
雷鋒網 AI 科技評論按:在過去的兩三年中,我們經常聽說人工智能在棋牌類游戲(博弈)中取得新的成果,比如基于深度強化學習的 AlphaGo 擊敗了人類世界冠軍,由 AlphaGo 進化而來的 AlphaZero 還一并搞定了國際象棋和日本象棋;基于博弈論的冷撲大師(Libratus)也在無限注德州撲克比賽中擊敗了人類職業選手;今年在澳門舉行的 IJCAI 2019 上我們也發現了一篇斗地主 AI 論文。
不過,雖然這些團隊各自做出了令人矚目的成果,但不管對于工業界還是學術界來說,都缺少一個迅速開發和測試棋牌類 AI 的環境。最近德州農工大學胡俠帶領的華人團隊就給出了他們的解決方案,開源了基于牌類游戲設計的強化學習 Python 平臺 RLCard,在打包實現了多種牌類游戲算法的同時,也提供了中西方最流行的幾種牌類游戲環境(包括斗地主、麻將、21點、德州撲克、UNO等),致力于為強化學習提供一個統一、易用的開發和測試環境。雷鋒網 AI 科技評論介紹如下。
RLCard 介紹
具體來說,RLCard 實現了四種有代表性的強化學習算法:作為強化學習的代表算法的 DQN、作為帶有自我學習的強化學習的代表算法的 NSFP、反事實后悔最小化 CFR 以及深度反事實后悔最小化 DeepCFR。RLCard 中也帶有一個隨機智能體。
RLCard 中實現了八種牌類游戲環境:二十一點(Blackjack),三種德州撲克(簡化版德撲 Leduc Hold'em,有限制德撲 Limit Texas Hold'em 以及無限制德撲 No-limit Texas Hold'em ),斗地主,麻將,UNO 以及升級(目前升級游戲環境還在開發中)。
RLCard 安裝快速、使用簡單,提供大量的實例、文檔及 demo;提供人類與 AI,以及 AI 與 AI 間對戰的接口,支持并行加速。平臺設計遵循以下設計原則:
易于比較。在 RLCard 中的得到結果可以方便比較。不同的研究者會提出各種各樣的算法,RLCard 通過 AI 間博弈進行性能評估。通過設置同樣的隨機種子,同樣的結果可以在多次實驗上復現。
易用。盡可能用簡單的接口產生游戲數據,并且支持對游戲狀態編碼、動作編碼、獎勵函數設計、游戲規則的自定義。
可擴展。盡可能最小化環境依賴,使得工具包維護簡單。新游戲遵循工具包的設計原則也可以方便加入。
對于游戲環境實現,RLCard 平臺抽象并定義了這些游戲概念:玩家,比賽(Game),對局(Round),發牌者(Dealer),裁判(Judger)。游戲環境實現都通過這些概念對應的類,這樣的相同的設計規范讓游戲邏輯更容易理解、更容易操作。別的牌類游戲也基本都可以符合這個結構,未來如果想要增加很容易。
作為對比,現有的強化學習庫多數都是單智能體環境的(比如 OpenAI Gym);近期雖然也有一些支持多智能體的環境(比如星際2),但它們并不支持牌類游戲。RLCard 專為牌類游戲設計,不僅是一些牌類游戲在強化學習庫中的首次實現,也提供了簡單直觀的接口,便于強化學習研究。
在目前的學術文獻中,解決撲克游戲的最熱門的方法是反事實后悔最小化(Counterfactual Regret Minimization,CFR),以及它的各種變體,勝過了人類職業選手的冷撲大師(Libratus)使用的就是基于 CFR 的方法。不過,CFR 很消耗計算資源,因為它需要完全遍歷整個游戲樹,所以它也不適用于斗地主之類的狀態空間很大的游戲。
近期也有研究表明,強化學習策略可以在打賭類的博弈中取得很好的表現,比如玩斗地主就玩得不錯。這些美妙的成果,以及強化學習本身的靈活性都讓我們有可能探索狀態空間、行動空間更大的更困難的牌類游戲。
RLCard 使用方法
RLCard 使用簡單,輸入 pip install rlcard 可快速安裝。安裝完成后,用以下 5 行代碼就能用隨機的智能體產生對局數據,返回的數據可直接用于強化學習算法訓練。
另外,RLCard還提供了豐富的的運行實例,包括產生隨機數據,訓練CFR、DQN、NFSP等算法,以及多進程運行實例。
RLCard 提供人機對戰 demo。RLCard 提供 Leduc Hold'em 游戲環境的一個預訓練模型,可以直接測試人機對戰。Leduc Hold'em 是一個簡化版的德州撲克,游戲使用 6 張牌(紅桃 J、Q、K,黑桃 J、Q、K),牌型大小比較中 對牌>單牌,K>Q>J,目標是贏得更多的籌碼。與預訓練模型對局展示如下:
RLCard 評估
除此之外,開發團隊還對 RLCard 做了系統的評估。他們測試了最流行的強化學習算法在環境上的表現。測試方法包括與隨機策略的比較以及 AI 間互相對戰的比較。發現主流算法在小型游戲上普遍有較好的效果,但是在較復雜游戲(例如斗地主、UNO)效果一般。如何在復雜的游戲中更好地訓練強化學習算法需要更多的研究。
團隊也對游戲運行的效率進行了評估。在 24 核 2.10GHz CPU 服務器上對各個游戲的運行時間進行了測試,使用多進程可以更高效地產生游戲數據。
目前 RLCard 的官網已經上線,其中提供了詳細的文檔。學術論文也已經發表在 arXiv,第一作者為查道琛。詳細信息可以訪問下面的鏈接:
Github:
官方網站:
論文:
未來,作者們還會繼續優化和增強這個平臺,他們的計劃包括增加基于規則的智能體、增加更多預訓練模型(幫助評價模型),增加更多游戲環境和算法,以及增加可視化和分析功能等。相信這個環境能對領域內的研究人員們起到很大幫助。
感謝查道琛、胡俠對文本提供的幫助。雷鋒網 AI 科技評論報道。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的设计一款博弈类游戏的人机对战算法、策略_卡牌游戏八合一,华人团队开源强化学习研究平台RLCard...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洗衣机洗净比多少比较好?怎么选?
- 下一篇: 使用http连接到microsoft e