① 选择
SELECTION从根局面出发,按「胜率高 + 试得少」的分数(UCB)一路往下挑,走到一个还有没试过走法的节点。
用一局井字棋,看懂蒙特卡洛树搜索(Monte Carlo Tree Search,常见缩写 MCTS)的四步循环:选择 → 扩展 → 模拟 → 反向传播。你执白棋(先手),AI 执黑棋(后手)。
你先走:点任意空格落下白棋。之后 AI 每走一步,都会在右边把「选择 → 扩展 → 模拟 → 反向传播」走给你看;勾选「单步显示」后,AI 会等你看完搜索树再落子。
公式里的 W / V 是从「父节点(走棋的那一方)」看的胜率:子节点记的是轮到对手走棋时的胜分,所以真正比较时要用 1 − W / V。例如子节点是白棋视角、W/V = 0,说明这一路模拟里白棋一次没赢,换成黑棋(AI)看就是 1 − 0 = 1 分。
每个节点就是当时的那张棋盘(圆环标出新建这个节点的那步棋);棋盘下面是访问次数 V 与胜分 W;蓝色 = 这次搜索走过的路径,橙色虚线 = 这次新长出的节点,⭐ = AI 最终选择。一次搜索的四步都在这里演:① 选择高亮路径 → ② 扩展长出新节点 → ③ 模拟给出胜负 → ④ 反向传播让路径上的 V / W 加一。点到某一行记录,可以让树直接跳到那一次。
AI 每走一步,这里会逐条列出每次搜索的四个步骤(选择 → 扩展 → 模拟 → 反向传播)。
小棋盘上方:W = 胜分(按该节点轮到走棋的一方计)· V = 访问次数 · P = 父节点编号(根节点为 -1,也就是「这个节点是从哪个节点走出来的」)。虚线框是本次新长出来的节点。
AI 思考后,这里会列出根节点下每个候选落点的访问次数与模拟胜率。
从根局面出发,按「胜率高 + 试得少」的分数(UCB)一路往下挑,走到一个还有没试过走法的节点。
在这个节点里挑一个还没试过的走法,像树枝一样长出一个新子节点——它就是接下来要考察的新局面。
从新局面开始,让双方随机把棋下到结束,看看这局是赢、是平、还是输。这一步完全不动脑,所以很快。
把这一局的胜负沿原路回传:路径上每个节点都记下「访问次数 +1、胜分加上结果」,下次选择就更聪明。
💡 小提示:AI 并不是「算尽所有可能」,而是靠成百上千次随机模拟做统计,挑出看起来最稳的一步。
(注:该算法英文缩写常见写法为 MCTS,课程卡片沿用「MCST」的叫法。)