线性代数二三事

第3章:线性变换之间的转化

3.4 线性递归系统

第3章 线性变换之间的转化

在自然界中有非常多的随时间而变化的变量.例如某物种种群数量随时间而变化; 矿石放射性元素含量随时间而衰减等. 我们可以尝试用线性变换的知识去理解这些问题: 将所要研究的变量当做一个向量v0\vec v_0, 然后通过已知条件求出一个变换矩阵AA. 这样一来v1=Av0\vec v_1 = A \vec v_0就可以表示为该变量经过时间等因素的影响在下一时间节点的性质. 我们便可以利用该模型来预测其未来的变化趋势. 我们一起来看一个例子:

例题 3.7

假设存在某鸟类种群,在该鸟类种群中我们将其分为幼年鸟和成年鸟两种. 经过一段时间的调查我们得出以下关系:

① 每一年新孵化的幼年鸟的数量是前一年存活下来的成年鸟的数量的两倍;

② 每一年中约有12\displaystyle{\frac{1}{2}}的成年鸟能够存活下来;

③ 每一年中约有14\displaystyle{\frac{1}{4}}的幼年鸟能够存活下来并且成长为成年鸟.

现在经调查得知该种群有100只成年鸟和40只幼年鸟,那么试问在许多年后该鸟类种群数目会发生何等变化?

解答 3.7

我们可以设幼年鸟在第kk年的数量为jkj_k, 设成年鸟在第kk年的数量为aka_k, 那么我们可以根据上述关系,得到:

