mathe
发表于 2009-8-1 15:13:38
根据7#,对于指定k个连续位置被选中的情况的概率为${(1138-k)!*514!}/{(514-k)!*1138!}$
而k个连续位置总共有1138-k+1个,所以我们得出$C(k)={(1138-k+1)!*514!}/{(514-k)!*1138!}$
但是这个计算中,所有连续k+1个位置被选中的情况被重复计算了2次,连续k+2个位置被选中的被重复计算了3次,....
为了扣除这个重复计算,我们计算k+1个连续位置被选中的情况,得到概率C(k+1)正好计算所有连续k+1个位置被选中的情况1次,k+2个连续位置被选中的情况重复计算了2次,...
两者相减正好所有的都只计算一次,而这个理论值为0.00833
不过这里计算过程还没有考虑出现两段以上长度不小k的连续选中的重复计算(当然这个情况概率很小,可以忽略)
所以我们看出,实际上概率大概在0.83%,小于1%了
数学星空
发表于 2009-8-1 15:15:03
请问mathe 如何将你编写的程序放在MATLAB 7.0里面运行,由于我很想看一下(包括你以前编的一些程序)计算结果...
多谢!!
mathe
发表于 2009-8-1 15:18:01
我基本用c/c++,matlab可不行
bolizhou
发表于 2009-8-1 16:00:33
7#,但是这里没有考虑部分重复计算,所以结果有点偏大
你上面的解应该是正确的啊,结果更近于1.5%,不知道哪里有重复计算,能请mathe解释一下吗?
bolizhou
发表于 2009-8-1 16:21:15
本帖最后由 bolizhou 于 2009-8-1 17:34 编辑
11#,刚刚看到这个说明,mathe好仔细
sheng_jianguo
发表于 2009-8-5 09:08:38
根据7#,对于指定k个连续位置被选中的情况的概率为${(1138-k)!*514!}/{(514-k)!*1138!}$
而k个连续位置总共有1138-k+1个,所以我们得出$C(k)={(1138-k+1)!*514!}/{(514-k)!*1138!}$
但是这个计算中,所有连续k+1个位置 ...实际上概率大概在0.83%,小于1%了
mathe 发表于 2009-8-1 15:13 http://bbs.emath.ac.cn/images/common/back.gif
按此推导,一些重复计算没去掉,实际上概率小于0.8331%(当然小于1%了),但实际上概率大于多少呢?
mathe
发表于 2009-8-5 09:57:21
其它的重复部分相对比较小,可以忽略了.
计算机模拟结果在0.81%左右
nnd
发表于 2009-8-5 16:54:41
本帖最后由 nnd 于 2009-8-5 18:15 编辑
将问题简化为:从并列的1138个“0”中随机地将其中的514个数改为“1”,出现连续的14个“1”的概率是多少?
定义一个函数:
Px(m,n) (其中m>n>14,13*m>14*n) 为从m个并列的“0”中随机地将其中n个数改为“1”,没有出现连续的14个将问题简化为:从并列的1138个“0”中随机地将其中的514个数改为“1”,出现连续的14个“1”的概率。
则从m+1个“0”中改写n个“1”时,有两种情况:
1.第一个数没有被改写为“1”,这种情况的概率为:(m+1-n)/(m+1)
此时,从后面的m个并列的“0”中随机地将n个数改为“1”,没有出现连续的14个“1”的概率为Px(m,n)。
2.第一个数被改写为“1”,概率为:n/(m+1)
此时,第一个数后面没有出现14个连续的“1”的概率为:Px(m,n-1)。
所以,从m+1个并列的“0”中随机地将n个数改为“1”,没有出现连续的14个“1”的概率为:
Px(m+1,n)=(m+1-n)/(m+1)*Px(m,n)+n/(m+1)*Px(m,n-1)-x 等式1
其中,x为第1~14位数被改写成“1”,但是第15个数仍旧为“0”的概率。这种情况出现了连续的14个“1”。它被计算在第二种情况中了,应该减去。
x=(n!/(n-14)!)/((m+1)!/(m+1-14)!) * ((m+1-n)/(m+1-14)等式2
所以,从m+1个并列的“0”中随机地将其中n个数改为“1”,没有出现连续的14个“1”的概率。
Px(m+1,n)=(m+1-n)/(m+1)*Px(m,n)+n/(m+1)*Px(m,n-1)-(n!/(n-14)!)/((m+1)!/(m+1-14)!) * ((m+1-n)/(m+1-14)
1-Px(1138,518)就是答案了。但是解这个很麻烦。
用软件模拟(不是计算)就简单了,见
http://blog.sina.com.cn/nuotuo
shshsh_0510
发表于 2009-8-5 17:00:22
18# nnd
35866779975855627770117347904495176761791001484650469598138130073870143831688361
56584730766484298427515513168896219162550064601579259997703715359679662473280298
95315722377612083865370775742102073205902284782814572346298366395183114719878772
97713544279219711024757827512402697126835938977122062524680855571529838461627533
70221484111450000/C(514,1138)=0.008302608418
shshsh_0510
发表于 2009-8-5 17:07:02
s(n,k)=0,k<14 or n<14 or n<k
s(n,n)=1
s(n,k)=s(n-1,k)+s(n-2,k-1)+s(n-3,k-2)+...+s(n-14,k-13)+C(k-14,n-14)
p=s(1138,514)/C(514,1138)