返回   cpper编程论坛 > 算法
注册账号 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记版面已读

回复
 
LinkBack 主题工具 显示模式
  #1 (permalink)  
旧 2006-07-13
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
问题 一个均匀骰子扔6次得到不同点数的数学期望

更一般的问题:
①在[1,n]上均匀分布的n个随机整数有多少个不同数字?
②在[1,n]上均匀分布的m个随机整数有多少个不同数字?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #2 (permalink)  
旧 2006-07-13
普通会员
 
注册日期: 2003-12-16
帖子: 49
ZiDing 正向着好的方向发展
默认

我觉得应该是:
1-n个数那么 m 个数在 m 次当中 每个 m 当中的数都出现一次的概率应该为:m!/N^M
1-n个数那么 m 个数在 x 次当中 每个 m 当中的数都出现一次的概率应该为:m! * (x-m)^(x-m) / n^x
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #3 (permalink)  
旧 2006-07-13
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
默认 可以做实验的

引用:
作者: ZiDing
我觉得应该是:
1-n个数那么 m 个数在 m 次当中 每个 m 当中的数都出现一次的概率应该为:m!/N^M
1-n个数那么 m 个数在 x 次当中 每个 m 当中的数都出现一次的概率应该为:m! * (x-m)^(x-m) / n^x
恩,组合数学学得不好,我不知道你的式子对不对,但应该是答非所问。

这个问题可以编程做实验的。
做10000次这件事:生成6个随机数然后统计其中出现了多少次不同的数字。然后求平均值。我的结果是,一个6面均匀骰子掷6次掷出的不同的点数大约是4个;一个100面的均匀骰子掷100次掷出的不同点数大约是六十多个

但是我不知道怎么表示成公式。自己推了一个,与实验值有偏差。

恩,看来我没说清楚,这个问题可以看成:
随机往n个不同的盒子里放m个相同的球,求最后非空盒数的数学期望
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #4 (permalink)  
旧 2006-07-13
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

一个均匀的骰子,扔 6 次得到 6 个不同点数的概率是 6!/6^6 。思路是这样的,将一个均匀的骰子扔 6 次,得到任意一个由 1~6 组成的 6 位数字的概率都是相等的,这样的数字一共有 6^6 个。若要求每次点数都不同,那么满足这一要求的 6 位数字一共有 6! 个。两者之比就是所求概率。

你所提出的一般情况,用上述思路可以很容易的推广出来。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #5 (permalink)  
旧 2006-07-13
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
默认

引用:
作者: Elminster
一个均匀的骰子,扔 6 次得到 6 个不同点数的概率是 6!/6^6 。思路是这样的,将一个均匀的骰子扔 6 次,得到任意一个由 1~6 组成的 6 位数字的概率都是相等的,这样的数字一共有 6^6 个。若要求每次点数都不同,那么满足这一要求的 6 位数字一共有 6! 个。两者之比就是所求概率。

你所提出的一般情况,用上述思路可以很容易的推广出来。
恩,斑竹大人说得很清楚,多谢
一个均匀的骰子,扔 6 次得到 6 个不同点数的概率p(m=6)是 6!/6^6没错;
可是,能不能告诉我,扔 6 次得到 5 个不同点数的概率p(m=5)是多少呢(今天头晕实在是想不动了),因为我要算E( m )=1*p(m=1)+2*p(m=2)+3*p(m=3)+4*p(m=4)+5*p(m=5)+6*p(m=6)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #6 (permalink)  
旧 2006-07-14
普通会员
 
注册日期: 2006-03-08
帖子: 31
Juvexp 正向着好的方向发展
默认

引用:
作者: abscon
恩,斑竹大人说得很清楚,多谢
一个均匀的骰子,扔 6 次得到 6 个不同点数的概率p(m=6)是 6!/6^6没错;
可是,能不能告诉我,扔 6 次得到 5 个不同点数的概率p(m=5)是多少呢(今天头晕实在是想不动了),因为我要算E( m )=1*p(m=1)+2*p(m=2)+3*p(m=3)+4*p(m=4)+5*p(m=5)+6*p(m=6)
p(m=5)应该是C(6,2) * 6 * 5 * 4 * 3 * 2
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #7 (permalink)  
旧 2006-07-14
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
默认

引用:
作者: Juvexp
p(m=5)应该是C(6,2) * 6 * 5 * 4 * 3 * 2
呵呵,概率不能大于1吧,你是不是漏了分母了?如果分母是6^5的话也不对啊,我的实验结果说p(m=5)大概是0.2316的样子
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #8 (permalink)  
旧 2006-07-14
普通会员
 
注册日期: 2006-03-08
帖子: 31
Juvexp 正向着好的方向发展
默认

引用:
作者: abscon
呵呵,概率不能大于1吧,你是不是漏了分母了?如果分母是6^5的话也不对啊,我的实验结果说p(m=5)大概是0.2316的样子
不好意思,分母还是6^6 = 46656

