蒙特卡洛树搜索 (MCTS)

Monte Carlo Tree Search: AI 决策的核心算法

Public 文件:/public/

蒙特卡洛树搜索(MCTS)是一种用于决策过程的启发式搜索算法,最著名的应用是在 AlphaGo 等棋类 AI 中。它通过模拟未来的可能性来选择最佳的下一步。

核心流程

MCTS 主要包含四个步骤,不断循环直到时间耗尽:

1. 选择 (Selection)

从根节点开始,根据 UCB (Upper Confidence Bound) 算法选择子节点,直到到达一个叶子节点。

2. 扩展 (Expansion)

如果当前的叶子节点不是终止状态,则创建一个或多个新的子节点,将其加入树中。

3. 模拟 (Simulation / Rollout)

从新扩展的节点开始,进行随机模拟(Random Play),直到游戏结束。

4. 反向传播 (Backpropagation)

利用模拟的结果(输或赢),更新从当前节点回溯到根节点路径上所有节点的统计数据(访问次数和胜率)。

关键公式:UCB1

在选择阶段,MCTS 并不只是选择胜率最高的节点,而是通过 UCB 公式平衡“开发”(Exploitation)与“探索”(Exploration):

$$ UCT = \frac{w_i}{n_i} + c \sqrt{\frac{\ln N}{n_i}} $$