蒙特卡罗树搜索:可以轻松找到哪种移动方式,哪些会带来麻烦?


10

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

除了这种特殊情况外,我还想知道是否还有其他这样的情况,MCTS的表现会很差(或非常好)。


MCTS是概率性的。因此,它需要线索,否则将找不到任何东西。例如:在大海捞针。试试这个,你会失败的。如果您能提出一个更现实的示例并询问该示例的最佳策略,那将是很好的。这可能会提示如何更好地找到大海捞针。
Trilarion

Answers:


2

是否找到移动以及找到移动的速度取决于几件事。如果我理解正确,那么会有一系列的“坏”举动导致“大获胜”举动,并且您担心MCTS算法将无法实现“大赢”举动,因为它将选择更有前途的在树上向上移动。需要考虑的一些事情(另请参阅Wikipedia MCTS文章):

  • 在进行淘汰赛时,您只能做一些进一步的移动或直至游戏结束。仅进一步移动几步显然会更快,但是在极端情况下,您描述这并不是最佳选择。如果您知道这种情况的存在,请确保在播放中将游戏玩到最后。

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

  • 如果您使用UCT(应用于树的上限)选择操作,则表达式的第一部分负责利用。具有较高平均获胜率的举动是首选。第二部分虽然对应于探索。如果将探索参数设置得足够高(对您的问题进行经验测试),则首选模拟很少的移动。高勘探将是另一种找到黄金举动的方式,这不利于剥削(了解勘探/开发困境)。

如果您描述一个现实的游戏或问题场景,我们可能会帮助您提出合适的策略。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.