一只鸭子
我们将从一个更简单的问题开始,逐步解决这个问题。让我们考虑一下岩石网格上的一只鸭子。在每一步中,鸭子都会随机移动到附近的一块石头上。我们可以使用马尔可夫链每种状态都是不同的岩石,有向边缘标有转移概率。下面是马尔可夫链的样子图:
如果我们以与上述相同的方式对状态进行编号,则该马尔可夫链的转移矩阵为:
\[
P=\开始{bmatrix}
0&\tfrac12&0&\ttrac12&0&0&0&0\\
\tfrac13&0&\tfrac13&0&\tfrac13&0&0&0\\
0&\tfrac12&0&0&\ttrac12&0&0&0\\
\tfrac13&0&0&0&\tfrac13&0&\tfrac13&0&0\\
0&\tfrac14&0&\ttrac14&0&\tfrace14&0\\
0&0&\tfrac13&0&\t frac13&0&0&\tfrac13\\
0&0&0&\trac12&0&0&0&\trac12&0\\
0&0&0&0&\tfrac13&0&\ttrac13&0-\tfrac13\\
0&0&0&0&0&\tfrac12&0&\tfrac12-0\\
\结束{bmatrix}
\]解释这个矩阵的方法是$P_{ij}$是我们从$i$转换到$j$的概率。这解释了为什么行的总和为1(矩阵为右旋橡胶). 我们可以使用矩阵乘法巧妙地将这个事实表示为:$P\mathbf{1}=\mathbf{0}$,其中$\mathbf1}$和$\mat血红蛋白{1}$分别是全零和全一的列向量。数学上,我们可以通过矩阵乘法通过这个马尔可夫链传播概率分布。例如,如果我们在各州有一些初始分布$\mathbf{a}$
\[
\mathbf{a}^\mathsf{T}=\begin{bmatrix}\tfrac12&\tfrac12-0&0&0&0&0&0&0\end{bmatricx}
\]也就是说,我们很可能处于状态1或状态2。然后在下一步中,概率分布将使用
\[
\mathbf{b}^\mathsf{T}=\mathbf}a}^\mathsf{T} P(P)=\begin{bmatrix}\tfrac16&\tfrac14&\tfrac16&\tfrace4&\tfraca16&0&0&0结束{bmatricx}
\]因此,在下一步中,我们可能处于状态1、2、3、4、5中,并具有上述相关概率。
区分是很重要的状态例如$\{1,2,\dots,9\}$来自状态分布,这是概率向量,例如上面使用的$\mathbf{a}$和$\mathbf{b}$。如果跨州分布退化的,即完全集中在一个特定的状态$s$上,然后我将使用以下符号表示状态上的相应分布:
\[
\左(\mathbf{e} _秒\右)i=\begin{cases}1&\text{if}i=s\0&\text}otheric}\end{cases{
\]例如,$\mathbf{e} _2^\mathsf{T}=\begin{bmatrix}0&1&0&0&0-0&0\end{bmatricx}$。
停止时间
我们对预期感兴趣击球时间,这是从某个初始状态$s$到某个目标状态$t\in\mathcal{t}$的平均步骤数。为了保持这种通用性,我假设可以有多个目标状态,由集合$\mathcal{T}$表示。让我们定义$\mathbf{q} _秒$是从状态$s$到终端集$\mathcal{T}$中任何状态的预期命中时间。结果是$\mathbf{q}$满足递归关系:
\[
\马特布夫{q} _秒=\开始{cases}
0&\text{if}s\in\mathcal{T}\\
1+\sum_{i}P_{si}\mathbf{q} _ i&\text{否则}
\结束{cases}
\]第一种情况很清楚:如果我们从终端集合开始,那么我们已经到达了,所以命中时间为零。如果我们在终端集之外,那么预期的命中时间将是$1$加上下一个过渡后我们最终到达的位置的命中时间的加权总和。上面的递归本质上是贝尔曼方程从动态规划.
定义向量$\mathbf{t} _ i=\begin{cases}0&\text{if}i\in\mathcal{T}\\1&\text}otherwise}\end{cases{$。
我们可以用简明的向量形式将上述方程改写为:
\[
\mathbf{q}=\textrm{diag}(\tathbf{t})\left(\tatbf{1}+P\tathbf{q}\right)
\]利用$\textrm{diag}(\mathbf{t})\mathbf{1}=\mathbf-{t}$这一事实,我们可以进一步简化并获得:
\[
\左(I-\textrm{diag}(\mathbf{t})P\right)\mathbf{q}=\mathbf1}
\]对于一只鸭子的情况,如果我们将终端集设置为$\mathcal{T}=\{5\}$,那么我们将上面的$\mathbf{T}=\begin{bmatrix}1&1&0&1&1\end{bmatricx}^\mathsf{T}$替换为:
\[
\开始{bmatrix}
1&-\tfrac12&0&-\ttrac12&0&0&0&0\\
-\tfrac13&1&-\tfrac13&0&-\ttrac13&0&0&0\\
0&-\tfrac12&1&0&0-\tfrac12&0&0\\
-\tfrac13&0&0&1&-\tfrac13&0&-\tfrac13&0&0\\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0&0&-\tfrac13&0&--\tfrac13&1&0&0-\tfrac3\\
0&0&0&-\tfrac12&0&0&1&-\ttrac12&0\\
0&0&0&0&-\tfrac13&0&-\frac13&1&-\trac13\\
0&0&0&0&0&-\tfrac12&0&-\tfrac12&1\\
\结束{bmatrix}
\开始{bmatrix}\mathbf{q} _1个\vphantom{\tfrac12}\\mathbf{q} _2\vphantom{\tfrac12}\\mathbf{q} _3个\vphantom{\tfrac12}\\
\马特布夫{q} _4个\vphantom{\tfrac12}\\mathbf{q} _5个\vphantom{\tfrac12}\\mathbf{q} _6个\虚拟主机\\
\马特布夫{q} _7个\vphantom{\tfrac12}\\mathbf{q} 8个\vphantom{\tfrac12}\\mathbf{q} _9个\vphantom{\tfrac12}\end{bmatrix}
=\开始{bmatrix}
1\vphantom{\tfrac12}\\1\vphantom{\tfrac12}\\1\vphantom{\tfraca12}\\2\vphantiom{\tflac12}\\
0\vphantom{\tfrac12}\\1\vphantom{\tfraca12}\\1\vphantiom{\tfrac12}\\1
\结束{bmatrix}
\]反转此矩阵并求解$\mathbf{q}$,以下是数组形式的结果:
\[
\开始{array}{c|c|c}\hline
\马特布夫{q} _1个=6&\mathbf{q} _2=5&\mathbf{q} _3个=6线
\马特布夫{q} _4个=5&\mathbf{q} _5个=0&\mathbf{q} _6个=5线
\马特布夫{q} _7个=6&\mathbf{q} _8个=5&\mathbf{q} _9个=6线
\结束{数组}
\]因此,如果我们从节点1开始,平均需要6次移动才能到达节点5。显然,预期的命中时间应该是整数,因为它们表示无限多条可能路径上的平均路径长度。在这种情况下,它们只是整数。这里观察到的对称性也有意义,我们可以利用它将问题简化为只有3个状态的马尔可夫链,但我将把它留给读者练习!(我从一开始就没有这样做的原因是,我想简单地推广到多鸭子的情况,那里的对称性更复杂)。
我们从原点开始的变量如何,但我们想知道返回原点需要多少时间?在这种情况下,我们只需从第二步开始计算,然后在答案中加上1即可解释跳过的动作。如果我们从节点5开始,即我们的初始分布是$\mathbf{e} 5个^\mathsf{T}$,那么第二回合的分配是$\mathbf{e} _5个^\mathsf{T}P$,因此从5开始并返回到5的预期移动次数为:$\mathbf{e} _5个^\mathsf{T}P\mathbf{q}+1=6$。
两只鸭子
乍一看,两杯咖啡的版本可能比一杯咖啡的更具挑战性。正如我们将看到的那样,一旦我们正确看待问题,问题基本上是一样的。关键是想象一个马尔可夫链,其中状态不是${1,2,点,9}$,而是${(1,1),(1,2),点,(9,9)}$。换句话说,有81个状态,由所有可能的对$(s_1,s_2)$组成,其中$s_i\In\{1,2,\dots,9\}$是鸭子$i$的位置。
这种马尔可夫链的转移矩阵是什么?转移概率$(a_1,a_2)\到(b_1,b_2)$只是$P_{a_1、b_1}P_{a_2、b_2}$,即每只鸭子各自转移概率的乘积。这意味着如果我们先按照第一只鸭子来排列我们的州(字典序),则该增广马尔可夫链的转移矩阵为$P\otimesP$,其中$\otime$是克罗内克产品.
所以我们可以用非常相似的方式解决这个问题。这一次,我们的终端集由所有节点$(s_1,s_2)$组成,其中$s_1=s_2$。有9个这样的节点,我们可以通过计算$\mathbf{t}=\mathbf来形成关联的$\mathbf{t{${1}-\textrm{vec}(I)$,其中$\mathrm{vec{$是矢量化的通过枚举列获得的矩阵版本。例如:
\[
\mathrm{vec}\开始{bmatrix}一个_{11} &a{12}&a{13}\\
a{21}、a{22}和a{23}\\
a{31}、a{32}和a{33}
\结束{bmatrix}=
\开始{bmatrix}
a{11}\\a{21}\\a{31}\\ a{12}\\a{22}\\a{32}\\a_a{13}\\a_23}\\a_{33}\\end{bmatrix}
\]$\mathcal{q}$的新方程是$\bigl(I-\textrm{diag}(\mathbf{t})(P\otimes P)\bigr)\mathbf{q}=\mathbf{t}$,以及问题的解决方案,其中您从$(5,5)$开始,并想知道我们到达终点集(两只鸭子在同一块岩石上)所需的预期时间可以按照与单鸭子案例中相同的逻辑进行计算。即$\mathbf{电子}_{(5,5)}^\mathsf{T}(P\otimesP)\mathbf{q}+1$。
注意事项
虽然这似乎是一个简单的代数,但我忽略了一个主要问题:可逆性。当我们在单鸭子情况下求解$\mathbf{q}$的方程时,方程看起来像$A\mathbf{q}=\mathbf-{t}$,解是$\mathbf{q{=A^{-1}\mathbf1{t}$。但如果$A$不可逆呢?这对应于马尔可夫链未连接的情况。因此,如果你从一个岛出发,而终点站在另一个岛上,你永远不会到达那里;停止时间是无限的。这不会发生在一只鸭子身上,但它做发生在两只鸭子身上!这是因为每次鸭子移动到一块新石头上时,石头的奇数变为偶数,反之亦然。因此,如果一只鸭子从岩石1开始,另一只从岩石2开始,它们会从未满足。
从线性代数的观点来看,这仅仅意味着即使矩阵不可逆,如果我们将注意力限制在两个鸭子具有相同奇偶性的“岛”(即子空间)上,那么该岛的相关转移矩阵将是可逆的,一切都会好起来。从实际角度来看,上述方程仍然可以求解;我们只需要用伪逆,并忽略$\mathbf{q}$中两个组件具有不同奇偶校验的所有组件。稍后详细介绍…
计算
我使用以下Matlab代码计算结果:
%一只鸭子的转移矩阵P=[0 1/2 0 1/2 0 0 0 01/3 0 1/3 0 1/3 0 0 0 00 1/2 0 0 0 1/2 0 0 01/3 0 0 0 1/3 0 1/3 0 00 1/4 0 1/4 0 1/4 0 1/4 00 0 1/3 0 1/3 0 0 0 1/30 0 0 1/2 0 0 0 1/2 00 0 0 0 1/3 0 1/3 0 1/30 0 0 0 0 1/2 0 1/2 0 ];T=克朗(P,P);%转移矩阵t=1-vec(眼睛(9));%终端状态%起始分配s=克朗([0 0 0 0 1 0 0 0],[0 0.0 0 1 0.0 0])';%将停止时间计算为有理数stop_time=s'*T*((眼睛(81)-诊断(T)*T)\T)+1大鼠(停止时间)
由此产生的预期停止时间为$\frac{363}{74}$,或大约4.905$步。我们还可以通过模拟找到近似答案。以下是通过模拟一百万次试验得到的结果:
概率的交错下降是一种真实的效果;这不是近似误差的结果!
许多鸭子
如果我们有$n$鸭子,我们显然可以推广上面使用的方法。这一次,转换矩阵将是$\下大括号{P\otimes\cdots\otimesP}_{n\text{times}}$。这里的问题是,我们的转换矩阵将非常大:精确地说,$9^n乘以9^n$。减少州数的一种方法是回到平等的概念。我们的转换矩阵之所以大是因为它描述了全部的所有可能的鸭子配置之间的转换。因为我们知道所有鸭子都从同一个节点开始,并且奇偶校验将被保留,所以我们只需要担心所有鸭子具有相同奇偶校验的状态子集。也就是说,将有$5^n$奇数状态和$4^n$偶数状态。所以我们可以把自己限制在一个较小的$(5^n+4^n)\次(5^n+4 ^n)$转换矩阵。这仍然很大,但这是一个改进。我们还将利用转移矩阵是稀疏的这一事实,这将有助于计算。
完成所有这些工作后,我们得到了以下结果(最多6只鸭子):
这些值如下:
鸭子的数量 |
预计rendez-vous时间 |
2 |
4.9054 |
三 |
18.4360 |
4 |
66.7420 |
5 |
237.3955 |
6 |
825.3364 |
很明显,预期的渲染时间呈指数级增长,但我还没有找到一种实用的方法来近似或限制它。不幸的是,很难将我的方法扩展到$n=6$ducks以外。为了让您了解规模,我们简单的转换矩阵应该有$9^6=531441$行和列。经过我们的缩减程序,我们降到了5^6+4^6=19721$。转换矩阵是稀疏的(大约98.5%的条目是零),但仍有大约600万个非零条目,这使得计算$\mathbf{q}$成为一个挑战。
如果我们利用对称性,就可能进一步减少。假设我们有两只鸭子。如果我们不做任何削减,则有9^2=81$个州。如果我们使用偶数/奇数奇偶校验进行缩减,则会降至$5^2+4^2=41$。
- 从停止时间的角度来看,唯一重要的是每块石头上有多少只鸭子;哪只鸭子在哪块石头上并不重要。这立即使我们可以将$5^n+4^n$减少到${n+4\choose4}+{n+3\choose 3}$,这是一个显著的改进。在两个月的情况下,这使我们达到25美元。
- 更深层的对称性也会出现。例如,通过旋转对称性,1和3上的一对鸭子相当于7和9上的一双鸭子。在两周的情况下,这将我们带到$8$的州。计算和记账这些状态可能需要一些群论…
最终,这些减少将产生显著效果,将缩放比例从指数减少到多项式。我没有实施任何额外的削减,因为在这一点上(最高$n=6$),指数趋势是明确的。我不认为进一步扩大这一趋势会特别有启发性。