2012 年调查文章(您的第二个链接)中的算法是最常见/标准的实现。每当有人提到使用 MCTS 或 UCT,但没有明确说明任何其他信息时,可以安全地假设他们正在使用该伪代码。
Kocsis 和 Szepesvári 2006 年的论文(您的第一个链接)是UCT 上的原始出版物之一。它与调查文件中描述的“标准”实现非常相似。如果我没记错的话,唯一重要的区别是 2006 年描述的算法会跟踪在剧集中观察到奖励的时间点,并在反向传播阶段考虑该时间(即,如果在时间t在一个情节中,该奖励的功劳不会在一段时间后分配给状态/动作t)。它还使用了折扣因子γ根据时间距离打折奖励的重要性,这在 MCTS 文献中并不常见。
这两个差异都是由于 2006 年的原始论文具有更多的“马尔可夫决策过程”或“强化学习”风格,而 MCTS 在(棋盘)游戏的人工智能中尤其流行,我们通常默认假设有无论如何,这只是每集结束时的一个非零奖励(赢或输),这使得这些差异变得不那么有意义。
两篇 AlphaGo 论文(AlphaGo 和 AlphaGo Zero)都使用了 MCTS 的“基础”,该基础与 2012 年调查文章中的基本相似。核心组件都是一样的。不过,这两个系统都增加了很多(非常重要,有些相当复杂)的花里胡哨。
想不通(应该是最准确的,但最好的细节当然在原始来源中!)(您的第三个链接)添加了以各种方式训练的神经网络以输出策略(从状态映射到动作的概率分布)和价值函数(从状态映射到“价值估计”,或获胜百分比的估计)。训练有素的策略网络用于“选择”阶段的变体(不再是 UCT 中的 UCB1 策略)来偏向选择。使用不同的(更简单的函数,而不是深度网络)策略来运行播放(不再像 UCT 中那样在随机动作选择中保持统一)。播放结束时观察到的奖励 + 播放开始时的价值函数估计的组合用于反向传播(不再像在 UCT 中那样仅在播放中观察到反向传播奖励)。
如果我们只看 MCTS 部分,AlphaGo Zero与 AlphaGo 非常相似。神经网络有点不同(一个单一的,具有多个策略 + 价值输出),并且根本不再使用播放(只是在 MCTS 的选择 + 扩展阶段之后立即反向传播价值函数估计)。除此之外,从 AlphaGo 到 AlphaGo Zero 的主要区别在于用于训练神经网络的学习过程,而不是在 MCTS 方面。