马尔可夫决策过程(MDP)原理与强化学习实践指南

📅 2026/7/23 14:14:01
马尔可夫决策过程(MDP)原理与强化学习实践指南
1. 马尔可夫决策过程MDP核心概念解析在强化学习领域马尔可夫决策过程Markov Decision Process, MDP是描述智能体与环境交互的数学框架。我第一次接触这个概念是在研究机器人路径规划问题时当时需要建立一个能处理不确定性的决策模型。MDP完美地满足了这个需求它将随机性和可控性有机结合成为现代强化学习的理论基础。MDP由五元组(S,A,P,R,γ)构成S有限状态集合A有限动作集合P状态转移概率函数 P(s|s,a)R奖励函数 R(s,a,s)γ折扣因子范围在[0,1]关键理解MDP的马尔可夫性指的是未来状态只依赖于当前状态和动作与历史状态无关。这个性质极大简化了问题建模。2. MDP与相关概念的对比理解2.1 马尔可夫过程MPMP是MDP的基础形式只包含状态和转移概率没有决策环节。可以看作是没有动作选择的MDP。2.2 马尔可夫奖励过程MRPMRP在MP基础上增加了奖励函数但依然没有动作选择。它是评估给定策略时的模型表示。2.3 MDP的完整结构MDP在MRP基础上引入了动作空间A策略π(a|s)包含动作的奖励函数包含动作的状态转移函数3. MDP的核心要素详解3.1 策略Policy策略π是状态到动作的映射分为确定性策略π(s)→a随机性策略π(a|s)→[0,1]实际应用中ε-greedy策略是常见的选择平衡探索与利用。3.2 价值函数状态价值函数V(s)表示从状态s开始遵循策略π的期望回报 V^π(s) E[∑γ^k R_{tk1} | S_t s]动作价值函数Q(s,a)表示在状态s采取动作a后再遵循策略π的期望回报 Q^π(s,a) E[∑γ^k R_{tk1} | S_t s, A_t a]3.3 贝尔曼方程贝尔曼方程是MDP的核心递归关系状态价值贝尔曼方程 V^π(s) ∑π(a|s)∑P(s|s,a)[R(s,a,s) γV^π(s)]动作价值贝尔曼方程 Q^π(s,a) ∑P(s|s,a)[R(s,a,s) γ∑π(a|s)Q^π(s,a)]4. 求解MDP的实践方法4.1 动态规划法适用于已知完整MDP模型的情况策略评估迭代计算V^π策略改进根据V^π改进策略策略迭代交替执行评估和改进# 策略评估伪代码 def policy_evaluation(P, R, π, γ, θ): V np.zeros(len(S)) while True: Δ 0 for s in S: v V[s] V[s] sum(π(a|s) * sum(P(s|s,a)*(R(s,a,s)γ*V[s]) for s in S) for a in A) Δ max(Δ, abs(v - V[s])) if Δ θ: break return V4.2 蒙特卡洛方法适用于未知环境模型的情况通过采样估计价值函数生成完整episode对每个状态/动作对计算回报用平均回报估计价值函数实践技巧首次访问型MC比每次访问型MC通常有更好的收敛性。4.3 时序差分学习结合动态规划和蒙特卡洛的优点TD(0)更新规则 V(s) ← V(s) α[r γV(s) - V(s)]5. 最优策略求解5.1 最优性原理任何最优策略的部分策略也是最优的这使得我们可以通过局部优化获得全局最优策略。5.2 价值迭代算法直接迭代最优价值函数初始化V(s)为任意值对每个s∈S执行 V(s) ← max_a ∑P(s|s,a)[R(s,a,s) γV(s)]重复直到收敛# 价值迭代伪代码 def value_iteration(P, R, γ, θ): V np.zeros(len(S)) while True: Δ 0 for s in S: v V[s] V[s] max(sum(P(s|s,a)*(R(s,a,s)γ*V[s]) for s in S) for a in A) Δ max(Δ, abs(v - V[s])) if Δ θ: break # 提取最优策略 π {} for s in S: π[s] argmax_a sum(P(s|s,a)*(R(s,a,s)γ*V[s]) for s in S) return π6. 实际应用中的注意事项折扣因子选择γ接近1重视长期回报γ接近0重视即时回报 推荐从0.9开始调整探索-利用权衡初期增加探索ε较大后期增加利用ε衰减状态表示离散状态可直接使用表格方法连续状态需使用函数近似如神经网络收敛判断设置合理的阈值θ监控价值函数变化幅度结合策略稳定性综合判断7. 经典问题示例网格世界考虑4x4网格世界状态16个网格位置动作上/下/左/右奖励目标位置1其他-0.04特殊边界保持原位通过价值迭代可以求得最优策略在每个状态选择指向目标的最短路径动作。8. 前沿扩展方向部分可观测MDPPOMDP分层MDPHAMS逆向强化学习多智能体MDP在实际项目中我发现MDP的建模能力与计算复杂度往往需要权衡。对于复杂问题合理的状态抽象和近似求解是关键。建议初学者从小型离散问题入手逐步扩展到连续空间问题。