课本上前两个启发例子总结#
-
对于只产生一条轨迹的策略,回报可以用来评价一个策略的好坏。
-
对于有多个可能轨迹的策略,回报的期望可以用来评价一个策略的好坏。
第二条引出状态值的概念。
计算回报:根据定义,回报是immediate reward和future reward的和。
有递推:
Rt=rt+1+γRt+1重要思想:从一个状态出发的回报依赖于从其他状态出发的回报。
状态值#
我们用随机变量重新描述轨迹:t时刻的轨迹为
τ=(St,At,Rt+1,St+1,At+1,Rt+2,…)NOTE这里的 Rt+1 表示在时间 t (状态 St)采取动作 At 后获得的奖励
这个轨迹的折扣回报也是一个随机变量:
Gt=即时回报Rt+1+未来回报γRt+2+γ2Rt+3+…=k=0∑∞γkRt+k+1我们可以对 Gt 取条件期望,条件是 St=s,就得到状态值函数:
vπ(s)=Eπ[Gt∣St=s]TIP当策略导出的轨迹唯一,状态值=回报。
当策略导出的轨迹不唯一,状态值=每条轨迹回报的期望。
贝尔曼方程#
贝尔曼方程描述了所有状态值之间的关系。
根据回报的定义,有递推关系:
Gtvπ(s)=Rt+1+γGt+1=E[Gt∣St=s]=E[Rt+1+γGt+1∣St=s]根据期望的线性性质:
vπ(s)=即时奖励期望E[Rt+1∣St=s]+γ未来奖励期望E[Gt+1∣St=s]对于即时奖励期望:由全期望公式可得
E[Rt+1∣St=s]=a∈A(st)∑π(a∣s)r∈Rt+1∑r⋅p(r∣s,a)对于未来奖励期望:由马尔可夫性,和过去的状态动作无关,只和下一个状态有关
E[Gt+1∣St=s]=s′∈S∑E[Gt+1∣St+1=s′,St=s]⋅p(s′∣s)=s′∈S∑下一个状态的状态值E[Gt+1∣St+1=s′]⋅p(s′∣s)=s′∈S∑vπ(s′)⋅a∈A(s)∑p(s′∣s,a)⋅π(a∣s)综上,贝尔曼方程为:
vπ(s)=a∈A(s)∑π(a∣s)r∈Rt+1∑r⋅p(r∣s,a)+γs′∈S∑vπ(s′)⋅a∈A(s)∑p(s′∣s,a)⋅π(a∣s)=a∈A(s)∑π(a∣s)r∈Rt+1∑r⋅p(r∣s,a)+γs′∈S∑vπ(s′)p(s′∣s,a)其中,未知量是 vπ(s),用来描述策略
已知量是策略 π(a∣s)
模型部分:奖励概率 p(r∣s,a),状态转移概率 p(s′∣s,a)。可有可无
贝尔曼最优方程#
贝尔曼最优方程描述了最优状态值之间的关系。
最优状态值定义为:在给定状态下,遵循最优策略所能获得的最大期望回报。
v∗(s)=πmaxvπ(s)根据最优状态值的定义,可以得到贝尔曼最优方程:
v∗(s)=π(s)∈Π(s)maxa∈A(s)∑π(a∣s)r∈Rt+1∑r⋅p(r∣s,a)+γs′∈S∑v∗(s′)p(s′∣s,a)=a∈A(s)maxq∗(s,a)条件
π(a∣s)={10a=argmaxa∈A(s)q∗(s,a)else其中,未知量是 v∗(s),用来描述最优策略
教材上给了求解思路,讲的很清楚,这里不再赘述。