蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)是一种基于随机模拟的启发式搜索算法,核心是通过“采样+统计”的方式,在复杂决策空间中高效探索最优路径,广泛用于博弈(如围棋、国际象棋)、规划、强化学习等领域。

一、核心定位

MCTS的设计目标是解决“决策空间过大、无法穷举所有可能”的问题(比如围棋有(10^{170})种可能走法,传统搜索无法遍历),它不需要预先知道所有规则的最优解,而是通过多次随机模拟+统计分析,逐步聚焦有潜力的路径,平衡“探索新路径”和“利用已验证的优路径”。

二、MCTS的核心步骤(经典四阶段循环)

MCTS的流程是迭代循环的,直到时间/计算资源耗尽,核心分为4步:

  1. 选择(Selection)

    • 从根节点出发,用“UCT公式”(Upper Confidence Bounds for Trees)选择下一个节点:优先选“访问少但价值高”的节点,避免只走已知路径(利用)或盲目乱走(探索)。
    • 公式:( UCT(s) = V(s) + c \cdot \sqrt{\frac{\ln N§}{N(s)}} )
      • ( V(s) ):节点的平均价值(比如胜率);
      • ( N§/N(s) ):父节点/当前节点的访问次数;
      • ( c ):探索系数(控制探索-利用的平衡)。
  2. 扩展(Expansion)

    • 当选中的节点不是终端节点(比如围棋没下完),就从该节点生成1个或多个子节点(比如围棋的可能落子点),扩展搜索树。
  3. 模拟(Simulation)

    • 从扩展出的子节点出发,随机模拟后续步骤(比如随机落子),直到终端状态(比如围棋分出胜负),得到该路径的“结果(赢/输)”。
  4. 回溯(Backpropagation)

    • 将模拟得到的“结果”反向传播到路径上的所有节点,更新这些节点的“访问次数”和“平均价值”(比如赢了就给路径上的节点加胜率)。

三、MCTS的特点

  • 无需先验知识:不需要预先知道最优策略,靠随机模拟和统计学习;
  • 自适应探索:通过UCT公式动态调整路径优先级,避免陷入局部最优;
  • 高效收敛:随着模拟次数增加,搜索树会逐渐聚焦到最优路径。

四、LATS对MCTS的适配

LATS把MCTS的思路“移植”到语言模型中,做了3个关键适配:

  1. 节点定义:MCTS的节点是“博弈状态”,LATS的节点是“任务状态(问题+行动+环境反馈)”;
  2. 模拟步骤:MCTS是“随机落子”,LATS是“语言模型生成推理/行动”;
  3. 价值函数:MCTS是“胜率”,LATS是“LM评分+自一致性评分”。

要不要我帮你整理一份MCTS与LATS核心设计的对应表

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