《强化学习:原理与Python实现 》 —2.3.2 Bellman最优方程

举报
华章计算机 发表于 2019/11/12 21:10:04 2019/11/12
【摘要】 本节书摘来自华章计算机《强化学习:原理与Python实现》 一书中第二章,第2.3.2节,作者肖智清。

2.3.2 Bellman最优方程

最优价值函数具有一个重要的性质—Bellman最优方程(Bellman optimal equation)。Bellman最优方程可以用于求解最优价值函数。

回顾2.2节,策略的价值函数满足Bellman期望方程,最优价值函数也是如此。与此同时,将最优函数的性质:

 image.png

代入Bellman期望方程,就可以得到Bellman最优方程。

Bellman最优方程有以下两个部分。

用最优动作价值函数表示最优状态价值函数,备份图见图2-4a:

 image.png

用最优状态价值函数表示最优动作价值函数,备份图见图2-4b:

 image.png

 image.png

图2-4 最优状态价值函数和最优动作价值函数互相表示的备份图

基于最优状态价值函数和最优动作价值函数互相表示的形式,可以进一步导出以下两种形式。

用最优状态价值函数表示最优状态价值函数,备份图见图2-5a:

 image.png

用最优动作价值函数表示最优动作价值函数,备份图见图2-5b:

 

 image.png

image.png

图2-5 最优状态价值函数和最优动作价值函数自我表示的备份图

例如,对于表2-1的动力系统,我们可以列出其Bellman最优方程为:

image.png 

用这个方程可以求得最优价值函数。

接下来我们用sympy求解这个方程。Bellman最优方程含有max() 运算,可以通过分类讨论来化解这个max() 运算,将优化问题转为普通线性规划问题。如果用这种方法,可以将这个方程组分为以下4类情况讨论,用代码清单2-2求解。

代码清单2-2 求解示例Bellman最优方程

image.png

代码清单2-2求得以下4种情况的解如下。

情况I:且。这时且

。这种情况的求解结果为:

 image.png

 

 

其中。此时,且可以化简为:

 image.png

情况II:且。这时且。这种情况的求解结果为:

 image.png

其中。此时,且可以化简为:

 image.png

情况III:且。这时且。这种情况的求解结果为:

 

 image.png

此时,且可以化简为:

 image.png

情况IV:且。这时且。这种情况的求解结果为:

 image.png

 

其中。此时,且可以化简为:

 image.png

对于给定数值的情况,更常将()松弛为(),并消去以减少决策变量,得到新的线性规划:

 image.png

其中()是一组任意取值的正实数。Bellman最优方程的解显然在线性规划的可行域内。而由于(),因此线性规划的最优解肯定会让约束条件中的某些不等式取到等号,使得Bellman最优方程成立。可以证明,这个线性规划的最优解满足Bellman最优方程。

例如,在之前的例子中,如果限定,,,我们用这个线性规划求得最优状态价值为

 image.png

进而由最优状态价值推算出最优动作价值为

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。