# 蒙特卡洛树搜索（MCTS）井字棋对弈与搜索统计

> 来源：https://dqn.cn/tools/mcts ｜ 作者：DQN.CN 编辑部 ｜ 发布：2026-11-01 ｜ 更新：2026-11-01 ｜ 许可：CC BY-NC-SA 4.0（文字）/ MIT（代码）

> （此处为交互工具，请在网页中使用：https://dqn.cn/tools/mcts）

## 算法

每次模拟包含四步：

1. **选择**：从根节点开始，用 UCT 规则 $\arg\max_a \Big[Q(s,a) + c\sqrt{\dfrac{\ln N(s)}{N(s,a)}}\Big]$ 往下走，直到遇到还有未访问子节点的节点；
2. **扩展**：加入一个新节点；
3. **模拟**：从新节点开始随机落子直到终局（赢 1、平 0.5、输 0）；
4. **回传**：沿路径更新访问次数 $N$ 和累计价值 $W$，$Q = W/N$。

搜索结束后选择**访问次数最多**的动作（比选 Q 最大更稳健）。AlphaZero / MuZero 把第 3 步的随机模拟换成价值网络，把 UCT 换成带策略网络先验的 PUCT，MuZero 还把真实规则换成了学到的模型。

## 可以试试

- 1000 次模拟时，AI 基本不会输，你最多能逼平。
- 调到 10 次：AI 经常看不出你的“二连”威胁。
- 把探索系数 c 调到 0：搜索变得贪婪，容易被早期的随机结果误导；c 太大则平均分配访问，浪费模拟。
- 点“让 MCTS 给我提示”看看它建议你走哪里（绿色热力图）。

## 相关教程

- [基于模型的强化学习](https://dqn.cn/advanced/model-based)
- [MPC](https://dqn.cn/advanced/mpc)
- [全部交互工具](https://dqn.cn/tools/)
