跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

RAP-MCTS 算法详解:大模型思维链

详细解析了 RAP-MCTS 算法,该算法结合了大模型思维链与蒙特卡洛树搜索。文章分析了算法的输入参数、初始化数据结构以及主循环的四阶段(选择、扩展、模拟、反向传播)。重点阐述了 RAP-MCTS 与标准 MCTS 在动作空间、状态转移、奖励结构和探索机制上的差异,指出其通过采样固定数量动作应对开放域问题,并利用 LLM 作为世界模型。同时提供了计算复杂度分析及算法局限性讨论,包括世界模型误差累积和奖励校准敏感性等问题。

CryptoLab发布于 2026/3/30更新于 2026/9/1286 浏览

在这里插入图片描述

基于论文第 3.3 节、附录 A 及算法 1,以下是对 RAP-MCTS 伪代码的逐行技术解析与系统性分析:


一、算法框架与输入参数

1.1 输入参数体系(基于第 3.3 节与算法 1)
参数数学符号功能定义工程对应
初始状态s_0推理起点(如 Blocksworld 初始积木配置)问题输入
状态转移p_\theta世界模型(LLM 改造)p(s_{t+1}
奖励函数r_\theta四维度评估(第 3.2 节)r(s_t, a_t)
动作生成器p_\varphi智能体 LLM 策略p(a
分支因子d每节点扩展的动作数控制树宽度
深度限制L最大推理步数防止无限搜索
迭代次数NMCTS 模拟次数计算预算
探索权重wUCT 公式中平衡探索/利用c in UCT
1.2 初始化数据结构(第 1-2 行)
A: S → A(s) # 动作记忆:记录每个状态 s 的候选动作集合
c: S×A → S # 子节点映射:状态 - 动作对 → 下一状态
r: S×A → R # 奖励映射:状态 - 动作对的即时奖励
Q: S×A → R # 动作价值函数:长期累积回报估计
N: S → N # 访问计数器:状态被访问次数

关键设计:与标准 MCTS 不同,RAP 显式维护动作记忆 A(s) 和子节点映射 c(s,a),这是因为 LLM 动作空间巨大且随机,无法像围棋那样枚举所有合法动作(附录 A:'对于开放域问题,无法枚举所有可能行动')。


二、主循环:四阶段详解(第 3-23 行)

2.1 选择阶段(Selection,第 5-10 行)
while N(s_t)>0: # 树策略:沿已访问节点下行
    N(s_t) ← N(s_t)+1 # 更新访问计数
    a_t ← argmax[UCT 公式] # 公式 (1) 实现
    r_t = r(s_t, a_t) # 获取即时奖励(用于后续反向传播)
    s_{t+1} ← c(s_t, a_t) # 通过子节点映射转移状态
    t ← t +1

UCT 公式实现(第 7 行对应公式 1): a_t = \arg\max_{a \in A(s_t)} [ Q(s_t, a) + w\sqrt{\frac{\ln N(s_t)}{N(c(s_t, a))}} ]

工程细节(附录 A 补充):

  • 未探索动作处理:若存在 a∈A(s_t) 满足 N(c(s_t,a))=0(即未访问),算法使用轻量级局部奖励(如仅 r_3 自我评估)估算初始 Q 值,而非标准 UCT 的无穷大探索 bonus
  • 终止检查:若 s_t 为终止状态(满足目标或失败),跳过扩展直接进入反向传播
2.2 扩展阶段(Expansion,第 11-15 行)
while $s_t$ 非终止状态 ∧ t ≤ L: # 限制搜索深度
    for i ← 1 to d: # 生成 d 个候选动作
        $a^{(i)}_t ~ p_φ(a|s_t)$ # 从智能体 LLM 采样动作
        $s^{(i)}_{t+1}~ p_θ(s_t, a^{(i)}_t)$ # 世界模型预测下一状态
        $r^{(i)}_t ~ r_θ(s_t, a^{(i)}_t)$ # 计算四维度奖励
        # 更新记忆结构
        $A(s_t) ← {a^{(i)}_t}_{i=1}^d$
        $c(s_t, a^{(i)}_t) ← s^{(i)}_{t+1}$
        $r(s_t, a_t) ← r^{(i)}_t$

与标准 MCTS 的关键差异:

  • 动作空间截断:标准 MCTS 通常枚举所有合法动作(如围棋 19×19=361 个落子点),而 RAP 通过采样固定数量 d(如 d=5)来应对开放域的无限动作空间(附录 A:'通过从 LLM 中采样固定数量的潜在行动来缩减行动空间')
  • 世界模型调用:每次扩展需调用 LLM 两次(一次生成动作,一次预测状态),计算成本显著高于传统 MCTS 的确定性状态转移
2.3 模拟阶段(Simulation/Rollout,第 16-18 行)
a_{t+1} ← argmax_{a ∈ A(s_t)} r(s_t, a_t) # 选择局部最优动作
r_t ← r(s_t, a_t) # 记录奖励
s_{t+1} ← c(s_t, a_t) # 状态转移
t ← t +1

策略选择(第 3.3 节):

  • 默认策略(Default Policy):采用贪婪策略(greedy rollout),即选择当前奖励最高的动作,而非随机策略
  • 轻量级奖励:为效率考虑,模拟阶段使用简化版奖励函数(如仅使用 r_1 和 r_3,舍弃需多次采样的 r_2 状态置信度)

深度限制:模拟持续直至到达终止状态或深度 L,形成完整轨迹 (s_0, a_0, r_0, ..., s_T)

2.4 反向传播(Backpropagation,第 20-22 行)
for t' ← t downto 0: # 从叶节点回溯至根节点
    根据 {r_{t'}, r_{t'+1},..., r_t} 更新 Q(s_{t'}, a_{t'})

Q 值更新规则(第 3.3 节):

  • 累积回报计算:R_{t'} = \sum_{k=t'}^{t} \gamma^{k-t'} r_k(论文未明确折扣因子 γ,但通常取 1 或 0.9)
  • 增量平均更新:Q(s_{t'}, a_{t'}) ← Q(s_{t'}, a_{t'}) + \frac{R_{t'} - Q(s_{t'}, a_{t'})}{N(s_{t'}, a_{t'})}

关键机制:即时奖励 r_t(包含四维度信号)通过反向传播影响祖先节点的 Q 值,使得早期错误动作(低 r_3 自我评估)在后续迭代中被 UCT 公式惩罚,实现错误回溯(backtracking of errors)。


三、算法终止与输出(第 23 行后)

算法终止后,从构建的树中选择最终轨迹(第 3.3 节):

  1. 最大 Q 值路径:从根节点开始,迭代选择 \arg\max_a Q(s,a) 直至叶节点
  2. 最高奖励路径:选择在所有迭代中获得最高累积奖励 R 的路径
  3. 最多访问路径:选择被访问次数最多的叶节点对应路径(最稳健策略)

RAP 聚合(第 3.4 节):对于数学推理等仅需最终答案的任务,可运行多次 MCTS(不同随机种子),对多条轨迹的答案进行多数投票(majority voting)。


四、与标准 MCTS 的系统性差异(基于附录 A)

特征标准 MCTS(如 AlphaGo)RAP-MCTS工程影响
动作空间有限、可枚举无限、开放域,采样 d 个动作需设计好的动作生成器 p_\varphi
状态转移确定性或学习得到的模型LLM 作为世界模型 p_\theta转移概率非平稳,依赖提示词
奖励结构通常仅终局奖励每步四维度奖励 r_1-r_4可中间剪枝,但计算成本高
模拟策略随机或基于策略网络贪婪选择(基于轻量级奖励)减少 rollout 方差,但可能错过好路径
探索机制标准 UCTUCT + 未探索节点局部奖励估计适应有限迭代预算(N=10/20)

五、计算复杂度分析

单次迭代成本:

  • 选择阶段:O(d⋅L) 次查表(假设树已部分构建)
  • 扩展阶段:2d 次 LLM 调用(动作生成 + 状态预测)+ d 次奖励计算(r_2 需多次采样,成本最高)
  • 模拟阶段:O(L) 次轻量级奖励计算
  • 反向传播:O(L) 次 Q 值更新

总成本:O(N⋅d⋅(C_LLM + C_reward)),其中 C_LLM 为单次 LLM 推理成本。第 4 节实验使用 N=10 或 20,d 通常为 3-5,这使得 RAP 比 CoT 慢 5-100 倍(ToT 论文附录 B.3 类似分析)。


六、算法局限性(基于第 6 节)

  1. 世界模型误差累积:若 p_\theta 在第 t 步预测错误状态,后续所有 Q 值估计将基于错误前提(第 6 节:'未来工作可通过微调改进世界模型')
  2. 奖励校准敏感性:若 r_3(自我评估)过度自信,算法可能过早剪枝正确路径
  3. 深度限制 L 的设定:对于需要长程推理的问题(如>6 步的 Blocksworld),固定 L 可能导致无法找到解(第 5.1 节补充实验显示 6 步以上成功率下降)

目录

  1. 一、算法框架与输入参数
  2. 1.1 输入参数体系(基于第 3.3 节与算法 1)
  3. 1.2 初始化数据结构(第 1-2 行)
  4. 二、主循环:四阶段详解(第 3-23 行)
  5. 2.1 选择阶段(Selection,第 5-10 行)
  6. 2.2 扩展阶段(Expansion,第 11-15 行)
  7. 2.3 模拟阶段(Simulation/Rollout,第 16-18 行)
  8. 2.4 反向传播(Backpropagation,第 20-22 行)
  9. 三、算法终止与输出(第 23 行后)
  10. 四、与标准 MCTS 的系统性差异(基于附录 A)
  11. 五、计算复杂度分析
  12. 六、算法局限性(基于第 6 节)

更多推荐文章

查看全部
  • 基于 SSM 和 Vue 的在线投稿系统设计与实现
  • 基于 Django 框架和 Python 的社团活动管理微信小程序设计实现
  • 图形管线与渲染引擎的 C++ 架构设计:模块化、跨平台与资源驱动
  • SpringBoot 登录认证全栈实现:Session、统一结果封装、MD5 加密与拦截器
  • 线性 DP 经典四题详解:台阶、子段和、传球与乌龟棋
  • AI 时代产品经理的进化路径
  • Attention 模型机制详解与代码实现
  • Whisper-WebUI 使用指南:本地语音转文字工具部署与配置
  • 转行Python的实践与思考
  • Web 后端安全系列:PHP 基础语法与序列化
  • 浪潮信息推出元脑企智 EPAI 平台助力企业大模型落地
  • 集成 Hardhat 与 Alchemy 在 Sepolia 测试网部署智能合约实战
  • 用初中数学理解 LLM 工作原理
  • OpenClaw 本地 AI 代理技术架构与实战部署详解
  • 行星减速器:原理、C++ 实现与工程选型指南
  • Flutter 中 tavily_dart 适配 HarmonyOS 的聚合搜索实践
  • 35 道常见前端 Vue 面试题详解
  • RxJava 网络请求的三种常见场景
  • Visual C++ 运行库缺失与损坏修复指南
  • Unity3D 粒子系统核心模块实战:Velocity、Noise 与生命周期控制

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online