簡體   English   中英

紙牌游戲 Schnapsen 的深度 Q 學習方法

[英]Deep Q Learning Approach for the card game Schnapsen

所以我有一個玩紙牌游戲 Schnapsen 的 DQN 代理。 我不會讓您厭煩游戲的細節,因為它們與我要問的問題沒有太大關系。 唯一重要的一點是,對於每一輪游戲,玩家都可以采取特定的有效動作。 我創建的 DQN Agent 有時會輸出無效的着法,形式為 integer。整個游戲中有 28 種可能的着法,因此有時它會 output 根據當前游戲的 state 無法下的着法,例如,當它不在手中時玩方塊傑克。 我想知道在神經網絡不收斂的情況下,是否有任何方法可以將 neural.network 的輸出“映射”為最相似的動作? 這是解決這個問題的最佳方法還是我必須更好地調整 neural.network?

截至目前,只要 DQN 代理沒有 output 有效着法,它就會轉向另一種算法,即 Bully Bot 實施,它會執行其中一個可能的有效着法。 是我的 github 代碼庫的鏈接。 要運行 DQN 代理對抗 bully bot 的代碼,只需導航到可執行文件並運行: python cli.py bully-bot

將 neural.network 的輸出映射到最相似的有效移動的一種方法是使用“softmax”將 .network 的原始輸出轉換為可能移動的概率分布。 然后,您可以 select 具有最高概率的移動也是有效移動。 另一種方法是使用“argmax”,它返回 output 中最大值的索引。然后您將必須檢查返回的索引是否對應於有效移動。 如果不是,您可以 select 對應於有效移動的下一個可能索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM