6. 贝尔曼方程

1. 简介

(1)贝尔曼方程是寻找马尔科夫决策过程的最优策略的理论基础

(2)贝尔曼方程是强化学习的基石

(3)几乎所有的强化学习算法(动态规划、蒙特卡诺、时序差分等)都是以贝尔曼方程为基础求解最优策略

2.贝尔曼方程的类别

{ 贝尔曼期望方程:为策略迭代算法提供理论支撑 贝尔曼最优方程:为值迭代算法提供理论支撑 \begin{cases} 贝尔曼期望方程:为策略迭代算法提供理论支撑\\ 贝尔曼最优方程:为值迭代算法提供理论支撑 \end{cases} {贝尔曼期望方程:为策略迭代算法提供理论支撑贝尔曼最优方程:为值迭代算法提供理论支撑

3 贝尔曼方程的意义

为各类以迭代方式求解最优策略开启了大门

4 贝尔曼方程的最初形式

4.1 状态值函数

V π ( s ) = E π [ G t ∣ S t = s ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s ] = E π [ R t + 1 + γ ( R t + 2 + γ R t + 3 + ⋯   ) ∣ S t = s ] = E π [ R t + 1 + γ G t + 1 ∣ S t = s ] = E π [ R t + 1 + γ V π ( S t + 1 ) ∣ S t = s ] V π ( s ) − 状态为 s 时遵循策略 π 时的价值 R t + 1 − 策略为 π , 状态为 s 时的立即回报 γ V π ( S t + 1 ) − 状态为 s 时,下一时刻状态值函数的折扣期望 \begin{align*} V_\pi (s)&=E_\pi[G_t|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma (R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &=E_\pi[R_{t+1}+\gamma V_\pi(S_{t+1})|S_t=s]\\ V_\pi(s)&-状态为s时遵循策略\pi 时的价值\\ R_{t+1}&-策略为\pi ,状态为s时的立即回报\\ \gamma V_\pi(S_{t+1})&-状态为s时,下一时刻状态值函数的折扣期望 \end{align*} Vπ(s)Vπ(s)Rt+1γVπ(St+1)=Eπ[GtSt=s]=Eπ[Rt+1+γRt+2+γ2Rt+3+St=s]=Eπ[Rt+1+γ(Rt+2+γRt+3+)St=s]=Eπ[Rt+1+γGt+1St=s]=Eπ[Rt+1+γVπ(St+1)St=s]状态为s时遵循策略π时的价值策略为π,状态为s时的立即回报状态为s时,下一时刻状态值函数的折扣期望

4.2 行为值函数

Q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ ∣ S t = s , A t = a ] = E π [ R t + 1 + γ ( R t + 2 + γ R t + 3 + ⋯   ) ∣ S t = s , A t = a ] = E π [ R t + 1 + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] \begin{align*} Q_\pi(s,a)&=E_\pi[G_t|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma(R_{t+2}+\gamma R_{t+3}+\cdots)|S_t=s,A_t=a]\\ &=E_\pi[R_{t+1}+\gamma Q_\pi(S_{t+1},A_{t+1})|S_t=s,A_t=a] \end{align*} Qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γRt+2+γ2Rt+3+St=s,At=a]=Eπ[Rt+1+γ(Rt+2+γRt+3+)St=s,At=a]=Eπ[Rt+1+γQπ(St+1,At+1)St=s,At=a]

3.贝尔曼期望方程

具有四种表达形式

3.1 Q → V Q\to V QV

V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s,a) Vπ(s)=aAπ(as)Qπ(s,a)

3.2 V → Q V\to Q VQ

Q π ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) Q_\pi(s,a)=R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s') Qπ(s,a)=Rsa+γsSPssaVπ(s)

3.3 V ′ → V V'\to V VV

