Markov Property
给定当前状态后,未来转移不再依赖更早历史。
学习目标
- 检查状态是否足以预测下一步,而不是要求世界没有历史。
- 独立复核“相同位置、不同速度的状态混叠”的输入、计算和解释。
- 预测分布需要历史信息时,应检查状态遗漏。
为什么重要
检查状态是否足以预测下一步,而不是要求世界没有历史。
学习前需要掌握
背景与问题
球在相同位置,向左运动和向右运动会到达不同下一位置。只用位置作为状态,历史轨迹仍能提供速度信息;这说明表示不充分,而不是说物理系统不能用状态建模。
概念定义
马尔可夫性质要求:给定当前状态与动作后,更早的历史不再改变下一状态及奖励的条件分布。它是关于所选状态表示与任务动力学的条件独立假设,不是下一步必然确定,也不是当前状态与过去完全无关。
直观理解
位置与速度一起像一份足够完整的快照。只看一张位置照片可能无法预测下一秒;再看上一帧能估计速度,说明照片里漏了决策所需的变量。
核心原理
状态可以概括历史,例如累计库存、剩余时间或对隐藏变量的后验分布。关键是压缩后是否保留预测所需信息,而非强行只用传感器当前读数。
环境即使满足马尔可夫性质,也可以有随机转移:同一状态与动作可能以固定概率到多个后继。性质要求这些概率在给定状态后不再依赖更早历史,不能把马尔可夫性误写成确定性。
在真实任务中无法靠少量样本严格证明状态充分。可以比较加入历史前后的预测误差,寻找状态混叠;帧堆叠、循环网络和 belief state 是补救方式,但有限记忆不保证解决所有部分可观测问题。
数学表达
马尔可夫性质
历史在给定当前状态动作后不再提供额外转移信息。
变量含义
G_t从时刻 t 开始的折扣累计回报。R_{t+1}执行动作后收到的下一步奖励。γ折扣因子,通常位于 [0,1)。
计算步骤
- 1若状态只记位置 0,两个样本会被合并。
- 2加上速度后,后继位置分别为 1 与 −1。
- 3更早一帧可揭示速度,因此位置表示还不充分。
代码对应位置
示例 1相同位置、不同速度的状态混叠:位置同为 0 的两段历史得到不同后继;加入速度可区分它们。
变量解释
| 变量 | 含义 |
|---|---|
G_t | 从时刻 t 开始的折扣累计回报。 |
R_{t+1} | 执行动作后收到的下一步奖励。 |
γ | 折扣因子,通常位于 [0,1)。 |
完整数值示例
相同位置、不同速度的状态混叠
已知条件
- 简化运动为下一位置等于当前位置加上速度;这里时间步长为 1,速度在一步内不变。
- 两个历史都到位置 0,但当前速度分别是 +1 与 −1。
计算步骤
- 若状态只记位置 0,两个样本会被合并。
- 加上速度后,后继位置分别为 1 与 −1。
- 更早一帧可揭示速度,因此位置表示还不充分。
计算结果
位置同为 0 的两段历史得到不同后继;加入速度可区分它们。
处理前后对比
- 预测分布需要历史信息时,应检查状态遗漏。
- 本例用确定性运动说明混叠;随机系统也可以满足马尔可夫性。
计算与实现步骤
- 列出预测未来所需信息
- 检查当前表示是否包含
- 必要时加入历史或 belief
代码实现
示例 1
相同位置、不同速度的状态混叠
example_01.py用途:位置同为 0 的两段历史得到不同后继;加入速度可区分它们。
position = 0
for velocity in [1, -1]:
next_position = position + velocity
print(f"state=({position},{velocity:+d}) -> next_position={next_position}")代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
位置同为 0 的两段历史得到不同后继;加入速度可区分它们。
Step 1 · 1–4 行
输出中间参数、形状或最终指标,用于核对代码是否符合预期。
position = 0
for velocity in [1, -1]:
next_position = position + velocity
print(f"state=({position},{velocity:+d}) -> next_position={next_position}")预期输出或运行结果
state=(0,+1) -> next_position=1 state=(0,-1) -> next_position=-1
常见错误 · 3 条
- 把随机转移当成违反马尔可夫性质。
- 只给位置却忽略速度、计时或隐藏模式。
- 认为加一个 RNN 就严格恢复了真实状态。
实际应用
- 序贯决策
- 控制与资源分配
常见错误
- 把随机转移当成违反马尔可夫性质。
- 只给位置却忽略速度、计时或隐藏模式。
- 认为加一个 RNN 就严格恢复了真实状态。
扩展内容说明
本页数值均为解释机制的构造案例,不能解读为真实训练或基准性能。定义和适用条件参见 Sutton 与 Barto《Reinforcement Learning: An Introduction》(第 3 章)。
算法属性与数据边界
失败模式、风险与性能
失败模式
- 把随机转移当成违反马尔可夫性质。
- 只给位置却忽略速度、计时或隐藏模式。
- 认为加一个 RNN 就严格恢复了真实状态。
风险
- 奖励函数与真实目标不一致会诱发奖励黑客。
- 部署策略的行动权限必须由环境和应用层约束。
性能考虑
- 样本效率、墙钟时间和显存占用需要分别报告。
- 应使用多个随机种子、置信区间和固定评测策略。
常见问题
马尔可夫性质意味着历史没有用吗?
历史可以用于构造充分状态;性质只说在已经给出充分状态后,额外历史不再改变下一步条件分布。
网页是否会训练模型?
不会。所有图表使用固定种子或解析公式在浏览器本地计算,不执行页面中的示例代码。
推荐学习资料
参考库不会生成虚假资源或无效外部链接。