2017.3.10组合数学学习——多重集合的排列、组合,有限概率

多重集合的排列
定理:设S是多重集合,他有k种不同类型的对象,每一种类型的有限重复数是n1,n2,n3,…nk。设S的大小为n=n1+n2+n3+…nk。则S的n排列数目为n!/(n1!n2!n3!…nk!)
证明:
先从S中选出n1个位置放a1,有C(n,n1)种放法,再选出n2个位置放a2,有C(n-n1,n2)种放法……
由乘法原理得:
S的排列个数=C(n,n1)*C(n-n1,n2)*C(n-n1-n2,n3)*…*C(n-n1-n2-…-nk-1,nk)
∵C(n,r)=p(n,r)/r!=n!/[r!*(n-r)!]
∴原式=  n!           (n-n1)!                (n-n1-n2-…-nk-1)!       
        --------- *   -----------     * … *---------------------- 
        n!(n-n1)!   n2!(n-n1-n2)!          nk!(n-n1-n2-…-nk)!
  去公因式可得证
如果S只有2种对象a1,a2,重复数分比为n1,n2,其中n=n1+n2
那么由以上定理可得
S的排列数=n!(n1!n2!)=n!/[n1!*(n-n1)!]=C(n,n1)
所以C(n,n1)即可以看做n对象集合的n1子集数量,
也可以看做有两种类型的对象且重复数分别是n1和n-n1的多重集合排列数
定理:设n是正整数,并设n1,n2,…,nk,是正整数,且n=n1+n2+…nk。把n对象集合划分为k个标有标签的盒子,且第1个盒子含有n1个对象,第2个盒子含有n2个对象,…,第k个盒子含有nk个对象,这样的划分方法数=n!(n1!n2!…nk!)
如果盒子没有标签,且n1=n2=n3=…=nk,那么划分数=n!(k!n1!n2!…nk!)
定理:有k种颜色的n个车,第一种颜色有n1个,第二种颜色有n2个,…,第k种颜色有nk个。把这些车放在一个n*n的棋盘上使车之间不能互相攻击的方案数=(n!)²/(n1!n2!…nk!)
所以,一种颜色的n个车有n!种方法,n种颜色的n个车有(n!)²个
感性认知:
放置n个同颜色的车与n的排列有一一对应关系。即n的排列有n!种,每种排列放置的行不一都是一种新方案。颜色限制,相当于多重集合S的n排列。
注:以上所有公式前提:n=n1+n2+…nk
若两边不相等时
例:S={3*a,2*b,4*c},求S的8排列数
解:S的集合可被划分为3个部分,由多重集合排列公式可得:
    ① 少一个a:s1=8!/(2!*2!*4!)
    ② 少一个b:s2=8!/(3!*1!*4!)
    ③ 少一个c:s3=8!/(3!*2!*3!)
   ans=s1+s2+s3
错解:s1=6!/(2!*4!)*C(7,2)
订正:s1=6!/(2!*4!)*[C(7,2)+C(7,1)]
因为2个a可以挨着

多重集合的组合
定理:设S是有k种类型对象的多重集合,每种元素均具有无限重复数。那么S的r组合的个数
=C(r+k-1,r)=C(r+k-1,k-1)
证明:
设S={∞*a1,∞*a2,…,∞*ak},使得
S的任意r组合呈{x1*a1,x2*a2…,xk*ak}的形式,其中x1,x2,…,xk均为非负整数,且x1+x2+…+xk=r。反过来,每个满足x1+x2+…+xk=r的非负整数序列x1,x2,…,xk对应于S的一个组合。因此,S的r组合个数=方程x1+x2+…+xk=r的解的个数。
我们证明,这些解的个数=有两种那个不同类型对象且有r+k-1个对象的多重集合
T={r*1,(k-1)*0}
的排列的个数。
给定T的一个排列,k-1个0把r个1分为k组,第1个0左边有x1个1,第1个0和第2个0中间有x2个1,……第k-1个0右边有xk个1。于是,x1,x2,…,xk是满足x1+x2+…xk的非负整数。反之成立。把上述步骤倒推并构造T的一个排列,
于是多重集合S的r组合数目=多重集合T的排列的个数
=(r+k-1)!/(r!*(k-1)!)=C(r+k-1,r)
证毕
可以通过对xi的限制来达到对每种类型的对象出现次数的限制
例:设S是有4种类型的对象a,b,c,d的多重集{10*a,10*b,10*c,10*d}。每一种类型的对象至少出现一次的S的10组合的个数是多少
解:①分析出可以忽略S中重复数10的限制
    ②ans=x1+x2+x3+x4=10的正整数解的个数
    ③另y1=x1-1,y2=x2-1,y3=x3-1,y4=x4-1
      则方程变为y1+y2+y3+y4=6 ,yi为非负整数
      所以ans=C(6+4-1,6)
组合中每种类型出现下界都可以通过变量替换处理
例:方程x1+x2+x3+x4=20 ,x1>=3,x2>=1,x3>=0,x4>=5
的解的个数是多少
解:y1=x1-3,y2=x2-1,y3=x3,y4=x4-5
方程转化为 y1+y2+y3+y4=11
所以ans=C(11-4+1,11)
这里都是给出了x的下界,x若是给出上界不能这样处理
给出上界需要结合容斥原理
有限概率
特点:结果有限,每个结果等可能
例1:设n是正整数。假设在1和n之间随机选出一个整数序列i1,i2,…,in
(1)这个选出的序列是1,2,3,…,n的排列的概率是多少
(2)这个序列正好含有n-1个不同的整数的概率是多少
解:(1)样本空间|S|=n^n,事件集合|E|=n! 所以ans=n!/n^n
    (2)题目理解:n-1个整数不同,即有1个整数出现了2次,有1个整数没有出现
       将n个数分为3类:
         ① 没有出现的整数,有n种可能
         则② 出现2次的整数,有n-1种可能,他的出现位置有C(n,2)种
         则③剩下的n-2个整数 ,放置方式有(n-2)!种
        所以ans=n*(n-1)*C(n,2)*(n-2)!
例2:5个彼此相同的车随机放置在8*8棋盘的非攻位置上,这些车既在行1,2,3,4,5又在列4,5,6,7,8上的概率是多少
解:样本空间|S|=棋盘上放5个非攻车的方案数=C(8,5)*5!
    事件|E|=5!
    所以ans=5!/(C(8,5)*5!)
   C(8,5):从8个行坐标,8个列坐标选出5个行坐标,5个列坐标的方案数
   |S|中 5!对选出来的每组行列坐标,列坐标排列分配给行坐标的方案数
   联想上面n个相同的车放n*n期盼方案数为n!,因为选出n个行坐标,n个列坐标的方案数为1
   |E|中 5!:有5!中方法把这5个车放到5*5棋盘上

posted @ 2017-03-10 15:49  TRTTG  阅读(5848)  评论(0编辑  收藏  举报