欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > 【强化学习系列】贝尔曼最优方程

【强化学习系列】贝尔曼最优方程

2025/4/29 7:45:33 来源:https://blog.csdn.net/weixin_44509533/article/details/147595435  浏览:    关键词:【强化学习系列】贝尔曼最优方程

接上一篇文章贝尔曼方程

定义

如果一个策略在所有状态下的状态价值都不低于其他任意策略在相同状态下的状态价值,即:对于所有的 s ∈ S s\in\mathcal{S} sS v π ( s ) ≥ v π ′ ( s ) v_{\pi}(s)\geq v_{\pi^{'}}(s) vπ(s)vπ(s),那么这个策略 π \pi π就是最优策略,最优策略可能不止一个,但统一记为 π ∗ \pi^{*} π
定义最优价值函数
v ∗ ( s ) ≜ max ⁡ π v π ( s ) v_*(s)\triangleq \max_\pi v_\pi(s) v(s)πmaxvπ(s)
q ∗ ( s , a ) ≜ max ⁡ π q π ( s , a ) q_*(s,a)\triangleq \max_\pi q_\pi(s,a) q(s,a)πmaxqπ(s,a)
而从最优策略的定义中也可以得出:
v π ∗ ( s ) ≜ max ⁡ π v π ( s ) v_{\pi*}(s)\triangleq \max_\pi v_\pi(s) vπ(s)πmaxvπ(s)
q π ∗ ( s , a ) ≜ max ⁡ π q π ( s , a ) q_{\pi*}(s,a)\triangleq \max_\pi q_\pi(s,a) qπ(s,a)πmaxqπ(s,a)
所以有:
v π ∗ ( s ) = v ∗ ( s ) = max ⁡ π v π ( s ) v_{\pi*}(s)=v_*(s)=\max_\pi v_\pi(s) vπ(s)=v(s)=πmaxvπ(s)
q ∗ ( s , a ) = q π ∗ ( s , a ) = max ⁡ π q π ( s , a ) q_*(s,a)=q_{\pi*}(s,a)=\max_\pi q_\pi(s,a) q(s,a)=qπ(s,a)=πmaxqπ(s,a)
解释一下 v π ∗ ( s ) 和 v ∗ ( s ) v_{\pi*}(s)和v_*(s) vπ(s)v(s)的区别:
后者是从值函数的大小的角度做出的定义,与策略并没有太大关系,而前者则是在最优策略下的状态价值函数。
上面的结果说明:最优价值函数就是执行最优策略时的价值函数

推导

对于任何一个策略 π \pi π都满足:
v π ( s ) ≤ max ⁡ a q π ( s , a ) v_\pi(s)\leq\max_aq_\pi(s,a) vπ(s)amaxqπ(s,a)
这是因为
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v_\pi(s)=\sum_{a\in\mathcal{A}}\pi(a|s)q_\pi(s,a) vπ(s)=aAπ(as)qπ(s,a)
状态价值函数是各个动作价值函数的加权平均,一定小于等于最大的动作价值。
对于最优策略 π ∗ \pi^* π,为了使状态价值函数达到最大,它在选择动作时一定是以概率1选择使动作价值最大的动作,而其他动作被选择的概率都是0,由于 max ⁡ a q π ( s , a ) = q π ∗ ( s ∣ a ) \max_aq_\pi(s,a)=q_{\pi^*}(s|a) maxaqπ(s,a)=qπ(sa),结合上一个式子可以得到:
v π ∗ ( s ) = max ⁡ a q π ∗ ( s , a ) \begin{equation}v_{\pi^*}(s)=\max_aq_{\pi^*}(s,a)\end{equation} vπ(s)=amaxqπ(s,a)
在上一篇文章中已经推出:
q π ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] q_\pi(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_\pi(s')] qπ(s,a)=sSrRp(s,rs,a)[r+γvπ(s)]
它对于最优策略 π ∗ \pi^* π也是成立的,所以有:
q π ∗ ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ∗ ( s ′ ) ] \begin{equation}q_{\pi^*}(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_{\pi^*}(s')]\end{equation} qπ(s,a)=sSrRp(s,rs,a)[r+γvπ(s)]
代入到公式(1)中可以得到:
v π ∗ ( s ) = max ⁡ a ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ∗ ( s ′ ) ] v_{\pi^*}(s)=\max_a\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_{\pi^*}(s')] vπ(s)=amaxsSrRp(s,rs,a)[r+γvπ(s)]
上式就是贝尔曼最优方程。对于动作价值函数也可推导出类似的结果:
将公式(1)代入公式(2)中:
q π ∗ ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ q π ∗ ( s ′ , a ′ ) ] q_{\pi^*}(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma \max_{a'}q_{\pi^*}(s',a')] qπ(s,a)=sSrRp(s,rs,a)[r+γamaxqπ(s,a)]
当然这两个贝尔曼最优方程中 v π ∗ v_{\pi^*} vπ q π ∗ q_{\pi^*} qπ分别用 v ∗ v_* v q ∗ q_* q代替也是成立的,原因见定义。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词