文章目录
前言
贝尔曼方程和算子算是RL的基础了,偶然间看到有人总结这个slides的内容,但其实不易懂,排版也看不习惯,我觉得还是要自己整理一下。
主要针对有模型场景,相关资料在末尾有引用。
MDP上Bellman方程的收敛性
Value Functions as Vectors
首先将值函数表示为向量。
状态空间 S S S有 n n n个状态: { s 1 , ⋯ , s n } \{s_1,\cdots,s_n\} { s1,⋯,sn};动作空间 A A A有 m m m个动作: { a 1 , ⋯ , a m } \{a_1,\cdots,a_m\} { a1,⋯,am}。这个阐述也能很容易扩展到连续状态/动作空间。
定义随机策略 π ( a ∣ s ) \pi(a|s) π(a∣s),确定性策略为 π ( s ) = a \pi(s)=a π(s)=a。
考虑一个 n n n维空间 R n \mathbb{R}^n Rn,每一维对应 S S S中的一个状态。将值函数(VF) v : S → R \textbf{v}:S\rightarrow\mathbb{R} v:S→R当做这个空间的一个向量,坐标为: [ v ( s 1 ) , ⋯ , v ( s n ) ] [\textbf{v}(s_1),\cdots,\textbf{v}(s_n)] [v(s1),⋯,v(sn)]。
策略 π \pi π的值函数记做 v π : S → R \textbf{v}_{\pi}:S\rightarrow\mathbb{R} vπ:S→R,最优值函数记做 v ∗ : S → R \textbf{v}_{*}:S\rightarrow\mathbb{R} v∗:S→R,满足:
v ∗ ( s ) = max π v π ( s ) \textbf{v}_{*}(s)=\max_{\pi}\textbf{v}_{\pi}(s) v∗(s)=πmaxvπ(s)
R s a \mathcal{R}_s^a Rsa记做状态 s s s执行动作 a a a的期望奖赏, P s , s ′ a \mathcal{P}_{s,s'}^a Ps,s′a记做状态 s s s执行动作 a a a转移到 s ′ s' s′的概率。这两个与环境有关。
定义策略 π \pi π下状态的期望奖赏 R π ( s ) = ∑ a ∈ A π ( a ∣ s ) R s a \bf{R}_{\pi}(s)=\sum_{a\in A}\pi(a|s)\mathcal{R}_s^a Rπ(s)=∑a∈Aπ(a∣s)Rsa, R π \bf{R}_{\pi} Rπ是向量 [ R π ( s 1 ) , ⋯ , R π ( s n ) ] [\bf{R}_{\pi}(s_1),\cdots,\bf{R}_{\pi}(s_n)] [Rπ(s1),⋯,Rπ(sn)]。

定义策略 π \pi π下转移概率 P π ( s , s ′ ) = ∑ a ∈ A π ( a ∣ s ) P s , s ′ a \bf{P}_{\pi}(s,s')=\sum_{a\in A}\pi(a|s)\mathcal{P}_{s,s'}^a Pπ(s,s′)=∑a∈Aπ(a∣s)Ps,s′a, P π \bf{P}_{\pi} Pπ是矩阵 [ P π ( s i , s j ) ] [\bf{P}_{\pi}(s_i,s_j)] [Pπ(si,sj)], 1 ≤ i , j ≤ n 1\leq i,j\leq n 1≤i,j≤n。
上面这两个与策略有关。
γ \gamma γ是MDP的折扣因子。
贝尔曼算子 B π , B ∗ \bf{B}_{\pi},\bf{B}_{*} Bπ,B∗
定义将一个VF向量转换为另一个VF向量的算子。
贝尔曼期望算子 B π \bf{B}_{\pi} Bπ: B π v = R π + γ P π v \bf{B}_{\pi}\bf{v}=\bf{R}_{\pi}+\gamma\bf{P}_{\pi}\bf{v} Bπv=Rπ+γPπv 是一个线性算子,拥有不动点 v π \bf{v}_{\pi} vπ满足 B π v π = v π \bf{B}_{\pi}\bf{v}_{\pi}=\bf{v}_{\pi} Bπvπ=vπ。
贝尔曼最优算子 ( B ∗ v ) ( s ) = max a ( R s a + γ ∑ s ′ ∈ S P s , s ′ a v ( s ′ ) ) (\bf{B}_*\bf{v})(s)=\max_{a}(\mathcal{R}_s^a+\gamma\sum_{s'\in S}\mathcal{P}_{s,s'}^a\bf{v}(s')) (B∗v)(s)=maxa(Rsa+γ∑s′∈SPs,s′av(s′)) 是一个非线性算子,拥有不动点 v ∗ \bf{v}_{*} v∗满足 B ∗ v ∗ = v ∗ \bf{B}_{*}\bf{v}_{*}=\bf{v}_{*} B∗v∗=v∗。
定义一个函数 G G G将 v \bf{v} v映射为确定性贪心策略 G ( v ) G(\bf{v}) G(v)形式为:
G ( v ) ( s ) = arg max a { R s a + γ ∑ s ′ ∈ S P s , s ′ a v ( s ′ ) } G(\bf{v})(s)=\argmax_a\{\mathcal{R}_s^a+\gamma\sum_{s'\in S}\mathcal{P}_{s,s'}^a{\bf{v}}(s')\} G(v)(s)=aargmax{
Rsa+γs′∈S∑Ps,s′av(s′)}
对于任意 v \bf{v} v, B G ( v ) v = B ∗ v \bf{B}_{G(\bf{v})}\bf{v}=\bf{B}_*\bf{v} BG(v)v=B∗v
Contraction and Monotonicity of Operators
首先对于有限奖赏的有限MDP,所有值函数都是实数域上的,值函数之间通过 L ∞ L_{\infty} L∞度量,对于任意两个值函数度量: ∥ v 1 − v 2 ∥ ∞ = max s ∈ S ∣ v 1 ( s ) − v 2 ( s ) ∣ \|{\bf{v}}_1-{\bf{v}}_2\|_{\infty}=\underset{s\in S}{\max}\ |{\bf{v}}_1(s)-{\bf{v}}_2(s)| ∥v1−v2∥∞=s∈Smax ∣v1(s)−v2(s)∣,即使用两个值函数相差最大的状态的值作为两个值函数的度量。
这里已知度量空间 ( R , L ∞ ) (R, L_{\infty}) (R,L∞)是完备的,具体证明可参考:https://towardsdatascience.com/mathematical-analysis-of-reinforcement-learning-bellman-equation-ac9f0954e19f。
B π , B ∗ \bf{B}_{\pi},\bf{B}_* Bπ,B∗都是 ( R , L ∞ ) (R, L_{\infty}) (R,L∞)上的收缩映射,即:
对于任意两个 v 1 , v 2 \bf{v}_1,\bf{v}_2 v1,v2,满足:
∥ B π v 1 − B π v 2 ∥ ∞ ≤ γ ∥ v 1 − v 2 ∥ ∞ \|\bf{B}_{\pi}\bf{v}_1-\bf{B}_{\pi}\bf{v}_2\|_{\infty}\leq\gamma \|\bf{v}_1-\bf{v}_2\|_{\infty} ∥Bπv1−Bπv2∥∞≤γ∥v1−v2∥∞
∥ B ∗ v 1 − B ∗ v 2 ∥ ∞ ≤ γ ∥ v 1 − v 2 ∥ ∞ \|\bf{B}_*\bf{v}_1-\bf{B}_*\bf{v}_2\|_{\infty}\leq\gamma \|\bf{v}_1-\bf{v}_2\|_{\infty} ∥B∗v1−B∗v2∥∞≤γ∥v1−v2∥∞
首先证明 B π \bf{B}_{\pi} Bπ:
∥ B π v 1 − B π v 2 ∥ ∞ = ∥ R π + γ P π v 1 − ( R π + γ P π v 2 ) ∥ ∞ = ∥ γ P π v 1 − γ P π v 2 ∥ ∞ = γ ∥ P π ( v 1 − v 2 ) ∥ ∞ = γ max i P π ∣ v 1 − v 2 ∣ i \begin{aligned} \|\bf{B}_{\pi}\bf{v}_1-\bf{B}_{\pi}\bf{v}_2\|_{\infty} & =\|\bf{R}_{\pi}+\gamma\bf{P}_{\pi}\bf{v}_1-(\bf{R}_{\pi}+\gamma\bf{P}_{\pi}\bf{v}_2)\|_{\infty} \\ & = \|\gamma\bf{P}_{\pi}\bf{v}_1-\gamma\bf{P}_{\pi}\bf{v}_2\|_{\infty} \\ & =\gamma\|\bf{P}_{\pi}(\bf{v}_1-\bf{v}_2)\|_{\infty} \\ & =\gamma\underset{i}{\max}\ {\bf{P}}_{\pi}|{\bf{v}}_1-{\bf{v}}_2|_{i} \end{aligned} ∥Bπv1−Bπv2∥∞=∥Rπ+γPπv1−(Rπ+γPπv2)∥∞=∥γPπv1−γPπv2∥∞=γ∥Pπ(v1−v2)∥∞=γimax Pπ∣v1−v2∣i
P π \bf{P}_{\pi} Pπ作为策略 π \pi π下每个状态之间的转移概率矩阵,每一位都不大于1,因此可得:
γ max i P π ( v 1 − v 2 ) i ≤ γ max i ( v 1 − v 2 ) i = γ ∥ v 1 − v 2 ∥ ∞ \begin{aligned} \gamma\underset{i}{\max}\ {\bf{P}}_{\pi}({\bf{v}}_1-{\bf{v}}_2)_{i} & \leq\gamma\underset{i}{\max}\ ({\bf{v}}_1-{\bf{v}}_2)_{i}\\ & =\gamma\|\bf{v}_1-\bf{v}_2\|_{\infty} \end{aligned} γimax Pπ(v1−v2)i≤γimax (v1−v2)i=γ∥v1−v2∥∞
所以 ∥ B π v 1 − B π v 2 ∥ ∞ ≤ γ ∥ v 1 − v 2 ∥ ∞ \|\bf{B}_{\pi}\bf{v}_1-\bf{B}_{\pi}\bf{v}_2\|_{\infty}\leq\gamma \|\bf{v}_1-\bf{v}_2\|_{\infty} ∥Bπv1−Bπv2∥∞≤γ∥v1−v2∥∞。
然后证明 B ∗ \bf{B}_* B∗,首先将 B ∗ v \bf{B}_*\bf{v} B∗v关于 s s s展开:
B ∗ v = { max a ( R s 1 a + γ ∑ s ′ ∈ S P s 1 , s ′ a v ( s ′ ) ) , max a ( R s 2 a + γ ∑ s ′ ∈ S P s 2 , s ′ a v ( s ′ ) ) , ⋯ , max a ( R s n a + γ ∑ s ′ ∈ S P s n , s ′ a v ( s ′ ) ) } \begin{aligned} \bf{B}_*\bf{v}=\{ &\max_{a}(\mathcal{R}_{s_1}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}(s')),\\ &\max_{a}(\mathcal{R}_{s_2}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_2,s'}^a\bf{v}(s')),\\ &\cdots,\\ & \max_{a}(\mathcal{R}_{s_n}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_n,s'}^a\bf{v}(s'))\} \end{aligned} B∗v={
amax(Rs1a+γs′∈S∑Ps1,s′av(s′)),amax(Rs2a+γs′∈S∑Ps2,s′av(s′)),⋯,amax(Rsna+γs′∈S∑Psn,s′av(s′))}
然后可得:
B ∗ v 1 − B ∗ v 2 = { max a ( R s 1 a + γ ∑ s ′ ∈ S P s 1 , s ′ a v 1 ( s ′ ) ) − max a ( R s 1 a + γ ∑ s ′ ∈ S P s 1 , s ′ a v 2 ( s ′ ) ) , max a ( R s 2 a + γ ∑ s ′ ∈ S P s 2 , s ′ a v 1 ( s ′ ) ) − max a ( R s 2 a + γ ∑ s ′ ∈ S P s 2 , s ′ a v 2 ( s ′ ) ) , ⋯ , max a ( R s n a + γ ∑ s ′ ∈ S P s n , s ′ a v 1 ( s ′ ) ) − max a ( R s n a + γ ∑ s ′ ∈ S P s n , s ′ a v 2 ( s ′ ) ) } \begin{aligned} \bf{B}_*\bf{v}_1-\bf{B}_*\bf{v}_2=\{ &\max_{a}(\mathcal{R}_{s_1}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_1(s'))-\max_{a}(\mathcal{R}_{s_1}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_2(s')),\\ &\max_{a}(\mathcal{R}_{s_2}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_2,s'}^a\bf{v}_1(s'))-\max_{a}(\mathcal{R}_{s_2}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_2,s'}^a\bf{v}_2(s')),\\ &\cdots,\\ & \max_{a}(\mathcal{R}_{s_n}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_n,s'}^a\bf{v}_1(s'))-\max_{a}(\mathcal{R}_{s_n}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_n,s'}^a\bf{v}_2(s'))\} \end{aligned} B∗v1−B∗v2={
amax(Rs1a+γs′∈S∑Ps1,s′av1(s′))−amax(Rs1a+γs′∈S∑Ps1,s′av2(s′)),amax(Rs2a+γs′∈S∑Ps2,s′av1(s′))−amax(Rs2a+γs′∈S∑Ps2,s′av2(s′)),⋯,amax(Rsna+γs′∈S∑Psn,s′av1(s′))−amax(Rsna+γs′∈S∑Psn,s′av2(s′))}
这里虽然没有区分动作符号,但 B ∗ v 1 ( s ) \bf{B}_*\bf{v}_1(s) B∗v1(s)与 B ∗ v 2 ( s ) \bf{B}_*\bf{v}_2(s) B∗v2(s)的最优动作不一定一样。对于其中的每一个元素,我们可得:
∥ B ∗ v 1 ( s 1 ) − B ∗ v 2 ( s 1 ) ∥ ∞ = ∥ max a ( R s 1 a + γ ∑ s ′ ∈ S P s 1 , s ′ a v 1 ( s ′ ) ) − max a ( R s 1 a + γ ∑ s ′ ∈ S P s 1 , s ′ a v 2 ( s ′ ) ) ∥ ∞ ≤ ∥ max a ( γ ∑ s ′ ∈ S P s 1 , s ′ a v 1 ( s ′ ) − γ ∑ s ′ ∈ S P s 1 , s ′ a v 2 ( s ′ ) ) ∥ ∞ = γ max a , s ′ ∑ s ′ ∈ S P s 1 , s ′ a ( v 1 ( s ′ ) − v 2 ( s ′ ) ) = γ ∥ v 1 ( s ′ ) − v 2 ( s ′ ) ∥ ∞ max a , s ′ ∑ s ′ ∈ S P s 1 , s ′ a = γ ∥ v 1 ( s ′ ) − v 2 ( s ′ ) ∥ ∞ \begin{aligned} \|\bf{B}_*\bf{v}_1(s_1)-\bf{B}_*\bf{v}_2(s_1)\|_{\infty}&=\|\max_{a}(\mathcal{R}_{s_1}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_1(s'))-\max_{a}(\mathcal{R}_{s_1}^a+\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_2(s'))\|_{\infty}\\ &\leq \|\max_a(\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_1(s')-\gamma\sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\bf{v}_2(s'))\|_{\infty}\\ &=\gamma\max_{a,s'}\ \sum_{s'\in S}\mathcal{P}_{s_1,s'}^a(\bf{v}_1(s')-\bf{v}_2(s'))\\ &=\gamma\|{\bf{v}}_1(s')-{\bf{v}}_2(s')\|_{\infty}\max_{a,s'}\ \sum_{s'\in S}\mathcal{P}_{s_1,s'}^a\\ &=\gamma\|{\bf{v}}_1(s')-{\bf{v}}_2(s')\|_{\infty}\\ \end{aligned} ∥B∗v1(s1)−B∗v2(s1)∥∞=∥amax(Rs1a+γs′∈S∑Ps1,s′av1(s′))−amax(Rs1a+γs′∈S∑Ps1,s′av2(s′))∥∞≤∥amax(γs′∈S∑Ps1,s′av1(s′)−γs′∈S∑Ps1,s′av2(s′))∥∞=γa,s′max s′∈S∑Ps1,s′a(v1(s′)−v2(s′))=γ∥v1(s′)−v2(s′)∥∞a,s′max s′∈S∑Ps1,s′a=γ∥v1(s′)−v2(s′)∥∞
其中 ∑ s ′ ∈ S P s 1 , s ′ a = 1 \sum_{s'\in S}\mathcal{P}_{s_1,s'}^a=1 ∑s′∈SPs1,s′a=1,所以上式成立。 s ′ s' s′其实同 s 1 s_1 s1都是状态空间 S S S中的一个元素,元素之间存在这样的偏序关系,所以证得 ∥ B ∗ v 1 − B ∗ v 2 ∥ ∞ ≤ γ ∥ v 1 − v 2 ∥ ∞ \|\bf{B}_*\bf{v}_1-\bf{B}_*\bf{v}_2\|_{\infty}\leq\gamma \|\bf{v}_1-\bf{v}_2\|_{\infty} ∥B∗v1−B∗v2∥∞≤γ∥v1−v2∥∞。
在 γ ∈ ( 0 , 1 ) \gamma\in(0,1) γ∈(0,1)时, B π , B ∗ \bf{B}_{\pi},\bf{B}_* Bπ,B∗都是 ( R , L ∞ ) (R, L_{\infty}) (R,L∞)上的收缩映射。
因此,根据Banach不动点定理(非正式地,该定理说,对于完备的度量空间,将压缩映射一遍又一遍地应用到集合的元素上,最终将使我们获得不动点),可以用迭代的方法求Bellman期望算子和Bellman最优算子的不动点,迭代正比于 γ k \gamma^k γk的速度收敛(其中 k k k是迭代次数)。由于Bellman期望算子的不动点就是策略价值,Bellman最优算子的不动点就是最优价值,所以这就意味着我们可以用迭代的方法求得策略的价值或最优价值。
同时可以得出结论:每个MDP都有一个唯一的最优值函数 v ∗ \bf{v}^* v∗。 使用该 v ∗ \bf{v}^* v∗,我们可以得出最佳策略 π ∗ \pi^* π∗。因此证明,对于任何有限的MDP,都存在一个最佳策略 π ∗ \pi^* π∗,使其优于或等于其他所有可能的策略 π \pi π。
求解
DP方式求解的主要就两种方法,策略迭代和值迭代,下面分别介绍这两种。
Policy Iteration
策略迭代从一个任意的确定性策略开始,交替进行策略评估和策略改进。这里的策略改进是严格的策略改进,即改进后的策略和改进前的策略是不同的。
对于状态空间和动作空间均有限的Markov决策过程,其可能的确定性策略数是有限的。由于确定性策略总数是有限的,所以在迭代过程中得到的策略序列一定能收敛,并且收敛的结果就是最优策略,这个在策略改进中会有说明。
Policy Evaluation
整体就是从任意值函数 v {\bf{v}} v开始,重复应用 B π \bf{B}_{\pi} Bπ,就会得到唯一不动点 v π {\bf{v}}_{\pi} vπ:
lim N → ∞ B π N v = v π , for any VF v \lim_{N\to \infty}{\bf{B}}_{\pi}^N{\bf{v}}={\bf{v}}_{\pi}, \text{for any VF }{\bf{v}} N→∞limBπNv=vπ,for any VF v
也就是对于任意策略,我们总会得到其对应的值函数,这就是策略评估。
这里由于使用确定性策略,也就是贪心策略,所以值函数 v ( s ) {\bf{v}}(s) v(s)就是对应动作的 q ( s , a ) q(s,a) q(s,a),但因为可能存在策略改进,所以不一定是 max a q ( s , a ) \max_a q(s,a) maxaq(s,a)。
迭代策略评估算法具有以下两大意义:一方面,这个策略评估算法将作为策略迭代算法的一部分,用于最优策略的求解;另一方面,在这个策略评估算法的基础上进行修改,可以得到迭代求解最优策略的算法。
Policy Improvement
这个过程类似策略评估,同样是先计算每个动作的值,然后得到贪心策略,如果新的策略与旧的策略不一致,就更新。
正如之前所说, G ( v ) G({\bf{v}}) G(v)代表贪心策略, B G ( v ) v = B ∗ v {\bf{B}}_{G({\bf{v}})}{\bf{v}}={\bf{B}}_*{\bf{v}} BG(v)v=B∗v,每次策略改进其实就是应用 B ∗ {\bf{B}}_* B∗,也就是说对于迭代数 k k k:
B ∗ v π k = B G ( v π k ) v π k = B π k + 1 v π k {\bf{B}}_*{\bf{v}}_{\pi_k}={\bf{B}}_{G({\bf{v}}_{\pi_k})}{\bf{v}}_{\pi_k}={\bf{B}}_{\pi_{k+1}}{\bf{v}}_{\pi_k} B∗vπk=BG(vπk)vπk=Bπk+1vπk
由算子定义可知,对于任意策略 π \pi π,都有 B ∗ v ≥ B π v {\bf{B}}_*{\bf{v}}\ge{\bf{B}}_{\pi}{\bf{v}} B∗v≥Bπv,并且因为策略评估收敛了,有 B π k v π k = v π k {\bf{B}}_{\pi_{k}}{\bf{v}}_{\pi_{k}}={\bf{v}}_{\pi_{k}} Bπkvπk=vπk,所以:
B ∗ v π k = B π k + 1 v π k ≥ B π k v π k = v π k {\bf{B}}_*{\bf{v}}_{\pi_k}={\bf{B}}_{\pi_{k+1}}{\bf{v}}_{\pi_k}\geq {\bf{B}}_{\pi_{k}}{\bf{v}}_{\pi_{k}}={\bf{v}}_{\pi_{k}} B∗vπk=Bπk+1vπk≥Bπkvπk=vπk
因此每次策略改进都是单调递增的。
之后又会进行策略评估,因此策略评估是重复应用 B π k + 1 {\bf{B}}_{\pi_{k+1}} Bπk+1,由上可知,重复应用产生的是单调递增序列,所以改进后策略对应的值函数为:
v π k + 1 = lim N → ∞ B π k + ! N v π k ≥ v π k {\bf{v}}_{\pi_{k+1}}=\lim_{N\to \infty}{\bf{B}}_{\pi_{k+!}}^N{\bf{v}}_{\pi_k}\geq{\bf{v}}_{\pi_k} vπk+1=N→∞limBπk+!Nvπk≥vπk
也就是说,策略迭代过程中产生的值函数序列是单调递增的,同时 B ∗ {\bf{B}}_* B∗只有一个不动点,所以策略迭代会收敛到最优值函数 v ∗ {\bf{v}}_* v∗。
Value Iteration
值迭代是一种利用迭代求解最优价值函数进而求解最优策略的方法。策略迭代中,策略评价利用Bellman期望方程迭代求解给定策略的值函数。与之相对,值迭代利用Bellman最优方程迭代求解最优策略的值函数,并进而求得最优策略。
值迭代相当于去掉策略评估,也就是不使用 B π {\bf{B}}_{\pi} Bπ,只使用 B ∗ {\bf{B}}_{*} B∗。已知 B ∗ v {\bf{B}}_{*}{\bf{v}} B∗v是单调递增的运算,之前也证明过其能收敛至唯一不动点,即:
lim N → ∞ B ∗ N v = v ∗ , for any VF v \lim_{N\to \infty}{\bf{B}}_{*}^N{\bf{v}}={\bf{v}}_{*}, \text{for any VF }{\bf{v}} N→∞limB∗Nv=v∗,for any VF v
所以值迭代可以收敛收敛到最优值函数 v ∗ {\bf{v}}_* v∗。
Greedy Policy from Optimal VF is an Optimal Policy
可以通过证明两个策略对应的值函数等价证明两个策略等价。
上面已经说过 B G ( v ) v = B ∗ v {\bf{B}}_{G({\bf{v}})}{\bf{v}}={\bf{B}}_*{\bf{v}} BG(v)v=B∗v,所以对于 B ∗ {\bf{B}}_* B∗的不动点 v ∗ {\bf{v_*}} v∗有:
B G ( v ∗ ) v ∗ = B ∗ v ∗ = v ∗ {\bf{B}}_{G({\bf{v_*}})}{\bf{v_*}}={\bf{B}}_*{\bf{v_*}}={\bf{v_*}} BG(v∗)v∗=B∗v∗=v∗
不过 B G ( v ) {\bf{B}}_{G({\bf{v}})} BG(v)同样有其不动点 v G ( v ) {\bf{v}}_{G({\bf{v}})} vG(v),所以有:
v G ( v ∗ ) = v ∗ {\bf{v}}_{G({\bf{v_*}})}={\bf{v}}_{*} vG(v∗)=v∗
也就是说简单地遵循贪心的确定性策略 G ( v ∗ ) G({\bf{v}}_*) G(v∗)实际上就实现了最优值函数 v ∗ {\bf{v}}_* v∗。
换句话说, G ( v ∗ ) G({\bf{v}}_*) G(v∗)是最优确定性策略。
https://towardsdatascience.com/mathematical-analysis-of-reinforcement-learning-bellman-equation-ac9f0954e19f
https://developer.aliyun.com/article/726187
http://blog.franktian.xyz/2020/12/10/%E7%94%A8Bellman%E7%AE%97%E5%AD%90%E7%90%86%E8%A7%A3%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/