2.6-贝尔曼方程的矩阵形式

由于每一个状态都对应了\((2.7)\)中的贝尔曼方程,因此我们可以联立所有这些方程得到更为简洁的矩阵向量形式 (matrix-vector form),该形式将被经常用于理解和分析贝尔曼方程。

为了推导出矩阵-向量形式,首先将\((2.7)\)中的贝尔曼方程重写为:

\[v_\pi (s)=r_\pi (s)+\gamma\sum_{s'\in \mathcal{S}}p_\pi(s'|s)v_\pi(s'),\tag{2.8}\]

其中\(r_\pi(s)=\sum_{a\in \mathcal{A}}\pi(a|s)\sum_{r\in \mathcal{R}}p(r|s,a)r\)\(p_\pi(s'|s)=\sum_{a\in \mathcal{A}}\pi(a|s)p(s'|s,a)\)。其中\(r_\pi(s)\)表示即时奖励的期望值,而\(p_\pi(s'|s)\)代表在策略\(\pi\)下从状态\(s\)转移到\(s'\)的概率。

为了写成矩阵向量形式,需要对状态进行编号。如果有\(n=|\mathcal{S}|\),那么给这个\(n\)个状态编号为\(\{s_1,s_2,...,s_n\}\),对于状态\(s_i\)\((2.8)\)可以被写为:

\[v_\pi(s_i)=r_\pi(s_i)+\gamma\sum_{s_j\in \mathcal{S}}p_\pi(s_j|s_i)v_\pi(s_j),\tag{2.9}\]

\(v_\pi=[v_\pi(s_1),\cdots,v_\pi(s_n)]^T\in\mathbb{R}^n,r_\pi=[r_\pi(s_1),\cdots,r_\pi(s_n)]^T\in\mathbb{R}^n\),以及\(P_\pi \in \mathbb{R}^{n \times n}\)\([P_\pi]_{ij}=p_\pi (s_j|s_i)\)。这时,\((2.9)\)可以被写为下列的矩阵向量形式:

\[v_\pi=r_\pi+\gamma P_\pi v_\pi,\tag{2.10}\]

这里\(v_\pi\)是待解的未知量,而\(\gamma,r_\pi,P_\pi\)是已知量。

矩阵\(P_\pi\)有一些有趣的特性。第一,它是一个非负矩阵 (non-negative matrix),意味着它的所有元素都大于等于零。这一性质记为\(P_\pi \geq 0\),其中\(0\)表示具有适当维度的零矩阵。在本书中\(\leq\)\(\geq\)表示两个矩阵或向量元素间的比较。第二,\(P_\pi\)随机矩阵 (stochastic matrix),即每行的元素之和等于\(1\)。这个性质表示为\(P_\pi \mathbf{1}=\mathbf{1}\),其中\(\mathbf{1}=[1,\cdots,1]^T\)是一个具有合适维度的所有元素都是1的向量。

图2.6: 用于说明贝尔曼方程的矩阵向量形式的例子。

考虑在图\(2.6\)中展示的例子,贝尔曼方程的矩阵向量形式是:

\[\underbrace{\begin{bmatrix}v_\pi(s_1)\\v_\pi(s_2)\\v_\pi(s_3)\\v_\pi(s_4)\end{bmatrix}}_{v_\pi}=\underbrace{\begin{bmatrix}r_\pi(s_1)\\r_\pi(s_2)\\r_\pi(s_3)\\r_\pi(s_4)\end{bmatrix}}_{r_\pi}+\gamma\underbrace{\begin{bmatrix}p_\pi(s_1|s_1)&p_\pi(s_2|s_1)&p_\pi(s_3|s_1)&p_\pi(s_4|s_1)\\p_\pi(s_1|s_2)&p_\pi(s_2|s_2)&p_\pi(s_3|s_2)&p_\pi(s_4|s_2)\\p_\pi(s_1|s_3)&p_\pi(s_2|s_3)&p_\pi(s_3|s_3)&p_\pi(s_4|s_3)\\p_\pi(s_1|s_4)&p_\pi(s_2|s_4)&p_\pi(s_3|s_4)&p_\pi(s_4|s_4)\end{bmatrix}}_{P_\pi}\underbrace{\begin{bmatrix}v_\pi(s_1)\\v_\pi(s_2)\\v_\pi(s_3)\\v_\pi(s_4)\end{bmatrix}}_{v_\pi}.\]

将具体值代入上述公式可得:

\[\begin{bmatrix}v_\pi(s_1)\\v_\pi(s_2)\\v_\pi(s_3)\\v_\pi(s_4)\end{bmatrix}=\begin{bmatrix}0.5(0)+0.5(-1)\\1\\1\\1\end{bmatrix}+\gamma\begin{bmatrix}0&0.5&0.5&0\\0&0&0&1\\0&0&0&1\\0&0&0&1\end{bmatrix}\begin{bmatrix}v_\pi(s_1)\\v_\pi(s_2)\\v_\pi(s_3)\\v_\pi(s_4)\end{bmatrix}.\]

可以看出矩阵\(P_\pi\)满足\(P_\pi \mathbf{1}=\mathbf{1}\)


评论