解释
蒙特卡洛树搜索简称MCTS,并不试图以相同深度检查每个变例。它逐步扩展搜索树,并利用累积结果决定下一部分计算应投入何处。某一步被访问很多次并不自动表示它很好,但其估计通常得到更多搜索支持。
一次MCTS循环
- 选择:从初始局面开始沿现有分支前进,在已经显得强劲的着法与仍不确定的着法之间取得平衡。
- 扩展:向树中加入尚未展开的局面或着法。
- 评估:估计新局面之后的结果。传统方法可以完成模拟对局,现代系统也可以使用神经网络,也就是经过训练、能够识别模式的模型来评估局面。
- 反向传播:沿访问过的路线把结果传回,并更新各节点的访问次数和估计。
重复这一循环会平衡利用与探索。利用是把更多计算投入已有有利证据的区域,探索则是测试不确定的替代方案,以免过早排除意外强着。具体平衡规则取决于实现。
与不同,MCTS通常根据搜索过程中收集的证据决定一个分支应被调查多少,而不只依赖统一深度。在一些基于神经网络的国际象棋程序中,网络会提供策略,用于建议可能的着法,以及价值,用于估计结果。价值所起的作用与相关,但完整搜索过程并不相同。
用法与背景
MCTS依据访问次数和价值产生估计。在时间有限时,这些估计可能变化,并不构成对局面的穷尽性证明。
常见混淆
蒙特卡洛并不表示完全随机下棋
系统可能使用随机模拟,但搜索树会逐渐把更多计算引向信息量大的分支。现代系统可以用训练后的网络取代大部分随机性。
来源
- 1.Monte-Carlo Tree Search, Chess Programming Wiki