10800 / 46656 = 0.2315
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #9 (permalink)  
旧 2006-07-14
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
难过

引用:
作者: Juvexp
不好意思,分母还是6^6 = 46656

10800 / 46656 = 0.2315
奇怪,怎么你们老是能得到正确结果而我不能:O
那P(m=4)呢?好象约等于0.5 ?!
P(m=3)呢?
P(m=2)呢?
P(m=1)呢?
谢谢各位,送佛送到西吧~~
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #10 (permalink)  
旧 2006-07-14
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

引用:
作者: abscon
奇怪,怎么你们老是能得到正确结果而我不能:O
那P(m=4)呢?好象约等于0.5 ?!
P(m=3)呢?
P(m=2)呢?
P(m=1)呢?
谢谢各位,送佛送到西吧~~
那是因为你自己不肯好好动脑筋多想一想:

引用:
作者: abscon
可是,能不能告诉我,扔 6 次得到 5 个不同点数的概率p(m=5)是多少呢(今天头晕实在是想不动了),因为我要算E( m )=1*p(m=1)+2*p(m=2)+3*p(m=3)+4*p(m=4)+5*p(m=5)+6*p(m=6)
其实这个题目不算难,我已经说了,将一个均匀的骰子扔 6 次,得到任意一个由 1~6 组成的 6 位数字的概率都是相等的,这样的数字一共有 6^6 个。那么你要得到 p(m=5/4/3/2/1) ,只要考虑扔 6 次出现 5/4/3/2/1 个不同点数一共有几种可能性就是了。这个很难么?自己多花些时间想想,至少也该说说自己的思路之类的。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #11 (permalink)  
旧 2006-07-15
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
默认 k位n进制数中到底有多少个含m位不同数字的数

我知道"不算难",应该算个经典的问题,可是在教科书上找不到。所以来这里问问,看有没有人见过。见过的人口一张,我就不用想事了
既然没有人见过,那我再好好想想吧
(PS:总觉得p(m=6),p(m=5)比P(m=4)容易算啊)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #12 (permalink)  
旧 2006-07-15
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

引用:
作者: abscon
我知道"不算难",应该算个经典的问题,可是在教科书上找不到。所以来这里问问,看有没有人见过。见过的人口一张,我就不用想事了
既然没有人见过,那我再好好想想吧
(PS:总觉得p(m=6),p(m=5)比P(m=4)容易算啊)
嘿嘿,你不用想事,我不就无聊了么?
提示一下吧,m=5/4/3/2 算起来都是一样的,用的是两种情况相减 ……
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #13 (permalink)  
旧 2006-07-16
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
呲牙

引用:
作者: Elminster
嘿嘿,你不用想事,我不就无聊了么?
提示一下吧,m=5/4/3/2 算起来都是一样的,用的是两种情况相减 ……
你是说 p(m=4) = p(m<=4) - p(m<=3) ?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #14 (permalink)  
旧 2006-07-17
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

引用:
作者: abscon
你是说 p(m=4) = p(m<=4) - p(m<=3) ?
正解!你已经基本找到答案了。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #15 (permalink)  
旧 2006-07-17
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
酷

引用:
作者: Elminster
正解!你已经基本找到答案了。
这样好象不行,因为分类会有重复。

正确答案我已经找到了:含m位不同数字的k位n进制数一共有c(n,m)m!s(k,m)个
s是第二类斯特林数;

其实我不是个懒惰的孩子~~在发贴前其实我已经想了很久了,不过都是按照无区别的盒子来想的,分母不是n^k;这个问题不算难,但是偏偏教科书上没有,要绕且仅绕一个弯子。
各位的讨论虽然是针对特殊情况,但是也启发了我~~还是要谢谢有热心人解答这个看似很简单的问题~
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #16 (permalink)  
旧 2006-07-17
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

引用:
作者: abscon
这样好象不行,因为分类会有重复。

正确答案我已经找到了:含m位不同数字的k位n进制数一共有c(n,m)m!s(k,m)个
s是第二类斯特林数;

其实我不是个懒惰的孩子~~在发贴前其实我已经想了很久了,不过都是按照无区别的盒子来想的,分母不是n^k;这个问题不算难,但是偏偏教科书上没有,要绕且仅绕一个弯子。
各位的讨论虽然是针对特殊情况,但是也启发了我~~还是要谢谢有热心人解答这个看似很简单的问题~
说说看为什么你觉得会有重复?另外说说看你这个答案背后的思路?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #17 (permalink)  
旧 2006-07-17
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
微笑

引用:
作者: Elminster
说说看为什么你觉得会有重复?另外说说看你这个答案背后的思路?
比如说,从abc中可重复地选3个排成字符串,求只包含2个不同字符的字符串的个数。
只包含2个不同字符的字符串的个数 = 不超过2个字符的字符串个数 - 不超过1个字符的字符串的个数

