马尔可夫决策过程(MDP)的贝尔曼方程与值迭代算法
题目描述
马尔可夫决策过程(MDP)是强化学习中对序贯决策问题建模的经典框架。其核心问题是如何通过贝尔曼方程计算最优策略,而值迭代(Value Iteration)是一种动态规划算法,用于求解MDP的最优值函数和策略。本题要求:
- 解释MDP的基本组成(状态、动作、转移概率、奖励函数、折扣因子)。
- 推导贝尔曼方程(Bellman Equation)及其最优形式。
- 逐步讲解值迭代算法的流程,并分析其收敛性。
1. MDP的基本组成
MDP由以下五元组定义:
- 状态集合(S):系统可能处于的所有状态(如机器人所在位置)。
- 动作集合(A):智能体可执行的动作(如前进、后退)。
- 转移概率(P):在状态 \(s\) 执行动作 \(a\) 后,转移到状态 \(s'\) 的概率,记为 \(P(s' \mid s, a)\)。
- 奖励函数(R):在状态 \(s\) 执行动作 \(a\) 后获得的即时奖励,记为 \(R(s, a)\)(或 \(R(s, a, s')\))。
- 折扣因子(γ):未来奖励的衰减系数,\(γ \in [0, 1]\),用于权衡当前与未来奖励的重要性。
目标:找到一个策略 \(π(a \mid s)\)(状态到动作的映射),最大化累积奖励的期望值(即值函数)。
2. 贝尔曼方程推导
(1)状态值函数(State-Value Function)
策略 \(π\) 下的状态值函数 \(V^π(s)\) 表示从状态 \(s\) 开始,遵循策略 \(π\) 的累积奖励期望:
\[V^π(s) = \mathbb{E}_π \left[ \sum_{t=0}^{\infty} γ^t R(s_t, a_t) \mid s_0 = s \right]. \]
将其拆分为即时奖励和未来奖励:
\[V^π(s) = \sum_{a} π(a \mid s) \left[ R(s, a) + γ \sum_{s'} P(s' \mid s, a) V^π(s') \right]. \]
此即贝尔曼方程,描述了当前状态值与后续状态值的递归关系。
(2)最优值函数与贝尔曼最优方程
最优值函数 \(V^*(s) = \max_π V^π(s)\) 满足贝尔曼最优方程:
\[V^*(s) = \max_{a} \left[ R(s, a) + γ \sum_{s'} P(s' \mid s, a) V^*(s') \right]. \]
其含义:最优策略下,当前状态的值等于选择能最大化“即时奖励加未来折扣值”的动作对应的值。
3. 值迭代算法详解
值迭代通过不断更新值函数来逼近 \(V^*\),步骤如下:
步骤1:初始化
对所有状态 \(s \in S\),初始化值函数 \(V_0(s) = 0\)(或随机值)。设迭代次数 \(k=0\)。
步骤2:值函数更新
对每个状态 \(s\),根据贝尔曼最优方程进行更新:
\[V_{k+1}(s) = \max_{a} \left[ R(s, a) + γ \sum_{s'} P(s' \mid s, a) V_k(s') \right]. \]
此步骤遍历所有状态和动作,计算所有可能的未来路径的期望值,并选择最优动作。
步骤3:收敛判断
计算相邻两次迭代值函数的最大差异:
\[\Delta = \max_{s \in S} |V_{k+1}(s) - V_k(s)|. \]
若 \(\Delta < \varepsilon\)(预设阈值,如 \(10^{-6}\)),则停止迭代;否则令 \(k = k+1\),返回步骤2。
步骤4:提取最优策略
收敛后,通过最优值函数导出确定性策略 \(π^*\):
\[π^*(s) = \arg\max_{a} \left[ R(s, a) + γ \sum_{s'} P(s' \mid s, a) V^*(s') \right]. \]
4. 收敛性分析
- 数学保证:贝尔曼最优方程是压缩映射(Contraction Mapping),满足 \(\|V_{k+1} - V^*\|_\infty \leq γ \|V_k - V^*\|_\infty\)。因 \(γ<1\),算法必收敛到唯一解 \(V^*\)。
- 时间复杂度:每轮迭代需遍历 \(|S|\) 个状态和 \(|A|\) 个动作,每次计算 \(|S|\) 次转移,故每轮复杂度为 \(O(|S|^2 |A|)\)。
关键点总结
- 值迭代是模型已知(已知 \(P\) 和 \(R\))下的动态规划方法。
- 核心思想是通过迭代逐步修正值函数,直至满足贝尔曼最优方程。
- 与策略迭代(Policy Iteration)的区别:值迭代直接优化值函数,而策略迭代交替评估策略和改进策略。