马尔可夫决策过程
(Markov Decision Process,MDP)是一种数学框架,用于建模决策者在不确定环境中的序列决策问题。MDP 的核心思想是基于马尔可夫性质,即未来的状态只依赖于当前状态和所采取的行动,而与过去的状态和行动无关。
文章目录
- 1. 基本组成部分
- 2. 马尔可夫性质
- 3. 策略 (Policy)
- 4. 值函数 (Value Function)
- 5. 贝尔曼方程 (Bellman Equations)
- 6. 最优策略 (Optimal Policy)
- 7. 求解方法
- 8. 使用案例
- 自动贩卖机案例
- 1. 状态 (States)
- 2. 动作 (Actions)
- 3. 转移概率 (Transition Probabilities)
- 4. 奖励函数 (Reward Function)
- 5. 折扣因子 (Discount Factor)
- 6. 策略 (Policy)
- 7. 求解 MDP
- 8. 结果分析
1. 基本组成部分
一个标准的 MDP 由以下几个基本组成部分构成:
- 状态 (States):表示系统可能处于的各种状态,记为 S S S。
- 动作 (Actions):表示在每个状态下可以采取的动作,记为 A A A。
- 转移概率 (Transition Probabilities):表示在某个状态下采取某个动作后,系统转移到下一个状态的概率,记为 P ( s ′ ∣ s , a ) P(s' | s, a) P(s′∣s,a),其中 s s s 是当前状态, a a a 是采取的动作, s ′ s' s′ 是下一个状态。
- 奖励函数 (Reward Function):表示在某个状态下采取某个动作后获得的即时奖励,记为 R ( s , a , s ′ ) R(s, a, s') R(s,a,s′)。
- 折扣因子 (Discount Factor):表示未来奖励的折现率,记为 γ \gamma γ,通常 0 ≤ γ < 1 0 \leq \gamma < 1 0≤γ<1。
2. 马尔可夫性质
马尔可夫性质
是 MDP 的核心假设,它表明系统的下一个状态只依赖于当前状态和所采取的动作,而与之前的历史状态无关。这个性质简化了问题的复杂性,使得可以用状态转移概率来描述系统的动态行为。
3. 策略 (Policy)
策略是 MDP 中的一个重要概念,它定义了在每个状态下应该采取什么动作。策略可以是一个确定性策略,即在每个状态下指定一个确定的动作;也可以是一个随机性策略,即在每个状态下指定一个动作的概率分布。策略通常记为 π \pi π,表示为 π ( a ∣ s ) \pi(a | s) π(a∣s),即在状态 s s s 下采取动作 a a a 的概率。
4. 值函数 (Value Function)
值函数是评估策略好坏的重要工具。它表示在某个状态下遵循某个策略所能获得的期望累积奖励。值函数分为两种:
- 状态值函数 (State-Value Function):表示在状态 s s s 下遵循策略 π \pi π 的期望累积奖励,记为 V π ( s ) V^\pi(s) Vπ(s)。
- 动作值函数 (Action-Value Function):表示在状态 s s s 下采取动作 a a a 后遵循策略 π \pi π 的期望累积奖励,记为 Q π ( s , a ) Q^\pi(s, a) Qπ(s,a)。
5. 贝尔曼方程 (Bellman Equations)
贝尔曼方程是求解 MDP 的关键工具,它提供了值函数的递归定义。对于状态值函数 V π ( s ) V^\pi(s) Vπ(s),贝尔曼方程可以表示为:
V π ( s ) = ∑ a π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V π ( s ′ ) ) V^\pi(s) = \sum_{a} \pi(a | s) \left( R(s, a) + \gamma \sum_{s'} P(s' | s, a) V^\pi(s') \right) Vπ(s)=a∑π(a∣s)(R(s,a)+γs′∑P(s′∣s,a)Vπ(s′))
对于动作值函数 Q π ( s , a ) Q^\pi(s, a) Qπ(s,a),贝尔曼方程可以表示为:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q^\pi(s, a) = R(s, a) + \gamma \sum_{s'} P(s' | s, a) \sum_{a'} \pi(a' | s') Q^\pi(s', a') Qπ(s,a)=R(s,a)+γs′∑P(s′∣s,a)a′∑π(a′∣s′)Qπ(s′,a′)
6. 最优策略 (Optimal Policy)
最优策略是指在所有可能的策略中,能够获得最大期望累积奖励的策略。求解最优策略通常涉及找到最优的值函数 V ∗ ( s ) V^*(s) V∗(s) 或 Q ∗ ( s , a ) Q^*(s, a) Q∗(s,a),并从中导出最优策略 π ∗ \pi^* π∗。
7. 求解方法
求解 MDP 的方法有很多,包括:
- 值迭代 (Value Iteration):通过迭代更新值函数来逼近最优值函数。
- 策略迭代 (Policy Iteration):通过迭代策略评估和策略改进来找到最优策略。
- Q-学习 (Q-Learning):一种基于动作值函数的强化学习算法,通过与环境的交互来学习最优策略。
8. 使用案例
通过一个具体的应用案例来详细说明马尔可夫决策过程(MDP)的实际应用, 以一个简化的自动贩卖机为例,来说明如何使用MDP来优化决策过程。
自动贩卖机案例
1. 状态 (States)
自动贩卖机的状态可以定义为当前的库存水平。假设库存水平可以分为三个等级:
- S 0 S_0 S0: 高库存(High Inventory)
- S 1 S_1 S1: 中库存(Medium Inventory)
- S 2 S_2 S2: 低库存(Low Inventory)
2. 动作 (Actions)
在每个状态下,自动贩卖机可以采取的动作是订购一定数量的商品。假设动作空间为:
- A 0 A_0 A0: 不订购(Do Nothing)
- A 1 A_1 A1: 订购少量商品(Order Small Quantity)
- A 2 A_2 A2: 订购大量商品(Order Large Quantity)
3. 转移概率 (Transition Probabilities)
转移概率定义了在某个状态下采取某个动作后,系统转移到下一个状态的概率。假设有以下转移概率:
- 从 S 0 S_0 S0 采取 A 0 A_0 A0 转移到 S 1 S_1 S1 的概率为 0.6,转移到 S 0 S_0 S0 的概率为 0.4。
- 从 S 0 S_0 S0 采取 A 1 A_1 A1 转移到 S 1 S_1 S1 的概率为 0.3,转移到 S 0 S_0 S0 的概率为 0.7。
- 从 S 0 S_0 S0 采取 A 2 A_2 A2 转移到 S 1 S_1 S1 的概率为 0.1,转移到 S 0 S_0 S0 的概率为 0.9。
类似地,可以定义从 S 1 S_1 S1 和 S 2 S_2 S2 采取不同动作的转移概率。
4. 奖励函数 (Reward Function)
奖励函数定义了在某个状态下采取某个动作后获得的即时奖励。假设有以下奖励函数:
- 在 S 0 S_0 S0 采取 A 0 A_0 A0 的奖励为 10(因为高库存时不需要订购,节省成本)。
- 在 S 0 S_0 S0 采取 A 1 A_1 A1 的奖励为 5(因为订购少量商品可能不完全满足需求)。
- 在 S 0 S_0 S0 采取 A 2 A_2 A2 的奖励为 -5(因为订购大量商品可能导致库存积压,增加成本)。
类似地,可以定义在 S 1 S_1 S1 和 S 2 S_2 S2 采取不同动作的奖励。
5. 折扣因子 (Discount Factor)
假设折扣因子 γ \gamma γ 为 0.9,表示未来奖励的折现率。
6. 策略 (Policy)
需要找到一个策略 π \pi π,使得在每个状态下采取的动作能够最大化长期累积奖励。
7. 求解 MDP
可以使用值迭代或策略迭代来求解这个 MDP。以下是值迭代的步骤:
- 初始化值函数:将所有状态的值函数初始化为 0。
- 迭代更新值函数:使用贝尔曼方程迭代更新每个状态的值函数,直到值函数收敛。
- 导出最优策略:根据收敛的值函数,选择在每个状态下能够最大化期望累积奖励的动作。
8. 结果分析
通过值迭代,可以得到每个状态的最优值函数 V ∗ ( s ) V^*(s) V∗(s),并根据这些值函数导出最优策略 π ∗ \pi^* π∗。例如,最终的最优策略可能是:
- 在 S 0 S_0 S0 采取 A 0 A_0 A0(不订购)。
- 在 S 1 S_1 S1 采取 A 1 A_1 A1(订购少量商品)。
- 在 S 2 S_2 S2 采取 A 2 A_2 A2(订购大量商品)。
这个策略能够最大化自动贩卖机的长期累积奖励,同时平衡库存水平和订购成本。