不超过2个字符的字符串个数时就会有重复计数

先从abc中选出这2个不同字符,有C(3,2)种方案:ab,ac,bc。然后对每一种方案,从这两个不同字符中可重复地选3个排成字符串,共2^3个:
ab类:aaa aab aba abb baa bab bba bbb
ac类:aaa aac aca acc caa cac cca ccc
bc类:bbb bbc bcb bcc cbb cbc ccb ccc
C(3,2)*2^3=24种。但是aaa,bbb,ccc重复计算了。
一般说来,只取两个不同的分类中的相同字符来排,就会有重复计数。比如由ab类和ac类的相同字符a构成的aaa就重复计数了。
呵呵,以上是我能想到的最自然的方法,我猜也是你想的方法,不知猜对没。反正我想不到简单的方法来算"不超过m个字符的字符串"的个数。所以干脆算"只含m个字符的字符串个数",这相当于分类後从选出的m个不同字符中可重复而不可遗漏的选k个排成字符串,一共有
m!S(k,m)个(相当于把k个有区别球放到m个有区别的盒子中,不容许有空盒)。所以答案就是
C(n,m) * m!S(k,m) 个了

之前一直没想到用斯特林数是因为把问题转换成球盒问题後我总认为盒子是无区别的~你们说分母是6^6启发了我~
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #18 (permalink)  
旧 2006-07-17
Elminster 的头像
超级版主
 
注册日期: 2002-09-09
帖子: 1,764
Elminster 正向着好的方向发展
默认

引用:
作者: abscon
比如说,从abc中可重复地选3个排成字符串,求只包含2个不同字符的字符串的个数。
只包含2个不同字符的字符串的个数 = 不超过2个字符的字符串个数 - 不超过1个字符的字符串的个数

不超过2个字符的字符串个数时就会有重复计数

先从abc中选出这2个不同字符,有C(3,2)种方案:ab,ac,bc。然后对每一种方案,从这两个不同字符中可重复地选3个排成字符串,共2^3个:
ab类:aaa aab aba abb baa bab bba bbb
ac类:aaa aac aca acc caa cac cca ccc
bc类:bbb bbc bcb bcc cbb cbc ccb ccc
C(3,2)*2^3=24种。但是aaa,bbb,ccc重复计算了。
一般说来,只取两个不同的分类中的相同字符来排,就会有重复计数。比如由ab类和ac类的相同字符a构成的aaa就重复计数了。
呵呵,以上是我能想到的最自然的方法,我猜也是你想的方法,不知猜对没。反正我想不到简单的方法来算"不超过m个字符的字符串"的个数。所以干脆算"只含m个字符的字符串个数",这相当于分类後从选出的m个不同字符中可重复而不可遗漏的选k个排成字符串,一共有
m!S(k,m)个(相当于把k个有区别球放到m个有区别的盒子中,不容许有空盒)。所以答案就是
C(n,m) * m!S(k,m) 个了

之前一直没想到用斯特林数是因为把问题转换成球盒问题後我总认为盒子是无区别的~你们说分母是6^6启发了我~
唔,这里你有点小误解。

这是我的错,前面的说法有点不够准确。我说得 p(m=4) = p(m<=4) - p(m<=3),是在选择了可能出现哪几个不同的数字之后。如果用你上面的例子:

代码:
ab 类:至多出现2个字母的 - 至多出现1个字母的。 {aaa aab aba abb baa bab bba bbb} - {aaa bbb} ac 类:至多出现2个字母的 - 至多出现1个字母的。 {aa aac aca acc caa cac cca ccc} - {aaa ccc} bc 类:至多出现2个字母的 - 至多出现1个字母的。 {bbb bbc bcb bcc cbb cbc ccb ccc} - {bbb ccc}
这样就没有重复了。

你用斯特林数那个解法应该是对的,只是这第二类斯特林数恐怕不太好算。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #19 (permalink)  
旧 2006-07-17
普通会员
 
注册日期: 2004-11-24
帖子: 47
abscon 正向着好的方向发展
默认

引用:
作者: Elminster
你用斯特林数那个解法应该是对的,只是这第二类斯特林数恐怕不太好算。
比较符合实验结果,嬉嬉,应该是对的。
不好算也没办法啊,要表示成一个式子的话只能用它了。我还想把它和其他项乘起来再求和然后去估计和的近似值呢~~头大~~ 这种东西好象google不到
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9。现在的时间是 07:38 AM


Powered by vBulletin® 版本 3.7.0
版权所有 ©2000 - 2009,Jelsoft Enterprises Ltd.
(C) Copy Right All Right Reserved 2001 - 2007

Search Engine Friendly URLs by vBSEO 3.1.0