强化学习——贝尔曼最优公式(三)

贝尔曼最优公式(Bellman Optimality Equation)

state value 可以用来评估策略的好坏,但如何选出最好的策略,那就需要 BOE。

1 最优策略(Optimal Policy)

在每个状态下,该策略的 state value 都大于其它策略的。即 v ∗ > v π v^*>v_\pi v>vπ

2 贝尔曼最优公式

未知量为 π ( a ∣ s ) , v π ( s ) , v π ( s ′ ) \pi(a|s),v_\pi(s),v_\pi(s') π(as),vπ(s),vπ(s),包含了最优策略和最优状态值。

2.1 Elementwise Form

v π ( s ) = max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ) v_\pi(s)=\displaystyle \max_\pi \sum_a \pi(a|s)\left(\sum_r p(r|s,a) r + \gamma \sum_{s'} p(s'|s,a) v_\pi(s')\right) vπ(s)=πmaxaπ(as)(rp(rs,a)r+γsp(ss,a)vπ(s))

2.2 Matrix-Vector Form

v π = max ⁡ π ( r π + γ P π v π ) v_\pi=\displaystyle \max_\pi (r_\pi + \gamma P_\pi v_\pi) vπ=πmax(rπ+γPπvπ)

3 BOE 求解

3.1 策略求解

为了求得最大的 state value,就先求出使其最大的策略 π \pi π也就是 π ( a ∣ s ) \pi(a|s) π(as)。使其最大化的策略一定是确定性的(deterministic)。
π ( a ∣ s ) = { 0 , a ≠ a ∗ 1 , a = a ∗ \pi(a|s)= \left \{ \begin{array}{c} 0, & a \neq a^*\\ 1, & a = a^* \end{array} \right . π(as)={0,1,a=aa=a

3.2 state value 求解

为了解得最优的 state value,需要借助 Contraction Mapping Theorem。如果一个函数 f f f符合 Contraction Mapping( ∣ f ( v 1 ) − f ( v 2 ) ∣ ≤ γ ∣ v 1 − v 2 ∣ |f(v_1)-f(v_2)| \leq \gamma |v_1-v_2| f(v1)f(v2)γv1v2),那么它有三个性质:

  1. 对于数列 v k + 1 = f ( v k ) v_{k+1}=f(v_k) vk+1=f(vk),存在不动点,即 v k + 1 = v k v_{k+1}=v_k vk+1=vk
  2. 而且这个不动点 v ∗ v^* v是唯一的。
  3. k → ∞ k \to \infty k v k → v ∗ v_k \to v* vkv

已知 BOE 可以写成 v = f ( v ) v=f(v) v=f(v),而且符合 Contraction Mapping(证明略),则可以通过
v k + 1 ( s ) = max ⁡ π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v k ( s ′ ) ) 或 v k + 1 = max ⁡ π ( r π + γ P π v k ) v_{k+1}(s)=\displaystyle \max_\pi \sum_a \pi(a|s)\left(\sum_r p(r|s,a) r + \gamma \sum_{s'} p(s'|s,a) v_{k}(s')\right)\\或\\v_{k+1}=\displaystyle \max_\pi (r_\pi + \gamma P_\pi v_k) vk+1(s)=πmaxaπ(as)(rp(rs,a)r+γsp(ss,a)vk(s))vk+1=πmax(rπ+γPπvk)
不断迭代,当 k → ∞ k \to \infty k v k → v ∗ v_k \to v* vkv v ∗ v^* v就是最优值。(此时依然不能证明 v ∗ v^* v就是最优值)

3.3 最优策略求解

v 取 v ∗ v取v^* vv时,根据不动点的性质 v ∗ = f ( v ∗ ) = max ⁡ π ( r π + γ P π v ∗ ) = r π ∗ + γ P π ∗ v ∗ = max ⁡ a q ∗ v^*=f(v^*)=\displaystyle \max_\pi(r_\pi+\gamma P_\pi v^*)=r_{\pi^*}+\gamma P_{\pi^*} v^*=\max_a q^* v=f(v)=πmax(rπ+γPπv)=rπ+γPπv=amaxq,最优策略就是 π ∗ = arg max ⁡ π ( r π + γ P π v ∗ ) \pi^* = \displaystyle \argmax_\pi(r_\pi+\gamma P_\pi v^*) π=πargmax(rπ+γPπv),证明如下:
v ∗ − v π ≥ ( r π + γ P π v ∗ ) − ( r π + γ P π v π ) = γ P π ( v ∗ − v π ) ≥ γ 2 P π 2 ( v ∗ − v π ) ⋮ ≥ γ n P π n ( v ∗ − v π ) → 0 , n → ∞ \begin{align} v^*-v_\pi &\geq (r_\pi+\gamma P_\pi v^*) - (r_\pi+\gamma P_\pi v_\pi) = \gamma P_\pi (v^*-v_\pi)\\ &\geq \gamma^2 P_\pi^2 (v^*-v_\pi)\\ &\vdots\\ &\geq \gamma^n P_\pi^n (v^*-v_\pi) \to 0, n \to \infty \end{align} vvπ(rπ+γPπv)(rπ+γPπvπ)=γPπ(vvπ)γ2Pπ2(vvπ)γnPπn(vvπ)0,n
所以 v ∗ 就是最优值, π ∗ 就是最优策略 v^*就是最优值,\pi^*就是最优策略 v就是最优值,π就是最优策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值