2012-10-13 34 views
3

我想開發一個信息不完整的雙人遊戲 - 「Stratego」。「蒙特卡羅樹搜索」能否應用於像Stratego這樣的「信息不完整的雙人遊戲」?

這款遊戲「有點」像國際象棋,但最初我們對對手的棋子行列一無所知。當一個攻擊或者被某個對手的棋子攻擊時,他們的等級被揭示,並且較高等級的棋子殺死/捕獲較低等級的棋子。 關於遊戲的更多細節可以在here找到。

我做了一些調查。我讀了J.A.的「戰略對手建模」。斯坦凱維奇。但是我找不到關於如何開發遊戲的完整教程。我已經成功開發了一款雙人遊戲 - 「黑白棋」a.k.a. Reversi,並且我熟悉MINIMAX算法和alpha-beta修剪。

我在某處發現蒙特卡羅樹搜索也用於開發零和總結雙人遊戲。它可以用於戰略遊戲嗎?我可以得到一個完整的教程嗎?

任何其他教程不涉及蒙特卡洛樹搜索也將是有益的:)

回答

3

我覺得MCTS在Stratego會有一段艱難的時間,因爲最初的傳播功能如此之大,而最好的傳播非常依賴於比賽的真實性。也就是說,在最好的情況下,MCTS會給你一個在統計上很不錯的比賽,其中所有可能的變體你的對手的棋子,但最好的下一步棋高度取決於他們選擇的特定變化。

我仍然對MCTS有一個很好的理解,但在我看來,MCTS在涉及隱藏信息的多輪欺騙性遊戲非常重要的遊戲中表現不佳(撲克,正則,但戰略,我會說,也)。在這樣的遊戲中,你真的需要開發一個其他玩家狀態/策略的模型,而MCTS的性質會給你一個答案,這個答案在統計上與所有的樹相關,而不僅僅是地面實況樹。

MCTS可以很好地處理涉及大量機會的遊戲(西洋雙陸棋和涉及骰子和許多紙牌遊戲的其他棋盤遊戲),在我看來,它是一種優秀的通用解決方案,可以迅速應用於大量現代「歐洲式「棋盤遊戲。 (有趣的是,儘管它們涉及「欺騙性策略」,但它們通常涉及相對較少的隱藏信息。)

+0

看來MCTS可以用於不完美的信息遊戲,如果它修改爲ISMCTS。不幸的是,這裏有一些例子,我也遇到類似的問題,因爲一個正在開發的特定遊戲涉及機會和不完整的信息。但我會戰勝http://etheses.whiterose.ac.uk/8117/1/Feb%2016%20-%20FINAL.pdf –

0

我不爲不完整的信息關我過上知道任何MCTS的,而且好像要花大量的修改算法以使其運行。

即使在一個非常有限的Stratego類型中,每一邊只有十個棋子,只有兩種類型的棋子,只有一個「較強」的棋子,您仍然在玩十個可能的實際遊戲之一。在一場完整的戰略遊戲中,由於起始位置的組合數量衆多,所以它們的不確定性遠遠超過這個數字。

看來你還需要增加算法以捕獲「顯示的知識」,例如,在我們的玩具示例中,片段之間的每次碰撞都會顯示關於敵人位置的一些信息。

這似乎是有趣的嘗試,但只是爲了一個非常有限的Stratego類問題,並且瞭解現成的MCTS是不夠的,你必須仔細考慮和深入關於算法的正確擴展。

+0

你能提供一個鏈接到任何開發Stratego的教程嗎? –