强化学习笔记(3)-贝尔曼最优公式
Bellman Optimal Equation
Optimal policy
定义:如果$v_{\pi^} (s) \geq v_{\pi}(s), \forall s \in \mathcal{S}$ ,那么称 $\pi^$为最优策略
Bellman optimality equation
\[\begin{aligned} v(s) &= \max_\pi \sum_a \pi (a|s) \left( \sum_r p(r|s,a)r + \gamma \sum_{s'} p(s'|s,a)v(s')\right ), \quad \forall s \in \mathcal{S} \\ &= \max_\pi \sum_a \pi (a|s) q(s,a) \end{aligned}\]在Bellman公式中,$\pi$ 是给定的,而在最优公式中不是。
其中:
-
$p(r s,a)$和$p(s’ s,a)$是给定的 - $v(s)$和$v(s’)$是未知的并且是所要求解的
类似Bellman公式,可以得到Bellman最优公式的矩阵向量形式: \(v = \max_\pi (r_\pi + \gamma P_\pi v)\)
求解一般式
对于式子: \(\begin{aligned} v(s) &= \max_\pi \sum_a \pi (a|s) \left( \sum_r p(r|s,a)r + \gamma \sum_{s'} p(s'|s,a)v(s')\right ), \quad \forall s \in \mathcal{S} \\ &= \max_\pi \sum_a \pi (a|s) q(s,a) \end{aligned}\) 因为$\sum_a \pu(a|s) = 1$,所以有 \(\max_\pi \sum_a \pi(a|s) q(s,a) = \max_{a \in \mathcal{A}(a)} q(s,a)\)
即$v(s)$ 为$q(s,a)$的最大值,其中,策略的权重如下($a^*$就是最优策略对应的action): \(\pi(a | s) = \begin{cases} 1 & a = a^* \\ 0 & a \ne a^* \end{cases}\)
求解矩阵向量式
令 \(f(v) := \max_\pi (r_\pi + \gamma P_\pi v)\) 那么Bellman最优公式就变成了 \(v = f(v)\) 其中$f(v)$是一个向量, \([f(v)]_s = \max_\pi \sum_a \pi(a|s)q(s,a), \quad s \in \mathcal{S}\)
解的存在性:用到压缩映射原理(省略)
$f(v)$ 是一个压缩映射,满足 \(|| f(v_1) - f(v_2) || \leq \gamma || v_1 - v_2||\) 因此Bellman公式存在唯一解 $v^*$
解的最优性
若$v_$是$v = \max_\pi (r_\pi + \gamma P_\pi v)$的唯一解,且对于任意的 $v_\pi$ 满足式子$v_\pi = r_\pi + \gamma P_\pi v_\pi$,都有$v^ \geq v_\pi, \forall \pi$
最优的策略$\pi^*$如下: \(\pi^*(a|s) = \begin{cases} 1 & a = a^*(s) \\ 0 & a \neq a^*(s) \end{cases}\)