Skip to content

贝尔曼公式

Bellman Equation

状态价值函数

考虑到单步策略:

StAtSt+1,Rt+1

其中:St,St+1SAtA(St)Rt+1R(St,At),均为随机变量

t 时刻开始,我们可以得到一个状态-动作-回报轨迹:

StAtSt+1,Rt+1At+1St+2,Rt+2At+2St+3,Rt+3

沿轨迹的折扣回报为:

Gt=Rt+1+γRt+2+γ2Rt+3+

显然 Gt 也是一个随机变量。

定义状态价值函数(state-value function):

vπ(s)=E[GtSt=s]

该函数能告诉我们当前的局势好不好。

举例:

state-value

vπ1(s1)=0+γ1+γ21+=γ1γvπ2(s1)=1+γ1+γ21+=1+γ1γvπ3(s1)=0.5(1+γ1γ)+0.5(γ1γ)=0.5(γ1γ)

推导

Gt 可以写为:

Gt=Rt+1+γRt+2+γ2Rt+3+=Rt+1+γGt+1

则:

vπ(s)=E[GtSt=s]=E[Rt+1St=s]+γE[Gt+1St=s]

有:

E[Rt+1St=s]=aπ(as)E[Rt+1St=s,At=a]=aπ(as)rp(rs,a)rE[Gt+1St=s]=sE[Gt+1St=s,St+1=s]p(ss)=sE[Gt+1St+1=s]p(ss)=svπ(s)p(ss)=svπ(s)ap(ss,a)π(as)=aπ(as)sp(ss,a)vπ(s)

得到贝尔曼公式:

vπ(s)=E[Rt+1St=s]+γE[Gt+1St=s]=aπ(as)rp(rs,a)rmean of immediate rewards +γaπ(as)sp(ss,a)vπ(s)mean of future rewards =aπ(as)[rp(rs,a)r+γsp(ss,a)vπ(s)],sS

TIP

同样以上面的图片为例,对于策略 π1

vπ(s1)=0+γvπ(s3)vπ(s2)=1+γvπ(s4)vπ(s3)=1+γvπ(s4)vπ(s4)=1+γvπ(s4)

得到:

vπ(s4)=vπ(s3)=vπ(s2)=11γvπ(s1)=γ1γ

同样以上面的图片为例,对于策略 π3

vπ(s1)=0.5[0+γvπ(s3)]+0.5[1+γvπ(s2)]vπ(s2)=1+γvπ(s4)vπ(s3)=1+γvπ(s4)vπ(s4)=1+γvπ(s4)

得到:

vπ(s4)=vπ(s3)=vπ(s2)=11γvπ(s1)=0.5+γ1γ

贝尔曼公式

定义:

rπ(s)aπ(as)rp(rs,a)rpπ(ss)aπ(as)p(ss,a)

有:

vπ(s)=rπ(s)+γspπ(ss)vπ(s)

对于状态 si:

vπ(si)=rπ(si)+γsjpπ(sjsi)vπ(sj)

写成矩阵形式:

vπ=rπ+γPπvπ

其中:

  • vπ=[vπ(s1),,vπ(sn)]Rn
  • rπ=[rπ(s1),,rπ(sn)]Rn
  • PπRn×n[Pπ]ij=pπ(sjsi)

例子

[vπ(s1)vπ(s2)vπ(s3)vπ(s4)]vπ=[rπ(s1)rπ(s2)rπ(s3)rπ(s4)]rπ+γ[pπ(s1s1)pπ(s2s1)pπ(s3s1)pπ(s4s1)pπ(s1s2)pπ(s2s2)pπ(s3s2)pπ(s4s2)pπ(s1s3)pπ(s2s3)pπ(s3s3)pπ(s4s3)pπ(s1s4)pπ(s2s4)pπ(s3s4)pπ(s4s4)]Pπ[vπ(s1)vπ(s2)vπ(s3)vπ(s4)]vπ

以上面的图片为例,对于策略 π1

[vπ(s1)vπ(s2)vπ(s3)vπ(s4)]=[0111]+γ[0010000100010001][vπ(s1)vπ(s2)vπ(s3)vπ(s4)]

求解

直接求解:

vπ=(IγPπ)1rπ

采用迭代法:

vk+1=rπ+γPπvk

有:

vkvπ=(IγPπ)1rπ,k

动作价值函数

定义动作价值函数(action-value function):

qπ(s,a)=E[GtSt=s,At=a]

有:

vπ(s)=aπ(as)qπ(s,a)

对应贝尔曼公式:

vπ(s)=aπ(as)[rp(rs,a)r+γsp(ss,a)vπ(s)]qπ(s,a)

即:

qπ(s,a)=rp(rs,a)r+γsp(ss,a)vπ(s)

例子

以上面的图片为例,对于策略 π2

容易得出:

qπ(s1,a2)=1+γvπ(s2)

那么:

qπ(s1,a1),qπ(s1,a3),qπ(s1,a4),qπ(s1,a5)=?

有:

qπ(s1,a1)=1+γvπ(s1)qπ(s1,a3)=0+γvπ(s3)qπ(s1,a4)=1+γvπ(s1)qπ(s1,a5)=0+γvπ(s1)