强化学习--1.策略和价值函数
- 1、策略和价值函数
- 1、策略(确定/不确定)
- 1. 定义与公式
- 2、价值函数(状态/动作)
- 1. 状态价值函数 V π ( s ) V^\pi(s) Vπ(s)
- 2. 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
- 3. 物理意义
- 4. 示例:两状态马尔可夫链
- 3、确定、随机策略下的不同形式价值函数公式
- **公式说明**:
- **关键符号**:
- **一、确定性策略(Deterministic Policy: π ( s ) = a \pi(s) = a π(s)=a)**
- **二、随机策略(Stochastic Policy: π ( a ∣ s ) \pi(a\mid s) π(a∣s))**
- **三、核心公式对比(数学符号层面)**
- **四、示例总结(环境动态关键作用)**
- 4、 E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s ] \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \,\big|\, S_t = s \right] Eπ[∑t=0∞γtRt+1 St=s]解释
- **展开步骤**
- **示例说明**
- **结论**
- 5、区别与联系
- 2、贝尔曼方程推导
- 3、网格世界案例
- **2.1 贝尔曼方程的形式**
- 2.2 2x2网格
- **一、案例场景:2x2网格世界**
- **环境设定**
- **二、策略(Policy)的原理与计算**
- **1. 策略定义**
- **2. 策略的作用**
- **三、价值函数(Value Function)的原理与计算**
- **1. 状态价值函数 V π ( s ) V^\pi(s) Vπ(s)**
- **计算过程(案例)**
- **2. 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)**
- **计算过程(案例:假设策略为随机策略)**
- **四、核心关系与总结**
- 2.3 3x3网格
- 强化学习策略(Policy)与价值(Value)函数原理及计算过程详解
- **1. 环境设定**
- **2. 策略(Policy)的定义与分类**
- **3. 价值函数(Value Function)的定义**
- **4. 确定性策略下的计算示例**
- **5. 随机策略下的计算示例**
- **6. 对比确定性与随机策略下的计算差异**
- **7. 总结与策略优化**
- **示例2**
- **环境设定**
- **1. 确定性策略下的贝尔曼方程**
- **策略定义**
- **贝尔曼方程**
- **计算示例**
- **2. 随机策略下的贝尔曼方程**
- **策略定义**
- **贝尔曼方程**
- **计算示例(以状态(1,1)为例)**
- **对比总结**
- **结论**
1、策略和价值函数
1、策略(确定/不确定)
策略是智能体选择动作的规则,分为两类:
-
确定性策略:
- 每个状态下只选择一个动作,例如:在状态 s s s时, π ( s ) = 向上 \pi(s) = \text{向上} π(s)=向上。
- 数学表示: π ( a ∣ s ) = 1 \pi(a|s) = 1 π(a∣s)=1(当 a a a是策略指定动作),否则为0。
- 确定性策略 π ( s ) = a \pi(s) = a π(s)=a 表示在状态 s s s 下必然选择动作 a a a,即 π ( a ∣ s ) = 1 \pi(a|s) = 1 π(a∣s)=1
(其他动作概率为0)
。
-
随机性策略:
- 每个状态下按概率分布选择动作,例如:在状态 s s s时,80%概率向上,10%向左,10%向右。
- 数学表示: π ( 向上 ∣ s ) = 0.8 \pi(\text{向上}|s) = 0.8 π(向上∣s)=0.8, π ( 左 ∣ s ) = 0.1 \pi(\text{左}|s) = 0.1 π(左∣s)=0.1, π ( 右 ∣ s ) = 0.1 \pi(\text{右}|s) = 0.1 π(右∣s)=0.1。
策略(Policy, π)
1. 定义与公式
策略表示智能体在给定状态下选择动作的规则,分为两种形式:
- 确定性策略(Deterministic Policy):
直接输出动作,即 a = π ( s ) a = \pi(s) a=π(s),表示在状态 s s s 时必然选择动作 a a a。
公式:
π : S → A \pi: \mathcal{S} \rightarrow \mathcal{A} π:S→A - 随机策略(Stochastic Policy):
输出动作的概率分布,即 π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s) = \mathbb{P}(A=a | S=s) π(a∣s)=P(A=a∣S=s),表示在状态 s s s 时选择动作 a a a 的概率。
公式:
π : S × A → [ 0 , 1 ] , ∑ a ∈ A π ( a ∣ s ) = 1 \pi: \mathcal{S} \times \mathcal{A} \rightarrow [0, 1], \quad \sum_{a \in \mathcal{A}} \pi(a|s) = 1 π:S×A→[0,1],a∈A∑π(a∣s)=1
- 定义与公式
策略表示智能体在给定状态下选择动作的规则,分为两种类型:
- 确定性策略(Deterministic Policy):直接输出具体动作,记为 a = π ( s ) a = \pi(s) a=π(s),即状态 s s s 下必然选择动作 a a a。
- 随机性策略(Stochastic Policy):输出动作的概率分布,公式为:
π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a|s) = \mathbb{P}(A_t = a \mid S_t = s) π(a∣s)=P(At=a∣St=s)
表示在状态 s s s 时,选择动作 a a a 的概率。
公式项解析
- π ( a ∣ s ) \pi(a|s) π(a∣s):策略函数,条件概率分布(随机性策略)或确定映射(确定性策略)。
- A t A_t At:时刻 t t t 智能体选择的动作(随机变量)。
- S t S_t St:时刻 t t t 智能体所处的状态(随机变量)。
- P ( ⋅ ) \mathbb{P}(\cdot) P(⋅):概率运算符,表示在给定状态 s s s 下选择动作 a a a 的概率。
2、价值函数(状态/动作)
价值函数(Value Function)
价值函数衡量“状态”或“状态-动作对”的长期价值,分为状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 和 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)。
1. 状态价值函数 V π ( s ) V^\pi(s) Vπ(s)
-
定义:从状态 s s s 出发,遵循策略 π \pi π 时获得的期望累计折扣回报。
-
公式:
V π ( s ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \,\big|\, S_t = s \right] Vπ(s)=Eπ[t=0∑∞γtRt+1 St=s]
其中:- γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1] 是折扣因子(衡量未来奖励的重要性),
- R t + 1 R_{t+1} Rt+1 是 t + 1 t+1 t+1 时刻的即时奖励,
- 期望 E π \mathbb{E}_\pi Eπ 包含策略 π \pi π 和环境动态的随机性。
-
贝尔曼方程(递归形式):
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) ) V^\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) \left( R(s,a) + \gamma \sum_{s' \in \mathcal{S}} P(s'|s,a) V^\pi(s') \right) Vπ(s)=a∈A∑π(a∣s)(R(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′))
其中 P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a) 是状态转移概率, R ( s , a ) R(s,a) R(s,a) 是状态 s s s 执行动作 a a a 的即时奖励。 -
定义:从状态 s s s 出发,遵循策略 π \pi π 时,未来累计折扣奖励的期望值。
-
公式:
V π ( s ) = E π [ R t + γ R t + 1 + γ 2 R t + 2 + ⋯ ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \dots \mid S_t = s \right] Vπ(s)=Eπ[Rt+γRt+1+γ2Rt+2+⋯∣St=s]
或递归形式(贝尔曼方程):
V π ( s ) = E π [ R t + 1 + γ V π ( S t + 1 ) ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma V^\pi(S_{t+1}) \mid S_t = s \right] Vπ(s)=Eπ[Rt+1+γVπ(St+1)∣St=s] -
公式项解析
- R t R_t Rt:时刻 t t t 获得的即时奖励(标量)。
- γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]:折扣因子,用于衰减未来奖励的重要性( γ = 0 \gamma=0 γ=0 只关注即时奖励, γ = 1 \gamma=1 γ=1 关注所有未来奖励)。
- E π [ ⋅ ] \mathbb{E}_\pi[\cdot] Eπ[⋅]:在策略 π \pi π 下的期望,包含动作选择和环境状态转移的随机性。
- S t + 1 S_{t+1} St+1:执行动作后转移到的下一个状态(由环境动态决定,记为转移概率 p ( s ′ ∣ s , a ) = P ( S t + 1 = s ′ ∣ S t = s , A t = a ) p(s'|s,a) = \mathbb{P}(S_{t+1}=s' \mid S_t=s, A_t=a) p(s′∣s,a)=P(St+1=s′∣St=s,At=a))。
-
展开形式(考虑环境动态):
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S p ( s ′ ∣ s , a ) [ r ( s , a ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_{a \in \mathcal{A}} \pi(a|s) \sum_{s' \in \mathcal{S}} p(s'|s,a) \left[ r(s,a) + \gamma V^\pi(s') \right] Vπ(s)=a∈A∑π(a∣s)s′∈S∑p(s′∣s,a)[r(s,a)+γVπ(s′)]
其中 r ( s , a ) = E [ R t + 1 ∣ S t = s , A t = a ] r(s,a) = \mathbb{E}[R_{t+1} \mid S_t=s, A_t=a] r(s,a)=E[Rt+1∣St=s,At=a] 是状态 s s s 执行动作 a a a 的期望即时奖励。
2. 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
-
定义:从状态 s s s 出发,执行动作 a a a 后遵循策略 π \pi π 时获得的期望累计折扣回报。
-
公式:
Q π ( s , a ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \,\big|\, S_t = s, A_t = a \right] Qπ(s,a)=Eπ[t=0∑∞γtRt+1 St=s,At=a] -
贝尔曼方程:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q^\pi(s,a) = R(s,a) + \gamma \sum_{s' \in \mathcal{S}} P(s'|s,a) \sum_{a' \in \mathcal{A}} \pi(a'|s') Q^\pi(s',a') Qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)a′∈A∑π(a′∣s′)Qπ(s′,a′)
即当前动作的即时奖励 + 后续状态所有可能动作的价值期望。 -
定义:从状态 s s s 出发,执行动作 a a a 后,遵循策略 π \pi π 时,未来累计折扣奖励的期望值。
-
公式:
Q π ( s , a ) = E π [ R t + γ R t + 1 + γ 2 R t + 2 + ⋯ ∣ S t = s , A t = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \dots \mid S_t = s, A_t = a \right] Qπ(s,a)=Eπ[Rt+γRt+1+γ2Rt+2+⋯∣St=s,At=a]
递归形式(贝尔曼方程):
Q π ( s , a ) = E π [ R t + 1 + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma Q^\pi(S_{t+1}, A_{t+1}) \mid S_t = s, A_t = a \right] Qπ(s,a)=Eπ[Rt+1+γQπ(St+1,At+1)∣St=s,At=a] -
公式项解析
- 与状态价值函数的区别:固定当前动作 a a a,后续动作由策略 π \pi π 决定。
- 展开形式(考虑环境动态):
Q π ( s , a ) = ∑ s ′ ∈ S p ( s ′ ∣ s , a ) [ r ( s , a ) + γ ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) ] Q^\pi(s,a) = \sum_{s' \in \mathcal{S}} p(s'|s,a) \left[ r(s,a) + \gamma \sum_{a' \in \mathcal{A}} \pi(a'|s') Q^\pi(s',a') \right] Qπ(s,a)=s′∈S∑p(s′∣s,a)[r(s,a)+γa′∈A∑π(a′∣s′)Qπ(s′,a′)]
3. 物理意义
- V π ( s ) V^\pi(s) Vπ(s) 衡量状态 s s s 的“好坏”, Q π ( s , a ) Q^\pi(s,a) Qπ(s,a) 衡量动作 a a a 在状态 s s s 下的“好坏”。
- 价值函数通过递归关系(贝尔曼方程)将当前价值与未来价值联系起来,是动态规划求解强化学习的核心。
4. 示例:两状态马尔可夫链
假设系统有两个状态 s 1 , s 2 s_1, s_2 s1,s2,动作空间 A = { a 1 , a 2 } \mathcal{A} = \{a_1, a_2\} A={a1,a2},状态转移和奖励如下:
- 从 s 1 s_1 s1 执行 a 1 a_1 a1 以概率1转移到 s 2 s_2 s2,奖励 R = 0 R=0 R=0;
- 从 s 2 s_2 s2 执行 a 2 a_2 a2 以概率1转移到 s 1 s_1 s1,奖励 R = 5 R=5 R=5;
- 折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9,策略为确定性策略 π ( s 1 ) = a 1 , π ( s 2 ) = a 2 \pi(s_1)=a_1, \pi(s_2)=a_2 π(s1)=a1,π(s2)=a2。
计算 V π ( s 1 ) V^\pi(s_1) Vπ(s1) 和 V π ( s 2 ) V^\pi(s_2) Vπ(s2):
根据贝尔曼方程:
V π ( s 1 ) = π ( a 1 ∣ s 1 ) ( R ( s 1 , a 1 ) + γ V π ( s 2 ) ) = 0 + 0.9 V π ( s 2 ) V^\pi(s_1) = \pi(a_1|s_1) \left( R(s_1,a_1) + \gamma V^\pi(s_2) \right) = 0 + 0.9 V^\pi(s_2) Vπ(s1)=π(a1∣s1)(R(s1,a1)+γVπ(s2))=0+0.9Vπ(s2)
V π ( s 2 ) = π ( a 2 ∣ s 2 ) ( R ( s 2 , a 2 ) + γ V π ( s 1 ) ) = 5 + 0.9 V π ( s 1 ) V^\pi(s_2) = \pi(a_2|s_2) \left( R(s_2,a_2) + \gamma V^\pi(s_1) \right) = 5 + 0.9 V^\pi(s_1) Vπ(s2)=π(a2∣s2)(R(s2,a2)+γVπ(s1))=5+0.9Vπ(s1)
联立方程解得:
V π ( s 1 ) = 0.9 ( 5 + 0.9 V π ( s 1 ) ) ⟹ V π ( s 1 ) = 4.5 1 − 0.81 = 23.68 V^\pi(s_1) = 0.9(5 + 0.9 V^\pi(s_1)) \implies V^\pi(s_1) = \frac{4.5}{1 - 0.81} = 23.68 Vπ(s1)=0.9(5+0.9Vπ(s1))⟹Vπ(s1)=1−0.814.5=23.68
V π ( s 2 ) = 5 + 0.9 × 23.68 = 26.31 V^\pi(s_2) = 5 + 0.9 \times 23.68 = 26.31 Vπ(s2)=5+0.9×23.68=26.31
计算 Q π ( s 2 , a 2 ) Q^\pi(s_2, a_2) Qπ(s2,a2):
Q π ( s 2 , a 2 ) = R ( s 2 , a 2 ) + γ V π ( s 1 ) = 5 + 0.9 × 23.68 = 26.31 Q^\pi(s_2, a_2) = R(s_2,a_2) + \gamma V^\pi(s_1) = 5 + 0.9 \times 23.68 = 26.31 Qπ(s2,a2)=R(s2,a2)+γVπ(s1)=5+0.9×23.68=26.31
(与 V π ( s 2 ) V^\pi(s_2) Vπ(s2) 相等,因为策略下 s 2 s_2 s2 只能选 a 2 a_2 a2,体现 V π ( s ) = ∑ a π ( a ∣ s ) Q π ( s , a ) V^\pi(s) = \sum_a \pi(a|s) Q^\pi(s,a) Vπ(s)=∑aπ(a∣s)Qπ(s,a) 的关系)。
3、确定、随机策略下的不同形式价值函数公式
强化学习:详细举例说明确定性策略和随机策略下的价值函数原公式、递归形式、展开形式(考虑环境动态),以表格形式输出
以下为确定性策略和随机策略下状态价值函数(V)和动作价值函数(Q)的公式对比,包含原公式、递归形式(贝尔曼方程)及展开形式(考虑环境动态):
策略类型 | 价值函数 | 原公式 | 递归形式(贝尔曼方程) | 展开形式(考虑环境动态) |
---|---|---|---|---|
确定性策略 | Vπ(s) | V π ( s ) = E [ r + γ V π ( s ′ ) ∣ a = π ( s ) ] V^\pi(s) = \mathbb{E}\left[ r + \gamma V^\pi(s') \mid a = \pi(s) \right] Vπ(s)=E[r+γVπ(s′)∣a=π(s)] | V π ( s ) = ∑ s ′ , r p ( s ′ , r ∣ s , π ( s ) ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_{s', r} p(s', r \mid s, \pi(s)) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=∑s′,rp(s′,r∣s,π(s))[r+γVπ(s′)] | V π ( s ) = ∑ s ′ , r p ( s ′ , r ∣ s , π ( s ) ) [ r + γ ∑ s ′ ′ , r ′ p ( s ′ ′ , r ′ ∣ s ′ , π ( s ′ ) ) [ r ′ + γ V π ( s ′ ′ ) ] ] V^\pi(s) = \sum_{s', r} p(s', r \mid s, \pi(s)) \left[ r + \gamma \sum_{s'', r'} p(s'', r' \mid s', \pi(s')) \left[ r' + \gamma V^\pi(s'') \right] \right] Vπ(s)=∑s′,rp(s′,r∣s,π(s))[r+γ∑s′′,r′p(s′′,r′∣s′,π(s′))[r′+γVπ(s′′)]](无限展开) |
确定性策略 | Qπ(s, a) | Q π ( s , a ) = E [ r + γ Q π ( s ′ , π ( s ′ ) ) ∣ s , a ] Q^\pi(s, a) = \mathbb{E}\left[ r + \gamma Q^\pi(s', \pi(s')) \mid s, a \right] Qπ(s,a)=E[r+γQπ(s′,π(s′))∣s,a] | Q π ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ Q π ( s ′ , π ( s ′ ) ) ] Q^\pi(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma Q^\pi(s', \pi(s')) \right] Qπ(s,a)=∑s′,rp(s′,r∣s,a)[r+γQπ(s′,π(s′))] | Q π ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ ∑ s ′ ′ , r ′ p ( s ′ ′ , r ′ ∣ s ′ , π ( s ′ ) ) [ r ′ + γ Q π ( s ′ ′ , π ( s ′ ′ ) ) ] ] Q^\pi(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \sum_{s'', r'} p(s'', r' \mid s', \pi(s')) \left[ r' + \gamma Q^\pi(s'', \pi(s'')) \right] \right] Qπ(s,a)=∑s′,rp(s′,r∣s,a)[r+γ∑s′′,r′p(s′′,r′∣s′,π(s′))[r′+γQπ(s′′,π(s′′))]] |
随机策略 | Vπ(s) | V π ( s ) = E a ∼ π ( ⋅ ∣ s ) [ E [ r + γ V π ( s ′ ) ∣ s , a ] ] V^\pi(s) = \mathbb{E}_{a \sim \pi(\cdot \mid s)}\left[ \mathbb{E}\left[ r + \gamma V^\pi(s') \mid s, a \right] \right] Vπ(s)=Ea∼π(⋅∣s)[E[r+γVπ(s′)∣s,a]] | V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_a \pi(a \mid s) \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=∑aπ(a∣s)∑s′,rp(s′,r∣s,a)[r+γVπ(s′)] | V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) ∑ s ′ ′ , r ′ p ( s ′ ′ , r ′ ∣ s ′ , a ′ ) [ r ′ + γ V π ( s ′ ′ ) ] ] V^\pi(s) = \sum_a \pi(a \mid s) \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \sum_{a'} \pi(a' \mid s') \sum_{s'', r'} p(s'', r' \mid s', a') \left[ r' + \gamma V^\pi(s'') \right] \right] Vπ(s)=∑aπ(a∣s)∑s′,rp(s′,r∣s,a)[r+γ∑a′π(a′∣s′)∑s′′,r′p(s′′,r′∣s′,a′)[r′+γVπ(s′′)]] |
随机策略 | Qπ(s, a) | Q π ( s , a ) = E [ r + γ E a ′ ∼ π ( ⋅ ∣ s ′ ) Q π ( s ′ , a ′ ) ∣ s , a ] Q^\pi(s, a) = \mathbb{E}\left[ r + \gamma \mathbb{E}_{a' \sim \pi(\cdot \mid s')} Q^\pi(s', a') \mid s, a \right] Qπ(s,a)=E[r+γEa′∼π(⋅∣s′)Qπ(s′,a′)∣s,a] | Q π ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) ] Q^\pi(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \sum_{a'} \pi(a' \mid s') Q^\pi(s', a') \right] Qπ(s,a)=∑s′,rp(s′,r∣s,a)[r+γ∑a′π(a′∣s′)Qπ(s′,a′)] | Q π ( s , a ) = ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) ∑ s ′ ′ , r ′ p ( s ′ ′ , r ′ ∣ s ′ , a ′ ) [ r ′ + γ ∑ a ′ ′ π ( a ′ ′ ∣ s ′ ′ ) Q π ( s ′ ′ , a ′ ′ ) ] ] Q^\pi(s, a) = \sum_{s', r} p(s', r \mid s, a) \left[ r + \gamma \sum_{a'} \pi(a' \mid s') \sum_{s'', r'} p(s'', r' \mid s', a') \left[ r' + \gamma \sum_{a''} \pi(a'' \mid s'') Q^\pi(s'', a'') \right] \right] Qπ(s,a)=∑s′,rp(s′,r∣s,a)[r+γ∑a′π(a′∣s′)∑s′′,r′p(s′′,r′∣s′,a′)[r′+γ∑a′′π(a′′∣s′′)Qπ(s′′,a′′)]] |
公式说明:
- 原公式:定义式,表示价值函数的期望回报。
- 递归形式:贝尔曼方程,通过单步展开将价值函数分解为即时奖励与后续状态的折扣价值。
- 展开形式:通过递归代入贝尔曼方程,显式展开为多步奖励的期望(例如两步展开)。
关键符号:
- p ( s ′ , r ∣ s , a ) p(s', r \mid s, a) p(s′,r∣s,a): 环境动态,表示在状态 s s s 执行动作 a a a 后转移到 s ′ s' s′ 并获得奖励 r r r 的概率。
- γ \gamma γ: 折扣因子。
- π ( s ) \pi(s) π(s): 确定性策略直接输出动作。
- π ( a ∣ s ) \pi(a \mid s) π(a∣s): 随机策略输出动作的概率分布。
以下以表格形式详细对比确定性策略和随机策略下的状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 和 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),包含原公式、递归形式、展开形式及具体示例(考虑环境动态)。
一、确定性策略(Deterministic Policy: π ( s ) = a \pi(s) = a π(s)=a)
价值函数 | 原公式(期望定义) | 递归形式(贝尔曼方程) | 展开形式(无限级数) | 示例(确定性环境动态) |
---|---|---|---|---|
状态价值 V π ( s ) V^\pi(s) Vπ(s) | V π ( s ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s ] V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_0 = s \right] Vπ(s)=Eπ[∑t=0∞γtRt+1∣S0=s] | V π ( s ) = ∑ s ′ p ( s ′ ∣ s , π ( s ) ) [ r ( s , π ( s ) , s ′ ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_{s'} p(s'\mid s, \pi(s)) \left[ r(s, \pi(s), s') + \gamma V^\pi(s') \right] Vπ(s)=∑s′p(s′∣s,π(s))[r(s,π(s),s′)+γVπ(s′)] | V π ( s ) = r ( s , a , s 1 ) + γ r ( s 1 , a 1 , s 2 ) + γ 2 r ( s 2 , a 2 , s 3 ) + … V^\pi(s) = r(s, a, s_1) + \gamma r(s_1, a_1, s_2) + \gamma^2 r(s_2, a_2, s_3) + \dots Vπ(s)=r(s,a,s1)+γr(s1,a1,s2)+γ2r(s2,a2,s3)+… (其中 a t = π ( s t ) a_t = \pi(s_t) at=π(st), s t + 1 s_{t+1} st+1 由 p ( s ′ ∣ s t , a t ) p(s'\mid s_t, a_t) p(s′∣st,at) 确定) | 场景:状态 s s s 执行动作 a = π ( s ) a=\pi(s) a=π(s) 后,以 p = 1 p=1 p=1 转移到 s ′ s' s′,奖励 r = 5 r=5 r=5 计算: V π ( s ) = 5 + γ V π ( s ′ ) V^\pi(s) = 5 + \gamma V^\pi(s') Vπ(s)=5+γVπ(s′) V π ( s ′ ) = 0 V^\pi(s') = 0 Vπ(s′)=0(终止状态) 结果: V π ( s ) = 5 V^\pi(s) = 5 Vπ(s)=5(若 γ = 0 \gamma=0 γ=0) |
动作价值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a) | Q π ( s , a ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s , A 0 = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_0 = s, A_0 = a \right] Qπ(s,a)=Eπ[∑t=0∞γtRt+1∣S0=s,A0=a] | Q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] Q^\pi(s,a) = \sum_{s'} p(s'\mid s,a) \left[ r(s,a,s') + \gamma V^\pi(s') \right] Qπ(s,a)=∑s′p(s′∣s,a)[r(s,a,s′)+γVπ(s′)] (若 a = π ( s ) a = \pi(s) a=π(s),则 Q π ( s , a ) = V π ( s ) Q^\pi(s,a) = V^\pi(s) Qπ(s,a)=Vπ(s)) | Q π ( s , a ) = r ( s , a , s 1 ) + γ r ( s 1 , π ( s 1 ) , s 2 ) + γ 2 r ( s 2 , π ( s 2 ) , s 3 ) + … Q^\pi(s,a) = r(s,a,s_1) + \gamma r(s_1, \pi(s_1), s_2) + \gamma^2 r(s_2, \pi(s_2), s_3) + \dots Qπ(s,a)=r(s,a,s1)+γr(s1,π(s1),s2)+γ2r(s2,π(s2),s3)+… | 场景:状态 s s s 执行动作 a a a 后,以 p = 0.7 p=0.7 p=0.7 转移到 s 1 s_1 s1(奖励 r = 3 r=3 r=3), p = 0.3 p=0.3 p=0.3 转移到 s 2 s_2 s2(奖励 r = − 1 r=-1 r=−1) 计算: Q π ( s , a ) = 0.7 ( 3 + γ V π ( s 1 ) ) + 0.3 ( − 1 + γ V π ( s 2 ) ) Q^\pi(s,a) = 0.7(3 + \gamma V^\pi(s_1)) + 0.3(-1 + \gamma V^\pi(s_2)) Qπ(s,a)=0.7(3+γVπ(s1))+0.3(−1+γVπ(s2)) |
二、随机策略(Stochastic Policy: π ( a ∣ s ) \pi(a\mid s) π(a∣s))
价值函数 | 原公式(期望定义) | 递归形式(贝尔曼方程) | 展开形式(无限级数) | 示例(随机环境动态) |
---|---|---|---|---|
状态价值 V π ( s ) V^\pi(s) Vπ(s) | V π ( s ) = ∑ a π ( a ∣ s ) E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s , A 0 = a ] V^\pi(s) = \sum_a \pi(a\mid s) \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_0 = s, A_0 = a \right] Vπ(s)=∑aπ(a∣s)Eπ[∑t=0∞γtRt+1∣S0=s,A0=a] | V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_a \pi(a\mid s) \sum_{s'} p(s'\mid s,a) \left[ r(s,a,s') + \gamma V^\pi(s') \right] Vπ(s)=∑aπ(a∣s)∑s′p(s′∣s,a)[r(s,a,s′)+γVπ(s′)] | V π ( s ) = ∑ a π ( a ∣ s ) [ r ( s , a , s 1 a ) p ( s 1 a ∣ s , a ) + γ ∑ a ′ π ( a ′ ∣ s 1 a ) ( r ( s 1 a , a ′ , s 2 a ′ ) p ( s 2 a ′ ∣ s 1 a , a ′ ) + … ) ] V^\pi(s) = \sum_a \pi(a\mid s) \left[ r(s,a,s_1^a) p(s_1^a\mid s,a) + \gamma \sum_{a'} \pi(a'\mid s_1^a) \left( r(s_1^a,a',s_2^{a'}) p(s_2^{a'}\mid s_1^a,a') + \dots \right) \right] Vπ(s)=∑aπ(a∣s)[r(s,a,s1a)p(s1a∣s,a)+γ∑a′π(a′∣s1a)(r(s1a,a′,s2a′)p(s2a′∣s1a,a′)+…)] | 场景:状态 s s s 以 π ( a 1 ∣ s ) = 0.6 \pi(a_1\mid s)=0.6 π(a1∣s)=0.6、 π ( a 2 ∣ s ) = 0.4 \pi(a_2\mid s)=0.4 π(a2∣s)=0.4 选择动作, - a 1 a_1 a1:以 p = 0.8 p=0.8 p=0.8 转移到 s ′ s' s′(奖励 r = 10 r=10 r=10), p = 0.2 p=0.2 p=0.2 留 s s s(奖励 r = 0 r=0 r=0) - a 2 a_2 a2:确定转移到 s ′ ′ s'' s′′(奖励 r = 5 r=5 r=5) 计算: V π ( s ) = 0.6 [ 0.8 ( 10 + γ V π ( s ′ ) ) + 0.2 ( 0 + γ V π ( s ) ) ] + 0.4 [ 5 + γ V π ( s ′ ′ ) ] V^\pi(s) = 0.6[0.8(10 + \gamma V^\pi(s')) + 0.2(0 + \gamma V^\pi(s))] + 0.4[5 + \gamma V^\pi(s'')] Vπ(s)=0.6[0.8(10+γVπ(s′))+0.2(0+γVπ(s))]+0.4[5+γVπ(s′′)] |
动作价值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a) | Q π ( s , a ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s , A 0 = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_0 = s, A_0 = a \right] Qπ(s,a)=Eπ[∑t=0∞γtRt+1∣S0=s,A0=a] | Q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) ] Q^\pi(s,a) = \sum_{s'} p(s'\mid s,a) \left[ r(s,a,s') + \gamma \sum_{a'} \pi(a'\mid s') Q^\pi(s',a') \right] Qπ(s,a)=∑s′p(s′∣s,a)[r(s,a,s′)+γ∑a′π(a′∣s′)Qπ(s′,a′)] | Q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ ∑ a ′ π ( a ′ ∣ s ′ ) ( r ( s ′ , a ′ , s ′ ′ ) p ( s ′ ′ ∣ s ′ , a ′ ) + γ ∑ a ′ ′ π ( a ′ ′ ∣ s ′ ′ ) … ) ] Q^\pi(s,a) = \sum_{s'} p(s'\mid s,a) \left[ r(s,a,s') + \gamma \sum_{a'} \pi(a'\mid s') \left( r(s',a',s'') p(s''\mid s',a') + \gamma \sum_{a''} \pi(a''\mid s'') \dots \right) \right] Qπ(s,a)=∑s′p(s′∣s,a)[r(s,a,s′)+γ∑a′π(a′∣s′)(r(s′,a′,s′′)p(s′′∣s′,a′)+γ∑a′′π(a′′∣s′′)…)] | 场景:固定动作 a a a,状态 s s s 以 p = 0.5 p=0.5 p=0.5 转移到 s 1 s_1 s1(奖励 r = 2 r=2 r=2), p = 0.5 p=0.5 p=0.5 转移到 s 2 s_2 s2(奖励 r = 4 r=4 r=4), 后续状态 s 1 s_1 s1 以 π ( a 1 ∣ s 1 ) = 0.3 \pi(a_1\mid s_1)=0.3 π(a1∣s1)=0.3、 π ( a 2 ∣ s 1 ) = 0.7 \pi(a_2\mid s_1)=0.7 π(a2∣s1)=0.7 选择动作 计算: Q π ( s , a ) = 0.5 [ 2 + γ ( 0.3 Q π ( s 1 , a 1 ) + 0.7 Q π ( s 1 , a 2 ) ) ] + 0.5 [ 4 + γ ( 0.3 Q π ( s 2 , a 1 ) + 0.7 Q π ( s 2 , a 2 ) ) ] Q^\pi(s,a) = 0.5[2 + \gamma(0.3 Q^\pi(s_1,a_1) + 0.7 Q^\pi(s_1,a_2))] + 0.5[4 + \gamma(0.3 Q^\pi(s_2,a_1) + 0.7 Q^\pi(s_2,a_2))] Qπ(s,a)=0.5[2+γ(0.3Qπ(s1,a1)+0.7Qπ(s1,a2))]+0.5[4+γ(0.3Qπ(s2,a1)+0.7Qπ(s2,a2))] |
三、核心公式对比(数学符号层面)
对比项 | 确定性策略 | 随机策略 |
---|---|---|
策略表示 | π ( s ) = a \pi(s) = a π(s)=a(确定动作) | π ( a ∣ s ) \pi(a\mid s) π(a∣s)(动作概率分布, ∑ a π ( a ∣ s ) = 1 \sum_a \pi(a\mid s) = 1 ∑aπ(a∣s)=1) |
状态价值递归式 | V π ( s ) = ∑ s ′ p ( s ′ ∣ s , π ( s ) ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_{s'} p(s'\mid s,\pi(s)) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=∑s′p(s′∣s,π(s))[r+γVπ(s′)](无动作求和) | V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ p ( s ′ ∣ s , a ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_a \pi(a\mid s) \sum_{s'} p(s'\mid s,a) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=∑aπ(a∣s)∑s′p(s′∣s,a)[r+γVπ(s′)](双重求和:动作+转移) |
动作价值递归式 | Q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) [ r + γ V π ( s ′ ) ] Q^\pi(s,a) = \sum_{s'} p(s'\mid s,a) \left[ r + \gamma V^\pi(s') \right] Qπ(s,a)=∑s′p(s′∣s,a)[r+γVπ(s′)](仅转移求和) | Q π ( s , a ) = ∑ s ′ p ( s ′ ∣ s , a ) [ r + γ ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) ] Q^\pi(s,a) = \sum_{s'} p(s'\mid s,a) \left[ r + \gamma \sum_{a'} \pi(a'\mid s') Q^\pi(s',a') \right] Qπ(s,a)=∑s′p(s′∣s,a)[r+γ∑a′π(a′∣s′)Qπ(s′,a′)](转移+后续动作概率求和) |
展开式核心 | 动作序列固定,仅环境转移概率累加 | 每一步需对动作选择概率和环境转移概率同时求和 |
四、示例总结(环境动态关键作用)
-
确定性环境 vs. 随机环境:
- 若环境动态是确定性的( p ( s ′ ∣ s , a ) = 1 p(s'\mid s,a)=1 p(s′∣s,a)=1),确定性策略的展开式退化为直接递推(如网格世界案例);
- 若环境有随机性(如 p ( s ′ ∣ s , a ) < 1 p(s'\mid s,a) < 1 p(s′∣s,a)<1),即使策略是确定性的,价值函数仍需对转移概率加权求和。
-
策略随机性的影响:
- 随机策略的价值函数在策略层引入动作选择的随机性( π ( a ∣ s ) \pi(a\mid s) π(a∣s)),与环境动态的随机性( p ( s ′ ∣ s , a ) p(s'\mid s,a) p(s′∣s,a))共同决定期望回报。
通过表格可清晰看到,两种策略的价值函数在数学结构上的核心差异在于是否对动作概率进行求和,而环境动态(转移概率 p p p)始终影响价值函数的递归和展开形式。
4、 E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s ] \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \,\big|\, S_t = s \right] Eπ[∑t=0∞γtRt+1 St=s]解释
要展开状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 中的期望 E π \mathbb{E}_\pi Eπ,需考虑策略 π \pi π 和环境动态的联合作用。具体步骤如下:
-
策略与动作选择:在状态 s s s,策略 π \pi π 规定选择动作 a a a 的概率为 π ( a ∣ s ) \pi(a|s) π(a∣s)。
-
环境动态:执行动作 a a a 后,环境根据转移概率 P ( s ′ , r ∣ s , a ) P(s', r | s, a) P(s′,r∣s,a) 转移到状态 s ′ s' s′,并提供奖励 r r r。
-
递归期望计算:状态价值是即时奖励与后续状态折扣价值的期望之和:
V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_a \pi(a|s) \sum_{s', r} P(s', r | s, a) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=a∑π(a∣s)s′,r∑P(s′,r∣s,a)[r+γVπ(s′)]
示例说明:
假设状态 s s s 有两个动作 a 1 a_1 a1 和 a 2 a_2 a2,策略为均匀随机(各选概率 0.5):
- 动作 a 1 a_1 a1:转移到终止态,奖励 1,后续价值为 0。
- 动作 a 2 a_2 a2:留在 s s s,奖励 0,后续价值为 γ V π ( s ) \gamma V^\pi(s) γVπ(s)。
代入贝尔曼方程:
V π ( s ) = 0.5 × ( 1 + 0 ) + 0.5 × ( 0 + γ V π ( s ) ) V^\pi(s) = 0.5 \times (1 + 0) + 0.5 \times (0 + \gamma V^\pi(s)) Vπ(s)=0.5×(1+0)+0.5×(0+γVπ(s))
解得 V π ( s ) = 0.5 1 − 0.45 ≈ 0.909 V^\pi(s) = \frac{0.5}{1 - 0.45} \approx 0.909 Vπ(s)=1−0.450.5≈0.909。
结论: E π \mathbb{E}_\pi Eπ 的展开综合了策略的动作选择概率和环境的状态转移概率,通过递归计算即时奖励和未来折扣价值的期望,最终收敛到状态价值 V π ( s ) V^\pi(s) Vπ(s)。
状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 的公式
V π ( s ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \,\big|\, S_t = s \right] Vπ(s)=Eπ[t=0∑∞γtRt+1 St=s]
表示在策略 π \pi π 下,从状态 s s s 出发的长期期望回报。其核心是通过策略 π \pi π 和环境的动态联合作用,对所有可能的未来奖励进行加权平均,并考虑时间折扣因子 γ \gamma γ。以下是展开 E π \mathbb{E}_\pi Eπ 的步骤和示例:
展开步骤
-
策略的动作选择
在状态 s s s,策略 π \pi π 以概率 π ( a ∣ s ) \pi(a|s) π(a∣s) 选择动作 a a a。 -
环境的动态转移
执行动作 a a a 后,环境根据转移概率 P ( s ′ , r ∣ s , a ) P(s', r | s, a) P(s′,r∣s,a) 转移到状态 s ′ s' s′,并产生即时奖励 r r r。 -
递归期望计算
状态价值是即时奖励与后续状态折扣价值的期望之和,即贝尔曼方程:
V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ V π ( s ′ ) ] V^\pi(s) = \sum_{a} \pi(a|s) \sum_{s', r} P(s', r | s, a) \left[ r + \gamma V^\pi(s') \right] Vπ(s)=a∑π(a∣s)s′,r∑P(s′,r∣s,a)[r+γVπ(s′)]
示例说明
假设状态 s s s 有两个动作 a 1 a_1 a1 和 a 2 a_2 a2,策略为均匀随机(各选概率 0.5 0.5 0.5),折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9:
-
动作 a 1 a_1 a1
- 转移到终止态,获得即时奖励 r = 1 r = 1 r=1,后续价值为 0 0 0。
- 贡献值: 1 + γ ⋅ 0 = 1 1 + \gamma \cdot 0 = 1 1+γ⋅0=1。
-
动作 a 2 a_2 a2
- 留在状态 s s s,获得即时奖励 r = 0 r = 0 r=0,后续价值为 γ V π ( s ) \gamma V^\pi(s) γVπ(s)。
- 贡献值: 0 + γ V π ( s ) 0 + \gamma V^\pi(s) 0+γVπ(s)。
代入贝尔曼方程:
V π ( s ) = 0.5 × 1 + 0.5 × γ V π ( s ) V^\pi(s) = 0.5 \times 1 + 0.5 \times \gamma V^\pi(s) Vπ(s)=0.5×1+0.5×γVπ(s)
解得:
V π ( s ) = 0.5 1 − 0.5 γ = 0.5 1 − 0.45 ≈ 0.909 V^\pi(s) = \frac{0.5}{1 - 0.5\gamma} = \frac{0.5}{1 - 0.45} \approx 0.909 Vπ(s)=1−0.5γ0.5=1−0.450.5≈0.909
结论
- E π \mathbb{E}_\pi Eπ 的展开分为两部分:
- 策略的动作选择概率( π ( a ∣ s ) \pi(a|s) π(a∣s)),
- 环境的状态转移概率( P ( s ′ , r ∣ s , a ) P(s', r | s, a) P(s′,r∣s,a))。
- 通过递归计算即时奖励和未来折扣价值的加权平均,最终收敛到状态价值 V π ( s ) V^\pi(s) Vπ(s)。
- 示例表明,即使某些动作导致循环(如动作 a 2 a_2 a2),贝尔曼方程仍可通过代数求解得到明确解
5、区别与联系
概念 | 策略(π) | 价值函数(V/Q) |
---|---|---|
作用 | 决定动作选择 | 评估状态/动作的长期价值 |
输入 | 状态 s s s | 状态 s s s 或 状态-动作对 ( s , a ) (s,a) (s,a) |
输出 | 动作(确定性)或概率(随机性) | 期望折扣回报 |
联系 | 价值函数依赖策略 π,策略优化依赖价值函数 |
核心公式对比与联系
概念 | 公式核心 | 核心变量 | 递归关系 |
---|---|---|---|
确定性策略 | a = π ( s ) a = \pi(s) a=π(s) | 状态 s s s → 动作 a a a | 无(直接映射) |
随机性策略 | π ( a ∣ s ) = P ( A t = a ∣ S t = s ) \pi(a\mid s) = \mathbb{P}(A_t=a\mid S_t=s) π(a∣s)=P(At=a∣St=s) | 状态 s s s → 动作概率分布 | 无(概率分布独立于后续状态) |
状态价值函数 | V π ( s ) = E [ R t + γ V π ( S t + 1 ) ∣ s ] V^\pi(s) = \mathbb{E}[R_t + \gamma V^\pi(S_{t+1}) \mid s] Vπ(s)=E[Rt+γVπ(St+1)∣s] | 状态 s s s 的长期价值 | 依赖下一状态的价值 V π ( s ′ ) V^\pi(s') Vπ(s′) |
动作价值函数 | Q π ( s , a ) = E [ R t + γ Q π ( S t + 1 , A t + 1 ) ∣ s , a ] Q^\pi(s,a) = \mathbb{E}[R_t + \gamma Q^\pi(S_{t+1}, A_{t+1}) \mid s,a] Qπ(s,a)=E[Rt+γQπ(St+1,At+1)∣s,a] | 状态 s s s 执行动作 a a a 的长期价值 | 依赖下一状态的动作价值 Q π ( s ′ , a ′ ) Q^\pi(s',a') Qπ(s′,a′) |
总结
- 策略是智能体的行为模型,直接指导动作选择;
- 价值函数是评估工具,通过累计奖励量化状态/动作的优劣,其核心是贝尔曼方程的递归结构;
- 两者共同构成强化学习的基础:策略优化(如策略梯度)和价值估计(如Q-learning)是两大核心方向。
2、贝尔曼方程推导
https://zhuanlan.zhihu.com/p/690597667
https://zhuanlan.zhihu.com/p/690597667
贝尔曼方程是强化学习中描述状态值函数(或动作值函数)递归关系的核心方程,其推导基于马尔科夫决策过程(MDP)和全期望公式。
贝尔曼方程:
“贝尔曼方程(Bellman Equation)”也被称作“动态规划方程(Dynamic Programming Equation)”,由理查·贝尔曼(Richard Bellman)发现。贝尔曼方程是动态规划(Dynamic Programming)这种数学最佳化方法能够达到最佳化的必要条件。此方程将“决策问题在特定时间点的值”以“来自初始选择的报酬 及 由初始选择衍生的决策问题的值”的形式表示。藉这个方式将动态最佳化问题变成较简单的子问题,而这些子问题遵守由贝尔曼所提出的“最佳化原理”。引自:维基百科-贝尔曼方程。
简单说,贝尔曼方程把函数表示为递归的形式,从而用DP等手段进行求解。
3、网格世界案例
策略(Policy)&价值(Value)函数:确定性策略和随机策略下的贝尔曼方程
详细举例说明:强化学习策略(Policy)&价值(Value)函数的原理及计算过程,并分别说明在确定性策略和随机策略下两者如何计算,选用3x3网格世界
2.1 贝尔曼方程的形式
1. 确定性策略
策略定义:每个状态对应唯一动作,例如在状态S1时固定向右移动(→)。
贝尔曼方程:
• 状态价值函数(V):
V π ( s ) = R ( s , π ( s ) ) + γ ∑ s ′ P ( s ′ ∣ s , π ( s ) ) V π ( s ′ ) V^\pi(s) = R(s, \pi(s)) + \gamma \sum_{s'} P(s' \mid s, \pi(s)) V^\pi(s') Vπ(s)=R(s,π(s))+γs′∑P(s′∣s,π(s))Vπ(s′)
其中, P ( s ′ ∣ s , a ) P(s' \mid s, a) P(s′∣s,a) 是确定性转移概率(动作执行成功概率为1)。
• 动作价值函数(Q):
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V π ( s ′ ) Q^\pi(s, a) = R(s, a) + \gamma \sum_{s'} P(s' \mid s, a) V^\pi(s') Qπ(s,a)=R(s,a)+γs′∑P(s′∣s,a)Vπ(s′)
示例计算(以S1为例):
假设策略在S1选择向右(→),则:
V π ( S 1 ) = − 0.04 + 0.9 ⋅ V π ( S 2 ) V^\pi(S1) = -0.04 + 0.9 \cdot V^\pi(S2) Vπ(S1)=−0.04+0.9⋅Vπ(S2)
若S2的策略是向下(↓),则继续递归计算 V π ( S 2 ) = − 0.04 + 0.9 ⋅ V π ( S 5 ) V^\pi(S2) = -0.04 + 0.9 \cdot V^\pi(S5) Vπ(S2)=−0.04+0.9⋅Vπ(S5),但S5是陷阱(终止状态),故 V π ( S 5 ) = − 1 V^\pi(S5) = -1 Vπ(S5)=−1。最终:
V π ( S 1 ) = − 0.04 + 0.9 ⋅ ( − 0.04 + 0.9 ⋅ ( − 1 ) ) ≈ − 0.92 V^\pi(S1) = -0.04 + 0.9 \cdot (-0.04 + 0.9 \cdot (-1)) \approx -0.92 Vπ(S1)=−0.04+0.9⋅(−0.04+0.9⋅(−1))≈−0.92
2. 随机策略
策略定义:每个状态下动作按概率分布选择。例如在S1时,向右(→)和向下(↓)的概率各为0.5。
贝尔曼方程:
• 状态价值函数(V):
V π ( s ) = ∑ a π ( a ∣ s ) [ R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) V π ( s ′ ) ] V^\pi(s) = \sum_{a} \pi(a \mid s) \left[ R(s, a) + \gamma \sum_{s'} P(s' \mid s, a) V^\pi(s') \right] Vπ(s)=a∑π(a∣s)[R(s,a)+γs′∑P(s′∣s,a)Vπ(s′)]
• 动作价值函数(Q):
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' \mid s, a) \sum_{a'} \pi(a' \mid s') Q^\pi(s', a') Qπ(s,a)=R(s,a)+γs′∑P(s′∣s,a)a′∑π(a′∣s′)Qπ(s′,a′)
示例计算(以S1为例):
假设策略在S1选择→和↓各0.5概率:
V π ( S 1 ) = 0.5 ⋅ [ − 0.04 + 0.9 ⋅ V π ( S 2 ) ] + 0.5 ⋅ [ − 0.04 + 0.9 ⋅ V π ( S 4 ) ] V^\pi(S1) = 0.5 \cdot [ -0.04 + 0.9 \cdot V^\pi(S2) ] + 0.5 \cdot [ -0.04 + 0.9 \cdot V^\pi(S4) ] Vπ(S1)=0.5⋅[−0.04+0.9⋅Vπ(S2)]+0.5⋅[−0.04+0.9⋅Vπ(S4)]
若S2和S4的策略均为随机分布(如各方向0.25概率),则需递归计算所有可能路径的期望值。例如,若S2的随机策略导致进入陷阱S5的概率为0.25,则:
V π ( S 2 ) = 0.25 ⋅ ( − 1 ) + 0.75 ⋅ ( 其他状态的价值期望 ) V^\pi(S2) = 0.25 \cdot (-1) + 0.75 \cdot (\text{其他状态的价值期望}) Vπ(S2)=0.25⋅(−1)+0.75⋅(其他状态的价值期望)
2.2 2x2网格
以下通过一个具体的 网格世界案例,详细解析强化学习中 策略(Policy) 和 价值函数(Value Function) 的原理及计算过程。
一、案例场景:2x2网格世界
环境设定
- 状态空间:4个状态,分别为 S = { ( 1 , 1 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 2 , 2 ) } S = \{ (1,1), (1,2), (2,1), (2,2) \} S={(1,1),(1,2),(2,1),(2,2)},其中 ( 2 , 2 ) (2,2) (2,2) 是 终止状态(终点),奖励为 + 1 +1 +1,其他状态转移奖励为 0 0 0。
- 动作空间:每个状态可选择 右(→) 或 下(↓),但在边界状态只能选择有效动作(如 ( 1 , 2 ) (1,2) (1,2) 只能向下, ( 2 , 1 ) (2,1) (2,1) 只能向右)。
- 折扣因子: γ = 0.9 \gamma = 0.9 γ=0.9(假设即时奖励的未来折扣)。
二、策略(Policy)的原理与计算
1. 策略定义
策略 π ( a ∣ s ) \pi(a|s) π(a∣s) 表示在状态 s s s 下选择动作 a a a 的概率。分为 确定性策略(选择动作的概率为1)和 随机策略(概率分布)。
例子:假设采用 确定性策略 π \pi π:
- π ( → ∣ ( 1 , 1 ) ) = 1 \pi(→|(1,1)) = 1 π(→∣(1,1))=1(状态(1,1)只能向右)
- π ( ↓ ∣ ( 1 , 2 ) ) = 1 \pi(↓|(1,2)) = 1 π(↓∣(1,2))=1(状态(1,2)只能向下)
- π ( → ∣ ( 2 , 1 ) ) = 1 \pi(→|(2,1)) = 1 π(→∣(2,1))=1(状态(2,1)只能向右)
- 终止状态 ( 2 , 2 ) (2,2) (2,2) 无动作。
2. 策略的作用
策略决定了智能体的行为,进而影响价值函数的计算。例如,在状态 ( 1 , 1 ) (1,1) (1,1),策略强制选择“右”,转移至状态 ( 1 , 2 ) (1,2) (1,2)。
三、价值函数(Value Function)的原理与计算
价值函数评估策略的优劣,分为 状态价值函数 V π ( s ) V^\pi(s) Vπ(s) 和 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)。
1. 状态价值函数 V π ( s ) V^\pi(s) Vπ(s)
定义:从状态 s s s 出发,遵循策略 π \pi π 时的期望累积折扣奖励,即:
V π ( s ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s ] V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_t = s \right] Vπ(s)=Eπ[t=0∑∞γtRt+1∣St=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′))
其中 R ( s , a ) R(s,a) R(s,a) 是状态 s s s 执行动作 a a a 的即时奖励, P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a) 是状态转移概率(本例中转移是确定性的, P = 1 P=1 P=1)。
计算过程(案例)
- 终止状态: V π ( ( 2 , 2 ) ) = 1 V^\pi((2,2)) = 1 Vπ((2,2))=1(即时奖励为1,无后续状态)。
- 状态 ( 1 , 2 ) (1,2) (1,2):策略要求向下,转移至 ( 2 , 2 ) (2,2) (2,2),即时奖励0:
V π ( ( 1 , 2 ) ) = 0 + γ ⋅ V π ( ( 2 , 2 ) ) = 0 + 0.9 ⋅ 1 = 0.9 V^\pi((1,2)) = 0 + \gamma \cdot V^\pi((2,2)) = 0 + 0.9 \cdot 1 = 0.9 Vπ((1,2))=0+γ⋅Vπ((2,2))=0+0.9⋅1=0.9 - 状态 ( 2 , 1 ) (2,1) (2,1):策略要求向右,转移至 ( 2 , 2 ) (2,2) (2,2),即时奖励0:
V π ( ( 2 , 1 ) ) = 0 + γ ⋅ V π ( ( 2 , 2 ) ) = 0 + 0.9 ⋅ 1 = 0.9 V^\pi((2,1)) = 0 + \gamma \cdot V^\pi((2,2)) = 0 + 0.9 \cdot 1 = 0.9 Vπ((2,1))=0+γ⋅Vπ((2,2))=0+0.9⋅1=0.9 - 状态 ( 1 , 1 ) (1,1) (1,1):策略要求向右,转移至 ( 1 , 2 ) (1,2) (1,2),即时奖励0:
V π ( ( 1 , 1 ) ) = 0 + γ ⋅ V π ( ( 1 , 2 ) ) = 0 + 0.9 ⋅ 0.9 = 0.81 V^\pi((1,1)) = 0 + \gamma \cdot V^\pi((1,2)) = 0 + 0.9 \cdot 0.9 = 0.81 Vπ((1,1))=0+γ⋅Vπ((1,2))=0+0.9⋅0.9=0.81
结果:
V π = { ( 1 , 1 ) : 0.81 , ( 1 , 2 ) : 0.9 , ( 2 , 1 ) : 0.9 , ( 2 , 2 ) : 1 } V^\pi = \left\{ (1,1): 0.81, \ (1,2): 0.9, \ (2,1): 0.9, \ (2,2): 1 \right\} Vπ={(1,1):0.81, (1,2):0.9, (2,1):0.9, (2,2):1}
2. 动作价值函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
定义:在状态 s s s 执行动作 a a a 后,遵循策略 π \pi π 时的期望累积折扣奖励,即:
Q π ( s , a ) = E π [ ∑ t = 0 ∞ γ t R t + 1 ∣ S t = s , A t = a ] Q^\pi(s,a) = \mathbb{E}_\pi \left[ \sum_{t=0}^\infty \gamma^t R_{t+1} \mid S_t = s, A_t = a \right] Qπ(s,a)=Eπ[t=0∑∞γtRt+1∣St=s,At=a]
贝尔曼方程:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ∑ a ′ π ( a ′ ∣ s ′ ) V π ( s ′ ) Q^\pi(s,a) = R(s,a) + \gamma \sum_{s'} P(s'|s,a) \sum_{a'} \pi(a'|s') V^\pi(s') Qπ(s,a)=R(s,a)+γs′∑P(s′∣s,a)a′∑π(a′∣s′)Vπ(s′)
计算过程(案例:假设策略为随机策略)
假设在状态 ( 1 , 1 ) (1,1) (1,1) 以 π ( → ∣ ( 1 , 1 ) ) = 0.5 \pi(→|(1,1)) = 0.5 π(→∣(1,1))=0.5、 π ( ↓ ∣ ( 1 , 1 ) ) = 0.5 \pi(↓|(1,1)) = 0.5 π(↓∣(1,1))=0.5 随机选择动作(实际案例中(1,1)向下会到(2,1),向右到(1,2)):
- 计算 Q π ( ( 1 , 1 ) , → ) Q^\pi((1,1), →) Qπ((1,1),→):
执行“右”后转移至 ( 1 , 2 ) (1,2) (1,2),后续按策略 π ( ↓ ∣ ( 1 , 2 ) ) = 1 \pi(↓|(1,2)) = 1 π(↓∣(1,2))=1:
Q π ( ( 1 , 1 ) , → ) = 0 + γ ⋅ V π ( ( 1 , 2 ) ) = 0 + 0.9 ⋅ 0.9 = 0.81 Q^\pi((1,1), →) = 0 + \gamma \cdot V^\pi((1,2)) = 0 + 0.9 \cdot 0.9 = 0.81 Qπ((1,1),→)=0+γ⋅Vπ((1,2))=0+0.9⋅0.9=0.81 - 计算 Q π ( ( 1 , 1 ) , ↓ ) Q^\pi((1,1), ↓) Qπ((1,1),↓):
执行“下”后转移至 ( 2 , 1 ) (2,1) (2,1),后续按策略 π ( → ∣ ( 2 , 1 ) ) = 1 \pi(→|(2,1)) = 1 π(→∣(2,1))=1:
Q π ( ( 1 , 1 ) , ↓ ) = 0 + γ ⋅ V π ( ( 2 , 1 ) ) = 0 + 0.9 ⋅ 0.9 = 0.81 Q^\pi((1,1), ↓) = 0 + \gamma \cdot V^\pi((2,1)) = 0 + 0.9 \cdot 0.9 = 0.81 Qπ((1,1),↓)=0+γ⋅Vπ((2,1))=0+0.9⋅0.9=0.81
结果:在随机策略下,两个动作的价值相同;在确定性策略下,只有被选择的动作有对应价值,其他动作价值需重新计算(若策略不选择该动作,其价值可能不被当前策略考虑)。
四、核心关系与总结
- 策略决定价值:价值函数依赖于策略,不同策略下同一状态的价值不同(如确定性策略 vs. 随机策略)。
- 贝尔曼方程的作用:通过递归关系将当前状态价值与后续状态价值关联,形成方程组求解(如案例中的线性方程)。
- 迭代求解方法:实际应用中常用 迭代策略评估(Iterative Policy Evaluation),通过反复更新价值直到收敛,而非直接解方程(适用于大规模状态空间)。
案例意义:通过网格世界的简单转移,展示了策略如何引导行为,价值函数如何量化策略的长期收益,以及两者通过贝尔曼方程的数学关联。强化学习的核心目标即通过优化策略,使价值函数最大化(如Q-learning算法直接优化Q函数)。
2.3 3x3网格
强化学习策略(Policy)与价值(Value)函数原理及计算过程详解
以3x3网格世界为例,分确定性策略与随机策略说明
1. 环境设定
构建一个3x3网格世界,包含以下元素:
- 起点(S):左下角(坐标(0,0))。
- 终点(G):右上角(坐标(2,2)),到达后奖励+10并终止。
- 陷阱(T):中心位置(坐标(1,1)),掉入后奖励-5并终止。
- 移动规则:
- 每移动一步奖励-0.1。
- 撞墙时保持原位,奖励-0.1。
- 折扣因子: γ = 0.9 \gamma = 0.9 γ=0.9。
网格布局:
(0,0) S | (0,1) | (0,2)
--------|---------|--------
(1,0) | (1,1) T | (1,2)
--------|---------|--------
(2,0) | (2,1) | (2,2) G
2. 策略(Policy)的定义与分类
策略是智能体选择动作的规则,分为两类:
-
确定性策略:
- 每个状态下只选择一个动作,例如:在状态 s s s时, π ( s ) = 向上 \pi(s) = \text{向上} π(s)=向上。
- 数学表示: π ( a ∣ s ) = 1 \pi(a|s) = 1 π(a∣s)=1(当 a a a是策略指定动作),否则为0。
-
随机性策略:
- 每个状态下按概率分布选择动作,例如:在状态 s s s时,80%概率向上,10%向左,10%向右。
- 数学表示: π ( 向上 ∣ s ) = 0.8 \pi(\text{向上}|s) = 0.8 π(向上∣s)=0.8, π ( 左 ∣ s ) = 0.1 \pi(\text{左}|s) = 0.1 π(左∣s)=0.1, π ( 右 ∣ s ) = 0.1 \pi(\text{右}|s) = 0.1 π(右∣s)=0.1。
3. 价值函数(Value Function)的定义
价值函数衡量遵循某策略时的长期期望回报:
- 状态价值函数 V π ( s ) V^\pi(s) Vπ(s):
- 在状态 s s s下,遵循策略 π \pi π的期望累计奖励。
- 贝尔曼方程:
V π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_{a} \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^\pi(s') \right] Vπ(s)=a∑π(a∣s)s′∑P(s′∣s,a)[R(s,a,s′)+γVπ(s′)]
- 动作价值函数 Q π ( s , a ) Q^\pi(s, a) Qπ(s,a):
- 在状态 s s s执行动作 a a a,之后遵循策略 π \pi π的期望累计奖励。
- 贝尔曼方程:
Q π ( s , a ) = ∑ s ′ P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ ∑ a ′ π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) ] Q^\pi(s,a) = \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \sum_{a'} \pi(a'|s') Q^\pi(s',a') \right] Qπ(s,a)=s′∑P(s′∣s,a)[R(s,a,s′)+γa′∑π(a′∣s′)Qπ(s′,a′)]
4. 确定性策略下的计算示例
场景:智能体处于状态 s = ( 1 , 0 ) s = (1,0) s=(1,0),策略 π \pi π为“始终向上”。
步骤1:计算动作价值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
- 动作选择:仅向上(确定性策略)。
- 状态转移:
- 成功向上:到达 s ′ = ( 0 , 0 ) s' = (0,0) s′=(0,0),奖励 R = − 0.1 R = -0.1 R=−0.1。
- 撞墙(若已在顶部):保持原位,奖励 R = − 0.1 R = -0.1 R=−0.1。
假设当前状态 s = ( 1 , 0 ) s = (1,0) s=(1,0)向上移动不会撞墙:
Q π ( ( 1 , 0 ) , 上 ) = − 0.1 + γ V π ( ( 0 , 0 ) ) Q^\pi((1,0), \text{上}) = -0.1 + \gamma V^\pi((0,0)) Qπ((1,0),上)=−0.1+γVπ((0,0))
步骤2:计算状态价值 V π ( s ) V^\pi(s) Vπ(s)
由于策略是确定性的,仅需计算选定动作的价值:
V π ( ( 1 , 0 ) ) = Q π ( ( 1 , 0 ) , 上 ) = − 0.1 + γ V π ( ( 0 , 0 ) ) V^\pi((1,0)) = Q^\pi((1,0), \text{上}) = -0.1 + \gamma V^\pi((0,0)) Vπ((1,0))=Qπ((1,0),上)=−0.1+γVπ((0,0))
迭代计算示例:
假设终止状态 V π ( G ) = 0 V^\pi(G) = 0 Vπ(G)=0,其他状态初始值 V ( s ) = 0 V(s) = 0 V(s)=0。
- 第一次迭代:
- V π ( ( 0 , 0 ) ) = − 0.1 + 0.9 × 0 = − 0.1 V^\pi((0,0)) = -0.1 + 0.9 \times 0 = -0.1 Vπ((0,0))=−0.1+0.9×0=−0.1
- V π ( ( 1 , 0 ) ) = − 0.1 + 0.9 × ( − 0.1 ) = − 0.19 V^\pi((1,0)) = -0.1 + 0.9 \times (-0.1) = -0.19 Vπ((1,0))=−0.1+0.9×(−0.1)=−0.19
- 多次迭代后,价值逐渐收敛。
5. 随机策略下的计算示例
场景:智能体处于状态 s = ( 1 , 0 ) s = (1,0) s=(1,0),策略 π \pi π为:
- 80%概率向上,10%向左,10%向右。
步骤1:计算动作价值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
- 动作:向上(80%):
- 成功到达 s ′ = ( 0 , 0 ) s' = (0,0) s′=(0,0),奖励 R = − 0.1 R = -0.1 R=−0.1。
- 撞墙概率0%(假设可移动):
Q π ( ( 1 , 0 ) , 上 ) = − 0.1 + γ V π ( ( 0 , 0 ) ) Q^\pi((1,0), \text{上}) = -0.1 + \gamma V^\pi((0,0)) Qπ((1,0),上)=−0.1+γVπ((0,0))
- 动作:向左(10%):
- 进入状态 s ′ = ( 1 , − 1 ) s' = (1,-1) s′=(1,−1)(无效,撞墙),保持原位,奖励 R = − 0.1 R = -0.1 R=−0.1。
Q π ( ( 1 , 0 ) , 左 ) = − 0.1 + γ V π ( ( 1 , 0 ) ) Q^\pi((1,0), \text{左}) = -0.1 + \gamma V^\pi((1,0)) Qπ((1,0),左)=−0.1+γVπ((1,0))
- 进入状态 s ′ = ( 1 , − 1 ) s' = (1,-1) s′=(1,−1)(无效,撞墙),保持原位,奖励 R = − 0.1 R = -0.1 R=−0.1。
- 动作:向右(10%):
- 进入状态 s ′ = ( 1 , 1 ) = T s' = (1,1) = T s′=(1,1)=T,奖励 R = − 5 R = -5 R=−5,终止。
Q π ( ( 1 , 0 ) , 右 ) = − 5 + γ × 0 = − 5 Q^\pi((1,0), \text{右}) = -5 + \gamma \times 0 = -5 Qπ((1,0),右)=−5+γ×0=−5
- 进入状态 s ′ = ( 1 , 1 ) = T s' = (1,1) = T s′=(1,1)=T,奖励 R = − 5 R = -5 R=−5,终止。
步骤2:计算状态价值 V π ( s ) V^\pi(s) Vπ(s)
根据贝尔曼方程,加权各动作的价值:
V π ( ( 1 , 0 ) ) = 0.8 × Q π ( 上 ) + 0.1 × Q π ( 左 ) + 0.1 × Q π ( 右 ) V^\pi((1,0)) = 0.8 \times Q^\pi(\text{上}) + 0.1 \times Q^\pi(\text{左}) + 0.1 \times Q^\pi(\text{右}) Vπ((1,0))=0.8×Qπ(上)+0.1×Qπ(左)+0.1×Qπ(右)
代入具体数值:
V π ( ( 1 , 0 ) ) = 0.8 × [ − 0.1 + 0.9 V π ( ( 0 , 0 ) ) ] + 0.1 × [ − 0.1 + 0.9 V π ( ( 1 , 0 ) ) ] + 0.1 × ( − 5 ) V^\pi((1,0)) = 0.8 \times [-0.1 + 0.9 V^\pi((0,0))] + 0.1 \times [-0.1 + 0.9 V^\pi((1,0))] + 0.1 \times (-5) Vπ((1,0))=0.8×[−0.1+0.9Vπ((0,0))]+0.1×[−0.1+0.9Vπ((1,0))]+0.1×(−5)
迭代计算示例:
- 初始化: V π ( s ) = 0 V^\pi(s) = 0 Vπ(s)=0(所有状态)。
- 第一次迭代:
- V π ( ( 0 , 0 ) ) = 0.8 × [ − 0.1 + 0.9 × 0 ] + 0.1 × [ − 0.1 + 0.9 × 0 ] + 0.1 × 0 = − 0.09 V^\pi((0,0)) = 0.8 \times [-0.1 + 0.9 \times 0] + 0.1 \times [-0.1 + 0.9 \times 0] + 0.1 \times 0 = -0.09 Vπ((0,0))=0.8×[−0.1+0.9×0]+0.1×[−0.1+0.9×0]+0.1×0=−0.09
- V π ( ( 1 , 0 ) ) = 0.8 × ( − 0.1 ) + 0.1 × ( − 0.1 ) + 0.1 × ( − 5 ) = − 0.08 − 0.01 − 0.5 = − 0.59 V^\pi((1,0)) = 0.8 \times (-0.1) + 0.1 \times (-0.1) + 0.1 \times (-5) = -0.08 -0.01 -0.5 = -0.59 Vπ((1,0))=0.8×(−0.1)+0.1×(−0.1)+0.1×(−5)=−0.08−0.01−0.5=−0.59
- 多次迭代后收敛到稳定值。
6. 对比确定性与随机策略下的计算差异
特征 | 确定性策略 | 随机策略 |
---|---|---|
动作选择 | 唯一动作,$\pi(a | s) \in {0,1}$ |
贝尔曼方程 | 仅需计算单一动作 | 需加权所有可能动作 |
计算复杂度 | 简单,直接求解 | 复杂,需处理概率分布和联立方程 |
探索性 | 低,可能陷入局部最优 | 高,能覆盖更多状态-动作对 |
7. 总结与策略优化
- 策略评估:通过贝尔曼方程迭代计算 V π ( s ) V^\pi(s) Vπ(s)或 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)。
- 策略改进:根据 Q Q Q值优化策略:
- 确定性策略:选择 arg max a Q ( s , a ) \arg\max_a Q(s,a) argmaxaQ(s,a)。
- 随机策略:调整动作概率偏向高 Q Q Q值动作(如Softmax)。
- 最终目标:通过策略迭代或值迭代,找到最优策略 π ∗ \pi^* π∗和最优价值函数 V ∗ V^* V∗。
示例最优策略:在状态 ( 1 , 0 ) (1,0) (1,0),若向右导致陷阱,最优策略为始终向上或向左避开陷阱。
通过以上分析,可清晰理解策略与价值函数在确定性和随机性下的计算差异,以及如何通过贝尔曼方程迭代求解。
示例2
环境设定
- 状态:网格坐标为(1,1)到(3,3),(3,3)为终止状态。
- 动作:上、下、左、右。若动作导致移出网格,则保持原位。
- 奖励:每移动一步奖励-1,到达(3,3)时奖励+10并终止。
- 折扣因子:γ=0.9。
1. 确定性策略下的贝尔曼方程
策略定义
- 优先向右,若无法向右则向下。例如:
- (1,1)→ 右 →(1,2)
- (1,3)→ 下 →(2,3)
- (3,2)→ 下 →(3,3)
贝尔曼方程
对确定性策略π(s),状态价值函数为:
V ( s ) = R ( s , π ( s ) ) + γ V ( s ′ ) V(s) = R(s, \pi(s)) + \gamma V(s') V(s)=R(s,π(s))+γV(s′)
其中 s ′ s' s′ 是执行动作后的状态, R ( s , π ( s ) ) R(s, \pi(s)) R(s,π(s)) 是即时奖励。
计算示例
- 终止状态(3,3): V ( 3 , 3 ) = 0 V(3,3) = 0 V(3,3)=0。
- 状态(3,2):向下到(3,3),奖励+10:
V ( 3 , 2 ) = 10 + 0.9 ⋅ 0 = 10 V(3,2) = 10 + 0.9 \cdot 0 = 10 V(3,2)=10+0.9⋅0=10 - 状态(2,3):向下到(3,3):
V ( 2 , 3 ) = 10 + 0.9 ⋅ 0 = 10 V(2,3) = 10 + 0.9 \cdot 0 = 10 V(2,3)=10+0.9⋅0=10 - 状态(1,3):向下到(2,3):
V ( 1 , 3 ) = − 1 + 0.9 ⋅ 10 = 8 V(1,3) = -1 + 0.9 \cdot 10 = 8 V(1,3)=−1+0.9⋅10=8 - 状态(1,2):向右到(1,3):
V ( 1 , 2 ) = − 1 + 0.9 ⋅ 8 = 6.2 V(1,2) = -1 + 0.9 \cdot 8 = 6.2 V(1,2)=−1+0.9⋅8=6.2 - 状态(1,1):向右到(1,2):
V ( 1 , 1 ) = − 1 + 0.9 ⋅ 6.2 = 4.58 V(1,1) = -1 + 0.9 \cdot 6.2 = 4.58 V(1,1)=−1+0.9⋅6.2=4.58
2. 随机策略下的贝尔曼方程
策略定义
- 每个动作(上、下、左、右)的概率均为0.25。
贝尔曼方程
对随机策略π(a|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′)]
在确定性环境中, P ( s ′ ∣ s , a ) = 1 P(s'|s,a)=1 P(s′∣s,a)=1,方程简化为:
V π ( s ) = ∑ a π ( a ∣ s ) [ R ( s , a ) + γ V π ( s ′ ) ] V^\pi(s) = \sum_{a} \pi(a|s) \left[ R(s,a) + \gamma V^\pi(s') \right] Vπ(s)=a∑π(a∣s)[R(s,a)+γVπ(s′)]
计算示例(以状态(1,1)为例)
四个动作的转移:
- 上、左:留在(1,1),奖励-1。
- 右:到(1,2),奖励-1。
- 下:到(2,1),奖励-1。
贝尔曼方程:
V ( 1 , 1 ) = 0.25 ⋅ [ − 1 + 0.9 V ( 1 , 1 ) ] + 0.25 ⋅ [ − 1 + 0.9 V ( 1 , 1 ) ] + 0.25 ⋅ [ − 1 + 0.9 V ( 1 , 2 ) ] + 0.25 ⋅ [ − 1 + 0.9 V ( 2 , 1 ) ] V(1,1) = 0.25 \cdot [-1 + 0.9V(1,1)] + 0.25 \cdot [-1 + 0.9V(1,1)] + 0.25 \cdot [-1 + 0.9V(1,2)] + 0.25 \cdot [-1 + 0.9V(2,1)] V(1,1)=0.25⋅[−1+0.9V(1,1)]+0.25⋅[−1+0.9V(1,1)]+0.25⋅[−1+0.9V(1,2)]+0.25⋅[−1+0.9V(2,1)]
化简后:
0.55 V ( 1 , 1 ) = − 1 + 0.225 ( V ( 1 , 2 ) + V ( 2 , 1 ) ) 0.55V(1,1) = -1 + 0.225(V(1,2) + V(2,1)) 0.55V(1,1)=−1+0.225(V(1,2)+V(2,1))
假设 V ( 1 , 2 ) = 6.2 V(1,2)=6.2 V(1,2)=6.2 和 V ( 2 , 1 ) = 6.2 V(2,1)=6.2 V(2,1)=6.2(来自确定性策略):
V ( 1 , 1 ) = − 1 + 0.225 ⋅ ( 6.2 + 6.2 ) 0.55 ≈ 4.58 V(1,1) = \frac{-1 + 0.225 \cdot (6.2 + 6.2)}{0.55} \approx 4.58 V(1,1)=0.55−1+0.225⋅(6.2+6.2)≈4.58
(注:实际中需联立所有状态的方程求解)
对比总结
特性 | 确定性策略 | 随机策略 |
---|---|---|
贝尔曼方程 | 单步转移,直接计算。 | 多动作期望,需联立方程组。 |
计算复杂度 | 低(链式递推)。 | 高(需矩阵求逆或迭代)。 |
示例结果 | V ( 1 , 1 ) = 4.58 V(1,1)=4.58 V(1,1)=4.58(直接计算)。 | V ( 1 , 1 ) ≈ 4.58 V(1,1)≈4.58 V(1,1)≈4.58(假设其他状态已知)。 |
结论
- 确定性策略:价值函数通过单步转移直接计算,适合简单路径规划。
- 随机策略:需考虑所有动作的期望值,通常需解线性方程组,适用于探索性策略。