{ak+1=12ak+14jkjk+1=2ak.\begin{cases} a_{k+1} = \displaystyle{\frac{1}{2}}a_k + \displaystyle{\frac{1}{4}}j_k \\ \\ j_{k+1} = 2a_{k} \end{cases}.

此时我们设vk=(akjk)\vec v_k = \begin{pmatrix} a_k \\ j_k \end{pmatrix}, 设 A=(121420)A = \begin{pmatrix} \frac{1}{2} & \frac{1}{4} \\ 2 & 0 \end{pmatrix}, 那么根据题设关系,我们就有

vk+1=Avk.\vec v_{k+1} = A \vec v_k.

因此,结合初始条件v0=(10040)\vec v_0 = \begin{pmatrix} 100 \\ 40 \end{pmatrix}, 我们还可以得到

vk=(121420)k(10040).\vec v_k = \begin{pmatrix} \frac{1}{2} & \frac{1}{4} \\ 2 & 0 \end{pmatrix}^k \begin{pmatrix} 100 \\ 40 \end{pmatrix}.

接下来,我们便一起研究一下矩阵AA. 其中经过计算我们得出AA的特征多项式为

CA(x)=(x1)(x+12),C_A(x) = (x-1)\left(x+ \frac{1}{2}\right),

因此AA有两个不同的特征值λ1=1,λ2=12\lambda_1 = 1, \lambda_2 = -\frac{1}{2}.那么根据定理3.7可知, AA可对角化.且我们可以计算出λ1=1\lambda_1 = 1对应的特征向量u1=(12)\vec u_1 = \begin{pmatrix} 1 \\ 2 \end{pmatrix}; λ2=12\lambda_2 = -\frac{1}{2}对应的特征向量u2=(14)\vec u_2 = \begin{pmatrix} -1 \\ 4 \end{pmatrix}.

也就是说,存在可逆矩阵P=(1124)\mathcal{P} = \begin{pmatrix} 1 & -1 \\ 2 & 4 \end{pmatrix}与对角矩阵D=(10012)\mathcal{D} = \begin{pmatrix} 1 & 0 \\ 0 & -\frac{1}{2} \end{pmatrix}, 使得 A=PDP1A = \mathcal{P} \mathcal{D} \mathcal{P}^{-1}, 即

Ak=PDkP1=(1124)(1k00(12)k)(23161323)=16(4+2(12)k1(12)k88(12)k2+4(12)k).\begin{aligned} A^k = \mathcal{P} \mathcal{D}^k \mathcal{P}^{-1} &= \begin{pmatrix} 1 & -1 \\ 2 & 4 \end{pmatrix} \begin{pmatrix} 1^k & 0 \\ 0 & (\frac{1}{2})^k \end{pmatrix} \begin{pmatrix} \frac{2}{3} & \frac{1}{6} \\ -\frac{1}{3} & \frac{2}{3} \end{pmatrix} \\ & \\ & = \frac{1}{6} \begin{pmatrix} 4 + 2(-\frac{1}{2})^k & 1 - (-\frac{1}{2})^k \\ & \\ 8 - 8(-\frac{1}{2})^k & 2 + 4(-\frac{1}{2})^k \end{pmatrix}. \end{aligned}

vk=(akjk)=Akv0=(4+2(12)k1(12)k88(12)k2+4(12)k)(10040)=16(440+160(12)k880640(12)k).\begin{aligned} \vec v_k = \begin{pmatrix} a_k \\ j_k \end{pmatrix} = A^k \vec v_0 &= \begin{pmatrix} 4 + 2(-\frac{1}{2})^k & 1 - (-\frac{1}{2})^k \\ & \\ 8 - 8(-\frac{1}{2})^k & 2 + 4(-\frac{1}{2})^k \end{pmatrix} \begin{pmatrix} 100 \\ \\40 \end{pmatrix} \\ & \\ & = \frac{1}{6} \begin{pmatrix} 440 + 160(-\frac{1}{2})^k \\ \\ 880 - 640(-\frac{1}{2})^k \end{pmatrix}. \end{aligned}

所以我们得到

ak=2203+803(12)kjk=44033203(12)k.a_k = \frac{220}{3} + \frac{80}{3} \left(-\frac{1}{2}\right)^k \hspace{0.5cm} j_k = \frac{440}{3} - \frac{320}{3} \left(-\frac{1}{2}\right)^k.

由此可知, 当kk很大时, (12)k0\displaystyle{\left(-\frac{1}{2}\right)^k} \rightarrow 0, 因此在很多年之后,种群的数量会趋于稳定, 即

{ak2203jk4403.\begin{cases} a_k \approx \frac{220}{3} \\ \\ j_k \approx \frac{440}{3} \end{cases}.

由上面的例子, 我们引出一条概念:

定义 3.6

n×nn \times n矩阵AA中,如果存在满足一定条件的向量v0,v1,\vec v_0,\vec v_1,\cdots和非负整数kk, 使得

vk+1=Avk,\vec v_{k+1} = A \vec v_k,

我们便称该系统为一个线性递归系统 (Linear Dynamical System).

我们设在线性递归系统vk+1=Avk\vec v_{k+1} = A \vec v_k中,矩阵AA可对角化,设AA的特征值为λ1,λ2,,λn\lambda_1, \lambda_2, \cdots, \lambda_n (dim(A)=n\dim(A) = n); 与之对应的特征向量为u1,u2,,un\vec u_1, \vec u_2, \cdots, \vec u_n.设矩阵P=(u1u2un)\mathcal{P} = \begin{pmatrix} \vec u_1 & \vec u_2 & \cdots & \vec u_n \end{pmatrix}, D=diag(λ1,λ2,,λn)\mathcal{D} = \diag(\lambda_1, \lambda_2, \cdots, \lambda_n), 那么

Akv0=(PDkP1)v0=PDk(P1v0).A^k \vec v_0 = (\mathcal{P} \mathcal{D}^k \mathcal{P}^{-1})\vec v_0 = \mathcal{P} \mathcal{D}^k (\mathcal{P}^{-1}\vec v_0).

我们令b=P1v0=(b1b2bn)\vec b = \mathcal{P}^{-1}\vec v_0 = \begin{pmatrix} b_1 & b_2 &\cdots & b_n \end{pmatrix}^\top, 那么

vk=PDk(P1v0)=(u1u2un)diag(λ1k,λ2k,,λnk)(b1b2bn)=(u1u2un)(b1λ1kb2λ2kbnλnk).\begin{aligned} \vec v_k &= \mathcal{P} \mathcal{D}^k (\mathcal{P}^{-1}\vec v_0) \\ &= \begin{pmatrix} \vec u_1 & \vec u_2 & \cdots & \vec u_n \end{pmatrix} \diag(\lambda_1^k, \lambda_2^k, \cdots, \lambda_n^k) \begin{pmatrix} b_1 & b_2 & \cdots & b_n \end{pmatrix}^\top \\ & = \begin{pmatrix} \vec u_1 & \vec u_2 & \cdots & \vec u_n \end{pmatrix} \begin{pmatrix} b_1 \lambda_1^k & b_2 \lambda_2^k & \cdots & b_n \lambda_n^k \end{pmatrix}^\top. \end{aligned}

因此,我们也得出了一个公式:

vk=b1λ1ku1+b2λ2ku2++bnλnkun.\vec v_k = b_1 \lambda_1^k \vec u_1 + b_2 \lambda_2^k \vec u_2 + \cdots + b_n \lambda_n^k \vec u_n.

定理 3.10

在线性递归系统vk+1=Avk(k>0)\vec v_{k+1} = A \vec v_k \hspace{0.2cm} (k > 0)中, 假设v0,A\vec v_0, A均给定, 且AA可对角化.设λ1,λ2,,λn\lambda_1, \lambda_2, \cdots, \lambda_nAA的特征值; u1,u2,,un\vec u_1, \vec u_2, \cdots, \vec u_n为相对应的特征向量,令P=(u1u2un)\mathcal{P} = \begin{pmatrix} \vec u_1 & \vec u_2 & \cdots & \vec u_n \end{pmatrix}, 那么我们有

vk=b1λ1ku1+b2λ2ku2++bnλnkun\vec v_k = b_1 \lambda_1^k \vec u_1 + b_2 \lambda_2^k \vec u_2 + \cdots + b_n \lambda_n^k \vec u_n

其中

b=P1v0=(b1b2bn).\vec b = \mathcal{P}^{-1} \vec v_0 = \begin{pmatrix} b_1 & b_2 & \cdots & b_n \end{pmatrix}^\top.

在一些情况下,我们往往不必按照定理3-10所给出的公式进行求解:

定义 3.7

n×nn \times n矩阵AA中, 如果特征值λ\lambda的代数重数为11, 且λ\lambda的绝对值是所有特征值的绝对值中的最大值, 我们称λ\lambda为矩阵AA的主导特征值.

不失一般性地讲, 我们不妨设λ1\lambda_1AA的主导特征值, 那么我们便有

vk=λ1k[b1u1+b2(λ2λ1)ku2++bn(λnλ1)kun].\vec v_k = \lambda_1^k \left[ b_1 \vec u_1 + b_2\left( \frac{\lambda_2}{\lambda_1} \right)^k\vec u_2 + \cdots + b_n \left( \frac{\lambda_n}{\lambda_1} \right)^k \vec u_n \right].

因此当kk很大时,我们便会发现(λjλ1)k0(j>1)\displaystyle{\left( \frac{\lambda_j}{\lambda_1} \right)^k \rightarrow 0 \hspace{0.2cm} (j > 1)}, 所以决定vk\vec v_k的其实只与主导特征值有关,即 vkλ1kb1u1\vec v_k \approx \lambda_1^k b_1 \vec u_1.

例题 3.8

在某线性递归系统中, 给定x0=1,x1=1x_0 = 1, x_1 = -1, 且

xk+2=xk+1+2xk(k>0).x_{k+2} = -x_{k+1} + 2x_k \quad(k > 0).

据此求xkx_k的通项.

解答 3.8

我们由题意可设vk=(xkxk+1)\vec v_k = \begin{pmatrix} x_k \\ x_{k+1} \end{pmatrix}, 由vk+1=(xk+1xk+2)=(xk+12xkxk+1)=Avk\vec v_{k+1} = \begin{pmatrix} x_{k+1} \\ x_{k+2} \end{pmatrix} = \begin{pmatrix} x_{k+1} \\ 2x_k - x_{k+1} \end{pmatrix} = A \vec v_k可以求出其变换矩阵为

A=(0121).A = \begin{pmatrix} 0 & 1 \\ 2 & -1 \end{pmatrix}.

经计算,AA的特征值为λ1=2;λ2=1\lambda_1 = -2; \lambda_2 = 1, 其对应的特征向量为u1=(12);u2=(11)\vec u_1 = \begin{pmatrix} 1 \\ -2 \end{pmatrix}; \vec u_2 = \begin{pmatrix} 1 \\1 \end{pmatrix}, 则P=(1121),b=P1v0=(2313)\mathcal{P} = \begin{pmatrix} 1 & 1 \\ -2 & 1 \end{pmatrix}, \vec b = \mathcal{P}^{-1} \vec v_0 = \begin{pmatrix} \frac{2}{3} \\ \frac{1}{3} \end{pmatrix}, 由此可得

(xkxk+1)=b1λ1ku1+b2λ2ku2=(2)k(1323)+1k(11),\begin{pmatrix} x_{k} \\ x_{k+1}\end{pmatrix} = b_1 \lambda_1^k \vec u_1 + b_2 \lambda_2^k \vec u_2 = (-2)^k \begin{pmatrix} \frac{1}{3} \\ -\frac{2}{3} \end{pmatrix} + 1^k \begin{pmatrix} 1 \\1 \end{pmatrix},

xk=13[2(2)k+1].x_k = \frac{1}{3} \left[ 2(-2)^k + 1 \right].

形如vk+1=Avk\vec v_{k+1} = A \vec v_k的线性递归系统还有一种特殊情况:如果矩阵AvkA \vec v_k代表的是下一阶段(vk+1\vec v_{k+1})所发生的事件的概率,我们把这种结构也可以称作马尔可夫链 (Markov Chain).

定义 3.8

在一个变化的系统中,如果该系统下一时刻的变化仅取决于该系统当前的状态,而不取决于该系统之前的状态,我们就将该系统称作为一个马尔可夫链. 我们一般用{Xt:t=0,1,}\{ X_t : t=0,1,\cdots \}来表示一个马尔可夫链: 其中tt代表所处的单位时刻, XX为一个随机变量, 代表这个系统可能处于的状态.

在一个马尔可夫链中,我们可以假设这个系统存在nn种不同的状态. 在某时刻tt该系统处于状态Xt=jX_t=j. 那么在下一时刻t+1t+1该系统便可以处于nn种状态中的任意一种. 我们用pkjp_{kj}来表示系统在某时刻tt处于状态jj, 且在下一时刻t+1t+1处于状态kk的概率 (注意顺序!). 不难发现

p1j+p2j++pnj=1,pkj0.p_{1j} + p_{2j} + \cdots + p_{nj} = 1, p_{kj} \geq 0.

如果我们取遍j=1,2,,nj=1,2,\cdots,n, 便会得到一个n×nn \times n矩阵: 矩阵中的元素便是pkjp_{kj}. 所得到的n×nn \times n矩阵P=(pkj)P = (p_{kj})便被称作是过渡矩阵 (Transition Matrix).

根据定义,矩阵PP的第jj列即为(p1jp2jpnj)\begin{pmatrix} p_{1j} & p_{2j} & \cdots & p_{nj} \end{pmatrix}^\top, 且p1j+p2j++pnj=1p_{1j} + p_{2j} + \cdots + p_{nj} = 1. 由于pkjp_{kj}表示在当前状态为jj时,经过一次变化到状态kk的概率, 故PP也被称作随机矩阵 (Stochastic Matrix). 我们设si(m)s_i^{(m)}代表系统经过mm次变化之后最终处于状态ii的概率, 定义

sm=(s1(m)s2(m)sn(m)),(m=0,1,2)\vec s_m = \begin{pmatrix} s_1^{(m)} & s_2^{(m)} & \cdots & s_n^{(m)} \end{pmatrix}^\top,\quad (m = 0,1,2 \cdots )

状态向量 (State Vector), s0\vec s_0称作初始状态 (Initial State). 在一个马尔可夫链中, P,s0P, \vec s_0均为已知量.

定理 3.11

PP为一个有nn个状态的马尔可夫链的随机矩阵(过渡矩阵), 若sm\vec s_m代表该马尔可夫链在第mm阶段时的状态向量,则

sm+1=Psm=Pm+1s0.\vec s_{m+1} = P \vec s_m = P^{m+1} \vec s_0.

证明

读者不妨尝试自证.

例题 3.9

在一处草原中,某狼群会对R1,R2,R3R_1,R_2,R_3三个不同位置的羊群进行攻击,已知该狼群的攻击有以下规律:

① 若该狼群在某一天攻击了一处羊群,那么下一天该狼群仍攻击该羊群的概率和不攻击该羊群的概率相等;

② 若该狼群在某一天攻击了R1R_1处的羊群,那么下一天该狼群不会攻击R2R_2处的羊群;

③ 若该狼群在某一天攻击了R2R_2R3R_3位置的羊群, 那么在“不攻击原羊群”的情况下, 下一天攻击另外两个位置羊群的概率相等.

现在已知该狼群在周一攻击了R1R_1处的羊群,那么在周四该狼群仍攻击R1R_1处的羊群的概率是多少?

解答 3.9

根据题意,我们可以得出以下的关系表(该表格即为过渡矩阵):

R1R_1R2R_2R3R_3
R1R_10.50.250.25
R2R_200.50.25
R3R_30.50.250.5

P=(0.50.250.2500.50.250.50.250.5)P = \begin{pmatrix} 0.5 & 0.25 & 0.25 \\ 0 & 0.5 & 0.25 \\ 0.5 & 0.25 & 0.5 \\ \end{pmatrix}

我们根据第一条规律便可以得知,p11=p22=p33=0.5p_{11} = p_{22} = p_{33} = 0.5. PP的第一列表示当前状态为R1R_1时,下一状态的概率,因此由第二条规律可知p21=0p_{21} = 0, 再由其列中元素之和为11可知p31=0.5p_{31} = 0.5. 随后再利用规律3,便可以求出PP中的全部元素.我们设周一时对应的状态为s0\vec s_0, 根据定义, s0=(100)\vec s_0 = \begin{pmatrix} 1 & 0 & 0 \end{pmatrix}^\top, 那么我们就可以知道s3\vec s_3即可表示周四时的状态向量.我们有

s3=P3(s0)=(0.50.250.2500.50.250.50.250.5)3(100)=(11326321532.)\vec s_3 = P^3 (\vec s_0) = \begin{pmatrix} 0.5 & 0.25 & 0.25 \\ 0 & 0.5 & 0.25 \\ 0.5 & 0.25 & 0.5 \\ \end{pmatrix}^3 \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} \frac{11}{32} \\ \frac{6}{32} \\ \frac{15}{32}. \end{pmatrix}

由此得知在周四该狼群仍然攻击R1R_1处的羊群的概率为1132\displaystyle{\frac{11}{32}}.

在本章的第一个例题中, 我们发现当经过很长一段时间之后, 鸟类种群中成年鸟和幼年鸟的数目趋于稳定. 对于一些马尔可夫链而言, 我们也存在一个使得状态向量s\vec s收敛于某一位置的向量x\vec x.此时马尔可夫链趋于稳定,我们有

x=Px.\vec x = P \vec x.

我们称满足条件的x\vec x稳定态向量 (Steady-State Vector). 那么什么样的马尔可夫链满足这样的收敛性质呢?

定理 3.12

PP为一个有nn个状态的马尔可夫链的随机矩阵(过渡矩阵), 且假设存在正整数mm, 使得PmP^m中的所有元素均严格大于零 (我们也称PP为正则矩阵). 则存在唯一的向量s\vec s, 使得

s=Ps.\vec s = P\vec s.

其中, s=(s1s2sn)\vec s = \begin{pmatrix} s_1 & s_2 & \cdots & s_n \end{pmatrix}^\top满足i=1nsi=1,si>0\sum_{i=1}^n s_i = 1, s_i >0. 同时由任意状态向量构成的数列x0,x1,x2,\vec x_0 , \vec x_1, \vec x_2 , \cdots收敛于s\vec s.

该定理的证明已远远超纲. 感兴趣的读者不妨自行阅读相关材料.

{3.4 练习}

1. 在线性递归系统vk+1=Avk\vec v_{k+1} = A \vec v_k中,我们给出

A1=(120013)A2=(320043)A3=(112121)A_1 = \begin{pmatrix} \frac{1}{2} & 0 \\ 0 & \frac{1}{3 } \end{pmatrix} \hspace{0.5cm} A_2 = \begin{pmatrix} \frac{3}{2} & 0 \\ 0 & \frac{4}{3} \end{pmatrix} \hspace{0.5cm} A_3 = \begin{pmatrix} 1 & -\frac{1}{2} \\ -\frac{1}{2} & 1 \end{pmatrix}

如果我们将v0,v1,v2,\vec v_0, \vec v_1, \vec v_2, \cdots看作数列,依次标在坐标系中,用箭头来表示其变化趋势.那么下面的三个选项中哪一幅图可以准确地对应上面的矩阵? 对这部分知识感兴趣的读者欢迎阅读第六章第44节!

2. 甲要爬一段有kk级台阶的楼梯,已知甲每一步可以爬一级或两级台阶,要求最后甲可以刚好达到最顶端.记sks_k为甲刚好爬上台阶所用的不同种类数,当k=1k=1时,我们有s1=1s_1 = 1,k=2k=2时有s2=2s_2 = 2.据此求出sks_k的通项公式.(HINT : 我们有sk+2=sk+1+sks_{k+2} = s_{k+1} + s_k, 据此建立线性递归模型进行求解.)

3. 假设有足够多的红色,蓝色,白色木板,将这些木板从下往上堆成一叠.设xkx_k表示当木板为kk个时,所有的使白色木板彼此不相邻的堆叠方式.据此求出xkx_k的通项公式.(HINT : 我们有xk+2=2xk+1+2xkx_{k+2} = 2x_{k+1} + 2x_k, 据此建立线性递归模型进行求解.并且可以参考第二题!)

4. 在一个核反应堆中含有α\alpha粒子和β\beta粒子.每经过一秒就会有一个α\alpha粒子分解为三个β\beta粒子;同时也会有一个β\beta粒子分解为一个α\alpha粒子和两个β\beta粒子.在某一时刻该封闭系统内有一个α\alpha粒子,那么在经过t=20t=20秒之后该系统里面有多少个α\alpha粒子和β\beta粒子?

5. 在某机器学习模型中,我们给出如下图(见下页)所示的网格迷宫.某AIAI需要从一个位置出发,然后通过图中标出的路径进行节点之间的移动从而到达下一相邻位置.已知AIAI在每一处特定节点位置时所选择的路径概率相等.

假设在某一时刻AIAI位于节点11, 据此求出经过三次移动之后,该AIAI又回到节点11处的概率;

假设在某一时刻AIAI位于节点22,那么在经过次数足够多的移动之后该AIAI最有可能处于哪一处节点?

6.0<p<1;0<q<10<p<1; 0<q<1及随机矩阵P=(1pqp1q)P = \begin{pmatrix} 1-p & q \\ p & 1-q \end{pmatrix}.

证明 : 1p+q(qp)\displaystyle{\frac{1}{p+q} \begin{pmatrix} q \\ p \end{pmatrix}}PP的稳定态向量;

证明: PmP^m收敛于 1p+q(qqpp)\displaystyle{\frac{1}{p+q} \begin{pmatrix} q & q \\ p & p \end{pmatrix}}.

<i>HINT: 先尝试用数学归纳法证明$P^m = \displaystyle{\frac{1}{p+q} \begin{pmatrix} q & q \\ p & p \end{pmatrix} + \frac{(1-p-q)^m}{p+q} \begin{pmatrix}p & -q \\ -p & q \end{pmatrix}}$</i>