← RL 知识库RL / 1 OF 8MDP、回报与 Bellman 方程
先定义任务,再选择算法。
学习指南与本课目录
LEARNING CONTRACT理解 → 实现 → 研究
目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
- 理解层:写明假设、形状/单位和一个反例。
- 实现层:复算数值例子并检查边界。
- 研究层:在匹配预算下比较一个替代方法。
理解机制
明确状态、动作、转移概率、奖励、终止条件与 agent 能观察什么。语言模型前缀可作为状态表示;根据抽象层次,动作可以是 token 或工具调用。Markov 性是关于状态是否包含足够信息的假设,不能靠变量命名自动获得。
机制图与逐步推导
原创机制示意图,按从上到下顺序阅读。 SVG ↓- 确定性链 s₀→s₁→终止,奖励依次为 1、2,则 ,×2。 时 。
- Bellman 评价递归代入后继价值;Bellman 最优方程增加下一动作的最大化,不要混淆策略评价与控制。
- 随机转移应按概率平均。如果后继奖励一半概率为 2、一半为 0,期望为 1,而不是最大值 2。
实验检查点明确终止与截断处理,一步手算应与代码一致。
LOCAL / SYNTHETIC / INTERACTIVE改变一个变量,解释结果为什么变。
原创教学计算,并非论文 benchmark 复现。条形在面板内相对缩放,具体数值与单位以标注为准。
原创练习与分析
比较立刻获得奖励 2 与等一步获得奖励 5。 时相等, 时等待回报为 4.5。解释终止状态如何移除 bootstrap 项。
折扣改变优化目标。不能在方法间悄悄改变 γ,也不能越过真实终止状态 bootstrap。时间限制截断可能需要不同处理。
加入很长文本历史就保证 Markov 性吗?
不保证。有关的环境隐藏状态可能仍不可见,问题仍可能部分可观测。
下一章 → 探索、信用分配与奖励设计MATHEMATICAL REVIEW · 2026-10-26假设、参考实现与验收
Bellman 期望以 s,a 为条件。持续折扣任务取 0≤γ<1;终止价值为零。统一 r_(t+1) 表示执行 a_t 后收到的奖励。
已复核公式条件、单位及算例。实现隔离一个数值机制,不训练完整策略,也不控制真实硬件。
运行前:预测一个边界情况
延迟选项为 4.5; 时变为零。
提示:隔离假设
固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。
最小可运行算例
将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node mdp-bellman.mjs. 无需第三方运行依赖。
const solve=()=>{
const gamma=0.9; return [2, gamma*5];
};
const actual=solve();
const expected=[2,4.5];
if(JSON.stringify(actual)===JSON.stringify(expected)){console.log('PASS',actual)}else{
const a=[actual].flat(), b=[expected].flat();
if(a.length!==b.length||a.some((v,i)=>!Number.isFinite(v)||Math.abs(v-b[i])>1e-10))throw Error('Numerical mismatch');
console.log('PASS within 1e-10',actual);
}
参考输出——先预测再展开
[
2,
4.5
]
测试与迁移
延迟选项为 4.5; 时变为零。
在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。
下载完整代码包(.tar.gz) · 完整参考代码与回归检查预测、检验与证据记录
展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围