一个苹果位于五边形顶点处,一个蠕虫位于相距两个顶点C处。每天,蠕虫以相等的概率爬行到两个相邻顶点之一。因此,一天后,蠕虫位于顶点B或D处,每个顶点的概率为1/2。两天后,该蠕虫可能会再次回到C位置,因为它没有存储以前的位置。当到达顶点A时,它停止进餐。
(a)直到晚餐的天数是多少?
(b)令p为天数等于或大于的概率。马尔可夫不等式对什么看法?
对于(a),令为随机变量,由直到晚餐的天数定义。因此
一般分布是什么?
对于(b),如果我们知道(a),则我们知道
一个苹果位于五边形顶点处,一个蠕虫位于相距两个顶点C处。每天,蠕虫以相等的概率爬行到两个相邻顶点之一。因此,一天后,蠕虫位于顶点B或D处,每个顶点的概率为1/2。两天后,该蠕虫可能会再次回到C位置,因为它没有存储以前的位置。当到达顶点A时,它停止进餐。
(a)直到晚餐的天数是多少?
(b)令p为天数等于或大于的概率。马尔可夫不等式对什么看法?
对于(a),令为随机变量,由直到晚餐的天数定义。因此
一般分布是什么?
对于(b),如果我们知道(a),则我们知道
Answers:
在Glen_b的出色回答中,他表明您可以使用简单的线性方程组来分析计算期望值。按照这种分析方法,您可以确定到苹果的预期移动次数为6。Whuber的另一个极好的答案显示了如何在任意给定数量的移动之后得出过程的概率质量函数,并且该方法还可以用于获得期望值的解析解。如果您想对这个问题有进一步的了解,您应该阅读一些关于圆形随机游走的论文(例如,参见Stephens 1963)
为了给出问题的另一种观点,我将向您展示如何使用蛮力方法(仅使用统计计算计算出马尔可夫链)就可以得到相同的结果。该方法在许多方面都不如分析检查,但它的优点是,您无需任何主要的数学知识即可处理问题。
蛮力计算方法:以顺序取状态,您的马尔可夫链根据以下转移矩阵转移:
第一状态是蠕虫在苹果处的吸收状态令为蠕虫从状态到达苹果之前的移动次数。那么,对于所有中的蠕虫,蠕虫在此移动次数后位于苹果的概率为,因此从此状态到达苹果的预期移动次数为:
对于大的,总和中的项呈指数下降,因此我们可以通过在有限数量的项上截断总和来将期望值计算为任何所需的准确性。(术语的指数衰减确保了我们可以将删除的术语的大小限制为低于所需的水平。)实际上,很容易采用大量的术语,直到其余术语的大小非常小。
在R中进行编程:您可以R
使用以下代码将此作为函数进行编程。对该代码进行矢量化处理,以针对有限的移动序列生成转换矩阵的幂的数组。我们还生成了未达到苹果的概率图,表明该指数呈指数下降。
#Create function to give n-step transition matrix for n = 1,...,N
#N is the last value of n
PROB <- function(N) { P <- matrix(c(1, 0, 0, 0, 0,
1/2, 0, 1/2, 0, 0,
0, 1/2, 0, 1/2, 0,
0, 0, 1/2, 0, 1/2,
1/2, 0, 0, 1/2, 0),
nrow = 5, ncol = 5,
byrow = TRUE);
PPP <- array(0, dim = c(5,5,N));
PPP[,,1] <- P;
for (n in 2:N) { PPP[,,n] <- PPP[,,n-1] %*% P; }
PPP }
#Calculate probabilities of reaching apple for n = 1,...,100
N <- 100;
DF <- data.frame(Probability = PROB(N)[3,1,], Moves = 1:N);
#Plot probability of not having reached apple
library(ggplot2);
FIGURE <- ggplot(DF, aes(x = Moves, y = 1-Probability)) +
geom_point() +
scale_y_log10(breaks = scales::trans_breaks("log10", function(x) 10^x),
labels = scales::trans_format("log10",
scales::math_format(10^.x))) +
ggtitle('Probability that worm has not reached apple') +
xlab('Number of Moves') + ylab('Probability');
FIGURE;
#Calculate expected number of moves to get to apple
#Calculation truncates the infinite sum at N = 100
#We add one to represent the term for n = 0
EXP <- 1 + sum(1-DF$Probability);
EXP;
[1] 6
从此计算中可以看出,到达苹果的预期移动次数为6。使用上面的马尔可夫链向量化代码,此计算非常快速。
只想说明一种简单的方法来查看(a)部分,而无需遍历所有的马尔可夫链例程。有两类状态需要担心:相距一步和相距两步(在达到A之前,C和D在预期步长方面相同,而B和E相同)。令“ ”代表从顶点采取的步数,依此类推。
类似地,为的期望写一个方程。
替换第二到第一个(也是为了方便写为),你会得到一个解决方案在几行。
此马尔可夫链具有三种状态,通过蜗杆是否是区分或从空间远 设是随机变量得到蠕虫会多少步采取到达从状态 它们的概率生成函数是对这些变量的概率进行编码的便捷代数方法。不必担心诸如收敛之类的分析问题:只需将它们视为由给出的符号中的形式幂级数
因为所以很简单 我们需要找到
从状态蜗杆具有等于机会移动回到状态的或达到。会计采取这一一步增加到一切权力,无异于在PGF乘以,给
同样地,从状态蜗杆具有停留在状态的平等的机会或达到状态从那里
的外观表明我们的工作将变得更容易通过将变量得到
代所述第一到所述第二和回顾给出
其独特的解决方案是
我着重强调了方程 以强调其基本的简单性以及与我们仅通过分析期望值所获得的方程的形式相似性实际上,对于找到这个数字所花费的相同工作量,我们得到了整个分布。
等效地,当逐项写出并且的幂匹配时,它断言对于
这是著名斐波那契数列的重现
(从索引)。解决方案匹配是此序列移动了两个位置(因为不存在或可能性,并且很容易检查)。
所以
进一步来说,
通过评估导数并替换可以容易地找到的期望值因为(逐项区分的幂)
它作为概率之和乘以的值恰好是的定义 使用取导数可得出期望的简单公式。
通过将扩展为部分分数,可以写成两个几何级数之和。这立即显示出概率将呈指数下降。它也产生尾部概率的封闭形式 使用它,我们可以快速计算小于
最后,这些公式涉及黄金比例 该数字是正五边形(单元边)的弦长,在五边形上的纯组合马尔可夫链(对欧几里得几何学一无所知)与正五边形中的正五边形几何之间产生惊人的联系。欧式飞机。