蒙特卡洛树搜索:什么样的招式容易被发现,什么样的招式很麻烦?

人工智能 赌博 蒙特卡罗树搜索
2021-10-24 22:58:35

我想从一个让我思考 MCTS 性能如何的场景开始:假设有一个移动尚未添加到搜索树中。这是一些层/移动太深。但是如果我们玩这个动作,游戏基本上就赢了。但是,我们还假设在给定的游戏状态下可以采取的所有动作都非常非常糟糕。为了争论起见,假设有 1000 种可能的移动,其中只有一种是好的(但非常好),其余的非常糟糕。MCTS 不会没有认识到这一点,而不是朝着这个方向发展搜索树并且对这个子树的评价也很差?我知道 MCTS 最终会收敛到 minimax(如果有足够的内存,它最终会构建整个树)。然后它应该知道这一步是好的,即使有很多不好的可能性。但我想在实践中这不是一个可以依赖的东西。也许有人可以告诉我这是否是我的正确评价。

除了这种特殊情况外,我还想知道是否还有其他此类情况 MCTS 会表现不佳(或非常好)。

1个回答

是否找到移动以及找到移动的速度取决于几件事。如果我理解正确,有许多“坏”着法导致“大赢”着法的序列,你担心 MCTS 算法不会达到“大赢”着法,因为它会选择更有希望进一步向上移动树。需要考虑的一些事情(另请阅读 Wikipedia MCTS 文章):

  • 在进行淘汰赛时,您可以只玩几个进一步的动作或直到游戏结束。只走几步显然更快,但在你描述的极端情况下,它不是最好的选择。如果您知道此类场景的存在,请确保在淘汰赛中将游戏玩到最后。

  • 在进行播放时,您可以随机选择您的动作/动作,也可以根据针对您的问题量身定制的一些简单、贪婪(快速)的启发式方法。是否有贪婪的启发式设计来为您的游戏/问题寻找或考虑此类场景?如果是,请实施它们。然后将其称为“重播”。将结果与使用随机移动的播放进行比较。

  • 如果您使用 UCT(应用于树的上置信界限)选择操作,则表达式的第一部分负责利用。平均胜率高的走法是首选。第二部分虽然对应于探索。如果探索参数设置得足够高(根据经验对您的问题进行测试),那么将首选进行少量模拟的移动。高探索将是另一种找到你的黄金之举的方法,不利于剥削(阅读探索/剥削困境)。

如果您描述了一个真实的游戏或问题场景,我们或许可以帮助您制定合适的策略。