尝试使用YouTube视频和此类论文学习MCST。
http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Applications_files/grand-challenge.pdf
但是,除了高级的理论解释之外,我对细节的了解还不够运气。以下是上述论文的引文和我的问题。
最佳答案
选择步骤通常实现为实际上不选择树中实际存在的节点(已通过扩展步骤创建)。通常可以在与您当前节点匹配的游戏状态的所有可能的后继状态中进行选择。
因此,从一开始,当您只有一个根节点时,您将希望“选择”步骤仍然能够从所有可能的后续游戏状态中选择一个(即使它们在树中没有匹配的节点)然而)。通常,对于尚未访问过的游戏状态(树中还没有节点),您会希望获得很高的分数(无限,或一些非常大的常数)。这样,您的选择步骤将始终在没有匹配节点的任何状态中随机选择,并且仅在所有可能的游戏状态在树中都具有匹配节点的情况下,才真正使用探索与开发权衡。
选择步骤使用的“分数”通常不应仅是通过该节点的所有模拟结果的平均值。它通常应该是一个由两部分组成的分数; “探索”部分对于访问较少的节点来说是很高的,而“剥削”部分对于到目前为止看来是好的举动来说很高(其中,通过该节点的许多模拟都以获胜告终)允许选择行动的球员)。您链接的论文的第3.4节对此进行了描述。
W(s, a) / N(s, a)
是开发部分(仅是平均分数),而B(s, a)
是开发部分。扩展步骤通常实现为简单地添加与选择步骤选择的最终游戏状态相对应的节点(在我回答第一个问题之后,选择步骤将始终以选择一个从未选择过的游戏状态结束) 。
实际上,最直接(也可能是最常见)的实现是完全随机进行的。但是也可以以不同的方式执行此操作。例如,您可以使用试探法对某些操作产生偏见。通常,完全随机播放的速度更快,使您可以在相同的处理时间内运行更多的模拟。但是,这通常也意味着每个单独的模拟信息量都较少,这意味着您实际上需要运行更多的模拟才能使MCTS正常运行。
MCTS不会将树的所有部分统一探索到相同的深度。它倾向于探索似乎有趣(强动作)的部分比似乎不有趣(弱动作)的部分更深。因此,通常您不会真正使用深度限制。取而代之的是,您将使用时间限制(例如,持续运行迭代,直到花费了1秒,5秒或1分钟,或者您允许的任何处理时间),或者使用了迭代计数限制(例如,允许它运行10K或50K或您喜欢的任意数量的仿真)。