在等可能概型中,有一类问题是球放盒子问题,比如把m个球,放在n(n >=m )个盒子中,计算各种情况的概率,这类问题难点在于排列组合的运算,下面按照从易到难的情况对这类问题进行分析:

1、每个盒子只能放一个球

计算每个盒子最多只能放一个球的概率,首先来看下这个问题的解题思路:
每个球可以放n个盒子,因此m个球的样本空间的样本个数N(S)=java m个球放到n个盒子 n个球放入n个盒子中配对_全排列
第一个球可以选n个位置
第二个球可以选n-1个位置
….
第m个球可选n-m+1个位置
N(A)=n*(n-1)(n-m+1)=java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_02
p(A)=java m个球放到n个盒子 n个球放入n个盒子中配对_问题分析_03
这个问题很简单,不用多解释

2、每个盒子可以放多个球

如果把问题复杂化一点,每个盒子可以放多个球,要求所有的球放i个盒子的概率怎么计算呢,下面就来研究一下

为了便于问题分析,先把n和m具体化,并且设置小一点方便计算,就假设要求是共3个盒子,4个球,放在2个盒子中;这种情况下,就有两种分法,第一种是一个盒子放1个球,另一个放3球(1+3);第二种是2+2,下面分别进行计算分析。

2.1 1+3的情况

先计算1+3的情况,首先在4个球中选1个就是java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_04,这个球有3个盒子可选就是java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_05,剩下的3个球选3个是java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_06,有2个盒子可选是java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_07
这种情况的N=java m个球放到n个盒子 n个球放入n个盒子中配对_java m个球放到n个盒子_08,而且可以把java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_09组合起来就是java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_10,这个怎么理解呢,其实就是有两组球,放在3个盒子中进行排列运算的结果;而java m个球放到n个盒子 n个球放入n个盒子中配对_全排列_11就是4个球分成1+3两组的组合结果,根据运算公式得到最终的样本个数是24个,列个表格来验证一下结果:

box1

box2

box3

1

234

1

234

234

1

1

234

234

1

234

1


如表格所示(1,234)的放置方法共有6种,而(2,134),(3,124),(4,123)四种分法也不会有重复,因此计算的结果24是正确的;

2.2 2+2的情况

下面来计算2+2的情况,按照前面的思路,N=java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_12,或者N=java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_13=36,还是列一张表,来验证一下结果:

box1

box2

box3

12

34

12

34

34

12

12

34

34

12

34

12

13

24

13

24

24

13

13

24

24

13

24

13

14

23

14

23

23

14

14

23

23

14

23

14

然而表格统计的结果只有18个,刚好是之前运算结果的一半,问题出在哪里?

首先看java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_10,两组数,3个位置,并且有顺序,所以没有问题。
再来看下java m个球放到n个盒子 n个球放入n个盒子中配对_java m个球放到n个盒子_15,按照理解应该是先从4个数种选2个,再从剩下的2个种选2个,集合是这样的{(12,34),(13,24),(14,23),(23,14),(24,13),(34,12)},但是当把这个集合的数拿到盒子中做组合运算就会重复,因为(12,34)和(34,12)是等价的,实际的结果应该是{(12,34),(13,24),(14,23)},这之间差的2倍实际上就是2个组的全排列java m个球放到n个盒子 n个球放入n个盒子中配对_java m个球放到n个盒子_16,注意这里的2是两个组的那个2,而不是每个组中2个数字的那个2;

由于两组数的个数相同,java m个球放到n个盒子 n个球放入n个盒子中配对_java m个球放到n个盒子_15的计算方法暗含了一个根据组数进行的全排列,因此在运算时要把java m个球放到n个盒子 n个球放入n个盒子中配对_java m个球放到n个盒子_16除掉,再次强调这里的2是组的个数,最后得到的结果是:N=java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_19

最后汇总1+3和2+2的两种情况,分两组的样本个数为N=java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_20,后面计算概率除以样本总数就不再赘述了。

3、一般情况

推广到更普遍的情况,n个组,每组k个数(所有数字不重复)的组合的总数为:
N=java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_21,(这个要用归纳法去证明,限于时间精力有限就不想证明了,结果应该是对的),而之前1+3的情况,1和3都只有一组,按照这个公式把java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_22带进去也是正确的;

如果要在m个容器中进行放置,就再乘以java m个球放到n个盒子 n个球放入n个盒子中配对_问题分析_23进行排列,如果要运算概率,就再除以N(S)=java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_24

另外网上看到很多人问两两组合的问题,比如6个数两两组合有多少情况,网上很多答案是java m个球放到n个盒子 n个球放入n个盒子中配对_样本空间_25,结果15是对的,但是算法错了,应该是java m个球放到n个盒子 n个球放入n个盒子中配对_排列组合-概率_26

以上就是对于多个数进行k*n分组的情况下,计算排列组合以及概率的一些分享,希望能对大家有帮助。