V π ( s ) = ∑ a ∈ A [ π ( a ∣ s ) ( R s a + γ ∑ s ′ ∈ S P s s ′ a V π ( s ′ ) ) ] V_\pi(s)=\sum_{a\in A}\left[\pi(a|s)\left( R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV_\pi(s') \right)\right] Vπ(s)=aA[π(as)(Rsa+γsSPssaVπ(s))]

3.4 Q ′ → Q Q'\to Q QQ

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 S}P_{ss'}^a\sum_{a'\in A}\pi(a'|s')Q_\pi(s',a') Qπ(s,a)=Rsa+γsSPssaaAπ(as)Qπ(s,a)

3.5 贝尔曼方程的矩阵形式

V π = R π + γ P π V π [ V π ( 1 ) V π ( 2 ) ⋮ V π ( n ) ] = [ R 1 π R 2 π ⋮ R n π ] + γ [ P 11 π P 12 π ⋯ P 1 n π P 21 π P 22 π ⋯ P 2 n π ⋮ ⋮ ⋱ ⋮ P n 1 π P n 2 π ⋯ P n n π ] [ V π ( 1 ) V π ( 2 ) ⋮ V π ( n ) ] \mathbf{V_\pi}=\mathbf{R_\pi}+\gamma\mathbf{P_\pi}\mathbf{V_\pi}\\ \begin{bmatrix} V_\pi(1)\\ V_\pi(2)\\ \vdots \\ V_\pi(n) \end{bmatrix}=\begin{bmatrix} R_1^\pi \\ R_2^\pi\\\vdots\\R_n^\pi \end{bmatrix}+\gamma\begin{bmatrix} P_{11}^\pi & P_{12}^\pi & \cdots & P_{1n}^\pi \\ P_{21}^\pi & P_{22}^\pi & \cdots & P_{2n}^\pi \\ \vdots & \vdots & \ddots & \vdots \\ P_{n1}^\pi & P_{n2}^\pi & \cdots & P_{nn}^\pi \\ \end{bmatrix}\begin{bmatrix} V_\pi (1)\\ V_\pi(2)\\\vdots\\ V_\pi(n) \end{bmatrix} Vπ=Rπ+γPπVπ Vπ(1)Vπ(2)Vπ(n) = R1πR2πRnπ +γ P11πP21πPn1πP12πP22πPn2πP1nπP2nπPnnπ Vπ(1)Vπ(2)Vπ(n)
( I − γ P π ) \mathbf(I-\gamma P_\pi) (IγPπ)可逆时,
V π = ( I − γ P π ) − 1 R π V_\pi =(I-\gamma P_\pi)^{-1}R_\pi Vπ=(IγPπ)1Rπ
当状态空间较小时,可使用上述式子求解值函数,若状态空间很大,则需要用迭代法求解,如动态规划、蒙特卡诺、时序差分。

4. 什么是最优状态值函数

∀ s ∈ S \forall s\in S sS,若存在 V ∗ ( s ) V^*(s) V(s),满足:
V ∗ ( s ) = max ⁡ π V π ( s ) V^*(s)=\max_\pi V_\pi(s) V(s)=πmaxVπ(s)
则称 V ∗ ( s ) 为最优状态值函数 V^*(s)为最优状态值函数 V(s)为最优状态值函数
推论:最优状态值函数 V ∗ ( s ) V^*(s) V(s)对应的策略也是最优策略。

5 什么是最优行为值函数

∀ s ∈ S , ∀ a ∈ A \forall s\in S,\forall a\in A sS,aA,若存在 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),满足:
Q ∗ ( s , a ) = max ⁡ π Q π ( s , a ) Q^*(s,a)=\max_\pi Q_\pi(s,a) Q(s,a)=πmaxQπ(s,a)
则称 Q ∗ ( s , a ) Q^*(s,a) Q(s,a)为最优行为值函数。
推论:最优行为值函数对应的策略也是最优策略。

6. 贝尔曼最优方程

6.1 Q ∗ → V ∗ Q^*\to V^* QV

V ∗ ( s ) = max ⁡ a Q ∗ ( s , a ) V^*(s)=\max_aQ^*(s,a) V(s)=amaxQ(s,a)
这个式子表明:状态s的最优值函数,等于当选取动作a使得最优动作值函数取得最大值时对应的动作值函数

6.2 V ∗ → Q ∗ V^*\to Q^* VQ

Q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) Q^*(s,a)=R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV^*(s') Q(s,a)=Rsa+γsSPssaV(s)
这里的s’是s的后继状态,也就是说,利用后继状态最优值函数、状态转移概率及当前奖励,可以计算当前最优行为值函数。

6.3 V ′ ∗ → V ∗ V^{'*}\to V^* VV

V ∗ ( s ) = max ⁡ a [ R s a + γ ∑ s ′ ∈ S P s s ′ a V ∗ ( s ′ ) ] V^*(s)=\max_a\left[ R_s^a+\gamma\sum_{s'\in S}P_{ss'}^aV^*(s') \right] V(s)=amax[Rsa+γsSPssaV(s)]

6.4 Q ′ ∗ → Q ∗ Q^{'*}\to Q^* QQ

Q ∗ ( s , a ) = R s a + γ ∑ s ′ ∈ S max ⁡ a ′ Q ∗ ( s ′ , a ′ ) Q^*(s,a)=R_s^a+\gamma\sum_{s'\in S}\max_{a'}Q^*(s',a') Q(s,a)=Rsa+γsSamaxQ(s,a)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aganim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值