首先回顾状态价值函数和动作价值函数的定义:
状态价值函数 v π ( s ) v_\pi(s) vπ(s)是从状态 s s s出发,直至一幕结束后获得的回报的期望值
动作价值函数 q π ( s , a ) q_\pi(s,a) qπ(s,a)是从状态 s s s出发,采取动作 a a a后,直至一幕结束后获得的回报的期望值
以下面这张回溯图为例:
从状态 s s s出发有三个动作可以选,选择的概率为 π ( a i ∣ s ) \pi(a_i|s) π(ai∣s),一旦选择了动作 a i a_i ai,后续获得的回报为 q π ( s , a i ) q_\pi(s,a_i) qπ(s,ai),而状态价值函数是从状态 s s s出发回报的期望值,因此需要按动作被选择的概率对动作价值进行加权求和,即:
v π ( s ) = π ( a 1 ∣ s ) q π ( s , a 1 ) + π ( a 2 ∣ s ) q π ( s , a 2 ) + π ( a 3 ∣ s ) q π ( s , a 3 ) v_\pi(s)=\pi(a_1|s)q_\pi(s,a_1)+\pi(a_2|s)q_\pi(s,a_2)+\pi(a_3|s)q_\pi(s,a_3) vπ(s)=π(a1∣s)qπ(s,a1)+π(a2∣s)qπ(s,a2)+π(a3∣s)qπ(s,a3)
更一般地,状态价值与动作价值的关系为:
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)=a∈A∑π(a∣s)qπ(s,a)
在采取动作 a a a后,智能体会以一定概率获得一个奖励 r r r,并转移到下一个状态 s ′ s' s′,这个概率记作 p ( s ′ , r ∣ s , a ) p(s',r|s,a) p(s′,r∣s,a)。 q π ( s , a ) q_\pi(s,a) qπ(s,a)和下一个状态 s ′ s' s′的状态价值之间存在以下关系:
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)=s′∈S∑r∈R∑p(s′,r∣s,a)[r+γvπ(s′)]
这个关系通过下面的回溯图很容易理解,因为动作价值是期望值,而奖励 R t + 1 R_{t+1} Rt+1和下一个状态 S t + 1 S_{t+1} St+1都是随机变量,求期望值需要对随机变量不同取值按概率加权求和。
联立上面两个式子就得到状态价值函数的贝尔曼方程:
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_\pi(s)=\sum_{a\in\mathcal{A}}\pi(a|s)\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma v_\pi(s')] vπ(s)=a∈A∑π(a∣s)s′∈S∑r∈R∑p(s′,r∣s,a)[r+γvπ(s′)]
同样可以得到动作价值函数的贝尔曼方程:
q π ( s , a ) = ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) ] q_\pi(s,a)=\sum_{s'\in S}\sum_{r\in R}p(s',r|s,a)[r+\gamma \sum_{a'\in\mathcal{A}}\pi(a'|s')q_\pi(s',a')] qπ(s,a)=s′∈S∑r∈R∑p(s′,r∣s,a)[r+γa′∈A∑π(a′∣s′)qπ(s′,a′)]