如果我没有正确理解,那么问题是要找到或更多磁头的第一次运行结束时的概率分布。n
编辑概率可以使用矩阵乘法准确而快速地确定,并且还可以将平均值计算为和方差为其中,但是分布本身可能没有简单的封闭形式。在一定数量的硬币翻转上方,该分布基本上是几何分布:将这种形式用于较大的有意义的。 σ 2 = 2 Ñ + 2(μ - ñ - 3 ) - μ 2 +5μμ= μ - +1吨μ−=2n+1−1σ2=2n+2(μ−n−3)−μ2+5μμ=μ−+1t
可以使用针对个状态的转换矩阵来模拟状态空间中概率分布的时间演变,其中连续掷硬币的次数。状态如下:n =k=n+2n=
- 状态,无头H0
- 状态,朝向,我1 ≤ 我≤ (ñ - 1 )Hii1≤i≤(n−1)
- 状态,或更多的头 ñHnn
- 状态,或多个头部,后跟一条尾巴 nH∗n
进入状态您将无法返回其他任何状态。H∗
进入状态的状态转移概率如下
- 状态:来自概率,,即包括自身但不包括状态1H0 Hii=0,…,n−1Hn12Hii=0,…,n−1Hn
- 状态:来自概率1Hi Hi−112Hi−1
- 状态:来自概率,即来自具有磁头的状态及其自身1Hn Hn−1,Hnn−112Hn−1,Hnn−1
- 状态:来自概率和来自概率1 (自身)1H∗ HnH*12HnH∗
因此,例如,对于,这给出了转移矩阵n=4
X=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪H0H1H2H3H4H∗H012120000H112012000H212001200H312000120H400001212H∗000001⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪
对于的情况,概率的初始向量为。通常,初始向量具有
p p = (1 ,0 ,0 ,0 ,0 ,0n=4pp我 = { 1 我= 0 0 我> 0p=(1,0,0,0,0,0)
pi={10i=0i>0
向量是任意给定时间在空间中的概率分布。所需的cdf是时间上的cdf ,并且是在时间至少看到硬币翻转的概率。它可以表示为,请注意,在连续硬币翻转的最后一次之后,我们到达状态 1个时间步。pt (X t + 1 p )k H ∗nt(Xt+1p)kH∗
所需的pmf时间可以写为。但是,从数值上讲,这涉及从大得多的数字()中非常小的数字,并限制了精度。因此,在计算中最好设置而不是1。然后将写入所得矩阵,则pmf为。这是在下面的简单R程序中实现的,该程序适用于任何, ≈ 1 X ķ ,ķ = 0 X ' X ' = X | X k ,k = 0(Xt+1p)k−(Xtp)k≈1Xk,k=0X′X′=X|Xk,k=0 Ñ ≥ 2(X′t+1p)kn≥2
n=4
k=n+2
X=matrix(c(rep(1,n),0,0, # first row
rep(c(1,rep(0,k)),n-2), # to half-way thru penultimate row
1,rep(0,k),1,1,rep(0,k-1),1,0), # replace 0 by 2 for cdf
byrow=T,nrow=k)/2
X
t=10000
pt=rep(0,t) # probability at time t
pv=c(1,rep(0,k-1)) # probability vector
for(i in 1:(t+1)) {
#pvk=pv[k]; # if calculating via cdf
pv = X %*% pv;
#pt[i-1]=pv[k]-pvk # if calculating via cdf
pt[i-1]=pv[k] # if calculating pmf
}
m=sum((1:t)*pt)
v=sum((1:t)^2*pt)-m^2
c(m, v)
par(mfrow=c(3,1))
plot(pt[1:100],type="l")
plot(pt[10:110],type="l")
plot(pt[1010:1110],type="l")
上面的图显示了0到100之间的pmf。下面的两个图显示了10到110之间以及1010到1110之间的pmf,这说明了自相似性以及事实,如@Glen_b所说,分布看起来像是稳定期后通过几何分布近似。
可以使用的特征向量分解来进一步研究此行为。这样做表明对于足够大的,,其中是方程。这种近似随着更好得到和是极好的的范围为约30至50,取决于的值,如示于下面的日志错误的曲线图,用于计算(彩虹的颜色,红色的左移吨p 吨+ 1 ≈ Ç (Ñ )p 吨 Ç (Ñ )2 Ñ + 1个 Ç Ñ(Ç - 1 )+ 1 = 0 ÑXtpt+1≈c(n)ptc(n)2n+1cn(c−1)+1=0nñ p 100 Ñ = 2 吨tnp100n=2)。(实际上由于数字原因,当较大时,对概率使用几何逼近实际上会更好。)t
我怀疑可能有一个封闭的表格可用于分布,因为我计算它们的均值和方差如下
n2345678910Mean715316312725551110232047Variance241447363392147206169625344010291204151296
(为了达到这个目的,我不得不增加时间范围上的数字,t=100000
但是程序仍然在不到大约10秒的时间内运行了所有。)方差较小。过去,我已经解决了一个更简单的三态转换系统,但是到目前为止,对于这个简单的解析解决方案我还是很走运。也许有一些我不了解的有用理论,例如与过渡矩阵有关的理论。n=2,…,10
编辑:许多错误的开始后,我想出了一个递归公式。令为在时间处在状态的概率。令为时间处状态,即最终状态的累积概率。NB ħ 我吨pi,tHit H ∗ tq∗,tH∗t
- 对于任何给定的,和是空间上的概率分布,并且在下面我直接使用它们的概率加1的事实。p 我,吨,tq * ,吨我pi,t,0≤i≤nq∗,ti
- 吨p∗,t形成时间的概率分布。后来,我利用这一事实得出均值和方差。t
在时间处处于第一状态的概率(即无正面)由从时间起可以返回到状态的转移概率给出(使用总概率定理)。
但是从状态到需要步,因此和
再次由总概率定理得出处于状态t p 0 ,t + 1t+1tH0Hn−1n−1pn−1,t+n−1=1
p0,t+1=12p0,t+12p1,t+…12pn−1,t=12∑i=0n−1pi,t=12(1−pn,t−q∗,t)
H0Hn−1n−1ppn−1,t+n−1=12n−1p0,tHnt+pn−1,t+n=12n(1−pn,t−q∗,t)
Hn在时间为
和使用以下事实,即,
因此,将更改,
p n ,t + 1t+1 q∗,t+1−pn,t+1=12pn,t+12pn−1,t=12pn,t+12n+1(1−pn,t−n−q∗,t−n)(†)
2 q ∗ ,t + 2 −q∗,t+1−q∗,t=12pn,t⟹pn,t=2q∗,t+1−2q∗,t2q∗,t+2−2q∗,t+1=q∗,t+1−q∗,t+12n+1(1−2q∗,t−n+1+q∗,t−n)
t→t+n2q∗,t+n+2−3q∗,t+n+1+q∗,t+n+12nq∗,t+1−12n+1q∗,t−12n+1=0
该递归公式检查出和。例如,对于,使用的该公式的绘图给出了机器订单的准确性。n=4n=6n=6t=1:994;v=2*q[t+8]-3*q[t+7]+q[t+6]+q[t+1]/2**6-q[t]/2**7-1/2**7
编辑我看不到从该重复关系中查找封闭表格的位置。但是,有可能获得均值的封闭形式。
从,并注意,
取从到和,并应用均值并注意是概率分布给出的
(†)p∗,t+1=12pn,t
pn,t+12n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,t+1=12pn,t+12n+1(1−pn,t−n−q∗,t−n)(†)=1−q∗,t
t=0∞E[X]=∑∞x=0(1−F(x))p∗,t2n+1∑t=0∞(2p∗,t+n+2−p∗,t+n+1)+2∑t=0∞p∗,t+12n+1(2(1−12n+1)−1)+22n+1=∑t=0∞(1−q∗,t)=μ=μ
这是达到状态的平均值;头脑风暴结束的平均值比这个少一。
H∗
编辑使用公式的类似方法从这个问题得出方差。
E[X2]=∑∞x=0(2x+1)(1−F(x))
∑t=0∞(2t+1)(2n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,t+1)2∑t=0∞t(2n+1(2p∗,t+n+2−p∗,t+n+1)+2p∗,t+1)+μ2n+2(2(μ−(n+2)+12n+1)−(μ−(n+1)))+4(μ−1)+μ2n+2(2(μ−(n+2))−(μ−(n+1)))+5μ2n+2(μ−n−3)+5μ2n+2(μ−n−3)−μ2+5μ=∑t=0∞(2t+1)(1−q∗,t)=σ2+μ2=σ2+μ2=σ2+μ2=σ2+μ2=σ2
均值和方差可以通过编程轻松生成。例如从上表中检查均值和方差
n=2:10
m=c(0,2**(n+1))
v=2**(n+2)*(m[n]-n-3) + 5*m[n] - m[n]^2
最后,我不确定当您写信时想要什么
当一条尾巴击中并破坏了头的条纹时,计数将从下一次翻转开始。
如果你的意思是对的概率分布下一处的第一次运行时以上的头端,然后将关键点被包含在这个由@Glen_b评论,这就是过程又重新开始一个尾后(比照最初的问题是您可以立即获得或更多的头)。nn
这意味着,例如,第一个事件的平均时间为,但事件之间的平均时间始终为(方差相同)。也可以使用转移矩阵调查系统“稳定下来”后处于状态的长期可能性。要获得适当的转换矩阵,请设置和以便系统立即从状态返回状态。然后,该新矩阵的按比例缩放的第一特征向量给出了平稳概率。在这些固定概率为μ−1μ+1Xk,k,=0X1,k=1H0H∗n=4
H∗=1
H0H1H2H3H4H∗probability0.484848480.242424240.121212120.060606060.060606060.03030303
状态之间的预期时间由概率的倒数给出。因此,预期的两次访问之间的时间。
H∗=1/0.03030303=33=μ+1
附录:Python程序,用于生成n
=连续N
抛掷次数的精确概率。
import itertools, pylab
def countinlist(n, N):
count = [0] * N
sub = 'h'*n+'t'
for string in itertools.imap(''.join, itertools.product('ht', repeat=N+1)):
f = string.find(sub)
if (f>=0):
f = f + n -1 # don't count t, and index in count from zero
count[f] = count[f] +1
# uncomment the following line to print all matches
# print "found at", f+1, "in", string
return count, 1/float((2**(N+1)))
n = 4
N = 24
counts, probperevent = countinlist(n,N)
probs = [count*probperevent for count in counts]
for i in range(N):
print '{0:2d} {1:.10f}'.format(i+1,probs[i])
pylab.title('Probabilities of getting {0} consecutive heads in {1} tosses'.format(n, N))
pylab.xlabel('toss')
pylab.ylabel('probability')
pylab.plot(range(1,(N+1)), probs, 'o')
pylab.show()