什么是简单的回合制游戏,可用于验证蒙特卡洛树搜索代码及其参数?
在将它应用于我无法验证其移动的正确性的问题之前,我想实现一个测试用例,以确保它的行为符合预期,特别是当不同的实现和论文之间存在一些歧义时。
我构建了一个四人连接游戏,其中 MCTS-AI 互相对抗,以及迭代的囚徒困境实现,其中 MCTS-AI 对抗常见的策略,如以牙还牙,但我仍然不确定是否有如果 MCTS-AI 找到了最佳策略,那将是一个非常好的解释。
另一种选择是井字游戏,但 MCTS 将在很小的步骤内耗尽整个搜索空间,因此很难判断该实现将如何处理其他问题。
此外,扩展完整的游戏树并不能告诉您完整扩展之前的任何状态是否遵循最佳 MCTS 策略。
示例: 您可以在玩家 1 的树的展开步骤中为玩家 1优化和为玩家 2 优化之间交替进行,假设玩家 2 不会为玩家 1 下最佳着法,而是为自己做出最佳着法。不这样做会导致一个乐观的博弈树,这在某些情况下可能有效,但可能不是许多游戏的最佳选择,但它对合作游戏很有用。
当博弈树完全展开时,即使展开步骤的顺序不是最优的,您也可以找到最佳着法,因此使用可以完全展开的游戏并不是验证中间步骤的好方法。
是否有一个易于实现的游戏,可用于验证,如果 AI 确实找到了预期的动作,您可以在其中可靠地检查每个动作?