前言: 读书《Reinforcement Learning: An Introduction Second Edition》,读到第三章有限马尔科夫决策过程MDP中,提到了贝尔曼方程的理解。一开始我是有点懵逼的,现在看懂了其意思,在这里解释一下。
贝尔曼方程理解
下面讲解
vπ(s)====Eπ[Gt∣St=s]Eπ[Rt+1+γGt+1∣St=s]a∑π(a∣s)s′∑r∑p(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)]foralls∈S
如何推导。
首先,各符号意义:
- 上图中,
vπ(s)表示在状态s下的,使用策略集
π的价值;
-
Gt就是在当前时刻
t所产生的“回报”,在有限时刻中,通常引入折扣率
γ的概念,将
Gt定义为
Gt=Rt+1+γGt+1,表示下一步对当前决策影响最大,时间越远,影响越小;
-
π(a∣s)是策略,在我看来就是在状态
s下选择动作
a的概率;
-
p()是状态转移概率,
r是回报。
vπ(s)=a∑π(a∣s)s′∑r∑p(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]
上面的公式我有些费解,经过书上的提示,我认为写成下面这样更合适:
vπ(s)=a∑(π(a∣s)s′∑r∑(p(s′,r∣s,a)[r+γEπ[Gt+1∣St+1=s′]]))
可以通过上图进行理解,在时刻
t,其价值即各种选择的期望。而期望即是概率
× 对应事件值,在这里,期望即 该状态
s下选择动作
a的概率
π(a∣s) 乘上对应事件,即动作执行后,发生的一系列事件的期望。
贝尔曼方程组
v(s1)=f(v(s1),v(s2),...,v(sn))v(s2)=f(v(s1),v(s2),...,v(sn))...v(sn)=f(v(s1),v(s2),...,v(sn))
扫描二维码关注公众号,回复:
8917330 查看本文章
可见,这构造了一个关于
v(si)的n元1次方程组,可以求解每个状态的价值。
当然,这里
vπ(s)简写成了
v(s),我们知道每个状态的价值是由策略决定的,策略糟糕,价值低。
贝尔曼最优方程
最优方程说明:最优策略下各个状态的价值一定等于这个状态下最优动作的期望回报。
假设只有2个状态(
s1与
s2),对于状态
s1,其最优价值:
v∗(s1)==max⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧p(s1∣s1,a1)[r(s1,a1,s1)+γv∗(s1)]+p(s2∣s1,a1)[r(s2,a1,s1)+γv∗(s2)]p(s1∣s1,a2)[r(s1,a2,s1)+γv∗(s1)]+p(s2∣s1,a2)[r(s2,a2,s1)+γv∗(s2)]...p(s1∣s1,an)[r(s1,an,s1)+γv∗(s1)]+p(s2∣s1,an)[r(s2,an,s1)+γv∗(s2)]⎭⎪⎪⎪⎪⎬⎪⎪⎪⎪⎫
如上,是需要选择出一个/多个最优动作的。
如果将两个状态的方程式联立,则计算量急剧增大。
而对于状态多的更不用说,几乎不可计算。因此,要使用近似算。