我目前正在为纸牌游戏开发 AI Wizard开发 AI 。巫师是一个花样游戏,每个玩家在实际游戏开始之前说明他认为自己会花多少花样。
在阅读了一些论文和本书的某些部分之后在阅读了《人工智能:一种现代方法,我决定首先设计我的算法,用于开放纸牌游戏,以便每个玩家都有完整的信息。所以我刚刚开始并使用 UCB 选择策略实现了蒙特卡洛树搜索算法。我已经在 java 中实现了所有东西,它似乎运行得很好,但是我的机器人还没有发挥最佳效果。尤其是预测你得到的技巧似乎是一项艰巨的任务,为此我使用了与演奏相同的 MCTS。
所以基本上我的算法扩展了游戏的当前状态(例如 2 个玩家出价)创建一个新节点(例如 3 个玩家出价),然后随机播放直到游戏结束。然后通过节点评估和备份分数。
我认为改进算法的下一步是在树搜索中添加一些启发式方法,以便从一开始就忽略最有可能导致损失的分支。
我的问题是:你认为这是一个好方法吗?还有哪些其他方法很有希望,或者您还有其他提示吗?