[RL Notes] 最优价值函数
Contents [show]
1. 最优价值函数
由最优策略的定义可知,最优策略共享相同的最优状态价值函数,定义为对于任意 s∈S,
v∗(s)≐maxπvπ(s)
类似地,最优的策略也共享相同的最优动作价值函数,记为 q∗,定义为对于任意 s∈S,a∈A,
q∗(s,a)≐maxπqπ(s,a)
式 (2) 表示在状态 s 下先选择动作 a,然后采取最优策略进行决策的期望回报,故可以用 v∗ 来表示 q∗,即
q∗(s,a)=E[Rt+1+γv∗(St+1)|St=s,At=a]
2. 贝尔曼最优方程
最优状态价值函数仍满足的状态价值的贝尔曼方程,此时
v∗(s)=∑aπ∗(a|s)∑s′∑rp(s′,r|s,a)[r+γv∗(s′)]
最优策略 π∗ 在每个状态都会选择最优动作,即以概率 1 选择具有最大价值的动作,而选择其他动作的概率为 0,于是可以将式 (4) 中的 ∑aπ∗(a|s) 替换为 maxa,即
v∗(s)=maxa∑s′∑rp(s′,r|s,a)[r+γv∗(s′)]
注意式 (5) 中不再出现 π∗,使用 v∗(s′) 表示 v∗(s)。式 (5) 称为 v∗ 的贝尔曼最优方程。
类似地,最优动作价值函数也满足动作价值的贝尔曼方程,此时
q∗(s,a)=∑s′∑rp(s′,r|s,a)[r+γ∑a′π∗(a′|s′)q∗(s′,a′)]
出于同样的原因,将式 (6) 中的 ∑a′π∗(a′|s′) 替换为 maxa′,得到
q∗(s,a)=∑s′∑rp(s′,r|s,a)[r+γmaxa′q∗(s′,a′)]
式 (7) 称为 q∗ 的贝尔曼最优方程。
在前文的例子中,我们通过贝尔曼方程构造线性方程组来计算状态价值。类似地,通过贝尔曼最优方程,可以构造最优状态价值的方程组。但由于贝尔曼最优方程中的 max 不是一个线性操作,因此无法使用线性代数中求解线性系统的方法来求解这一方程组,而是需要一些其他的技巧。注意式 (4) 中虽然没有 max 操作,但并不能用它来构造最优状态价值的方程组,因为其中的 π∗ 是未知的,如果知道了 π∗,强化学习的问题就解决了。
通过贝尔曼最优方程求解得到 v∗ 后,就可以很容易地确定最优策略 π∗。