倪举鹏 发表于 2014-1-3 10:06:49

扑克问题

看来这里高手多,54张牌 斗地主里面,地主得到20张牌,那么得到zhadan的概率是多少(得到4个一样或者对王)无论用什么方法我需要结果   计算机 编程都行,建议先算得不到4条与对王的概率
   高中时候用母函数算过感觉答案跟现实不符,但是也不知道哪里错了,或许答案根本没有错而是现实错了(感觉现实里很难取到4条的)

wayne 发表于 2014-1-3 13:16:37

要是某一个人得到炸弹的概率 很容易算的。
所有人就有点难了,牵涉到划分的问题。

wayne 发表于 2014-1-3 13:43:45

先计算三个人均没有炸弹的情况的概率,

1)
计算54张牌分成17,17,20三堆,且不存在4条和对王的所有情况:
((x+y+z)^4-x^4-y^4-z^4)^13 ((x+y+z)^2-x^2-y^2-z^2 ) 的x^20y^17z^17,x^17y^20z^17,x^17y^17z^20的系数。
Select,Min[#[]]==17&&Max[#[]]==20&]

算得 341495369180333055148032*3= 1024486107540999165444096

2)计算54张牌分成17,17,20三堆的所有可能情况:Multinomial =749991557119474188218700
3)有炸弹的概率就是:

1-341495369180333055148032/749991557119474188218700=79350463857642022741/145686005656463517525 = 0.5446677153

看来有54.5%的概率 出现炸弹呢。

倪举鹏 发表于 2014-1-3 14:38:18

wayne 发表于 2014-1-3 13:43
先计算三个人均没有炸弹的情况的概率,

1)


不管其他人   只看地主20张牌里面有没有炸弹的概率

wayne 发表于 2014-1-3 14:45:26

写了一个程序随机跑了10万次模拟。算得54777/100000
支持了前面的计算:




zhadan=0;n=100000;
Table[{pp=RandomSample];
a=pp[];b=pp[];c=pp[];
p1=Max],{i,{a,b,c}}]];
p2=Max,13],#[]==4&],{i,{a,b,c}}]];
If;ii,zhadan/ii},{ii,n}]

wayne 发表于 2014-1-3 14:57:34

倪举鹏 发表于 2014-1-3 14:38
不管其他人   只看地主20张牌里面有没有炸弹的概率

1 - 2459192029184/10595187901305   =0.7678953831

wayne 发表于 2014-1-3 14:59:26

实际情况下,是可以叫地主的。所以地主有炸弹的概率还要高一些

倪举鹏 发表于 2014-1-3 15:05:42

wayne 发表于 2014-1-3 14:57
1 - 2459192029184/10595187901305   =0.7678953831

不管叫地主什么的了,就是54张里面提20张出来没有4条跟对王。这个0.76是有炸弹的概率么?

wayne 发表于 2014-1-3 15:16:44

倪举鹏 发表于 2014-1-3 15:05
不管叫地主什么的了,就是54张里面提20张出来没有4条跟对王。这个0.76是有炸弹的概率么?

算错了,是:
1- 522229509208516557127680/749991557119474188218700 = 1072537271251/3531729300435 = 0.303686

模拟的结果页是一致的:

倪举鹏 发表于 2014-1-3 15:21:17

我的算法是(1+x+x^2+x^3)^13*(1+x)   求x^20的系数    (1+x+x^2+x^3+x^4)^13*(1+x+x^2) 求x^20的系数   两个系数比值是0.1131287424没有炸弹的概率是0.11   有炸弹的概率是0.88   太奇怪了
页: [1] 2 3 4
查看完整版本: 扑克问题