强化学习——贝尔曼最优公式(三)

贝尔曼最优公式(Bellman Optimality Equation)

state value 可以用来评估策略的好坏,但如何选出最好的策略,那就需要 BOE。

1 最优策略(Optimal Policy)

在每个状态下,该策略的 state value 都大于其它策略的。即v∗>vπv^*>v_\pi。

2 贝尔曼最优公式

未知量为π(a∣s),vπ(s),vπ(s′)\pi(a|s),v_\pi(s),v_\pi(s'),包含了最优策略和最优状态值。

2.1 Elementwise Form

vπ(s)=max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)vπ(s′))v_\pi(s)=\displaystyle \max_\pi \sum_a \pi(a|s)\left(\sum_r p(r|s,a) r + \gamma \sum_{s'} p(s'|s,a) v_\pi(s')\right)

2.2 Matrix-Vector Form

vπ=max⁡π(rπ+γPπvπ)v_\pi=\displaystyle \max_\pi (r_\pi + \gamma P_\pi v_\pi)

3 BOE 求解

3.1 策略求解

为了求得最大的 state value,就先求出使其最大的策略π\pi也就是π(a∣s)\pi(a|s)。使其最大化的策略一定是确定性的(deterministic)。

π(a∣s)={0,a≠a∗1,a=a∗\pi(a|s)= \left \{ \begin{array}{c} 0, & a \neq a^*\\ 1, & a = a^* \end{array} \right .

3.2 state value 求解

为了解得最优的 state value,需要借助 Contraction Mapping Theorem。如果一个函数ff符合 Contraction Mapping(∣f(v1)−f(v2)∣≤γ∣v1−v2∣|f(v_1)-f(v_2)| \leq \gamma |v_1-v_2|),那么它有三个性质:

  1. 对于数列vk+1=f(vk)v_{k+1}=f(v_k),存在不动点,即vk+1=vkv_{k+1}=v_k。
  2. 而且这个不动点v∗v^*是唯一的。
  3. 当k→∞k \to \infty,vk→v∗v_k \to v*。

已知 BOE 可以写成v=f(v)v=f(v),而且符合 Contraction Mapping(证明略),则可以通过

vk+1(s)=max⁡π∑aπ(a∣s)(∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)vk(s′))或vk+1=max⁡π(rπ+γPπvk)v_{k+1}(s)=\displaystyle \max_\pi \sum_a \pi(a|s)\left(\sum_r p(r|s,a) r + \gamma \sum_{s'} p(s'|s,a) v_{k}(s')\right)\\或\\v_{k+1}=\displaystyle \max_\pi (r_\pi + \gamma P_\pi v_k)

不断迭代,当k→∞k \to \infty,vk→v∗v_k \to v*,v∗v^*就是最优值。(此时依然不能证明v∗v^*就是最优值)

3.3 最优策略求解

当v取v∗v取v^*时,根据不动点的性质v∗=f(v∗)=max⁡π(rπ+γPπv∗)=rπ∗+γPπ∗v∗=max⁡aq∗v^*=f(v^*)=\displaystyle \max_\pi(r_\pi+\gamma P_\pi v^*)=r_{\pi^*}+\gamma P_{\pi^*} v^*=\max_a q^*,最优策略就是π∗=arg max⁡π(rπ+γPπv∗)\pi^* = \displaystyle \argmax_\pi(r_\pi+\gamma P_\pi v^*),证明如下:

所以v∗就是最优值,π∗就是最优策略v^*就是最优值,\pi^*就是最优策略