关于组合数学的一些心得

注:由于不会打组合符号,下文(a b)均表示a-元素集的b-组合。

(I)集合的排列

给定一个含n个元素的集合S,另r为正整数,我们将n元集S的r-排列理解为n个元素中r个元素的有序摆放。

若r>n,则S没有这个r-排列。

定义p(n,r)为n元集S的r-排列的数目。显然,r>n时,p(n,r)=0;

显然,对于正整数n,p(n,1)=n;

一个n-元素集合S的排列将会被更简单地称为S的一个排列或n个元素的一个排列。

于是,集S的一个排列就是以某种顺序列出S的所有元素。

对于正整数r<=n,有p(n,r)=n*(n-1)*···*(n-r+1)=n!/(n-r)!;

证明:

再构建n-元素集一个r-排列时,我们可以将其分为r步来完成:

1、 从n中取一个元素放在第一个位置,此时有r种方法

2、 无论步骤1结果如何,集合中都剩下n-1个元素,从剩余n-1个取一个元素放在第二个位置,此时有n-1种方法.

···

r、 无论前r-1个步骤结果如何,集合中都剩下n-r+1个元素,从剩余n-r+1个取一个元素放在第二个位置,此时有n-r+1种方法.

故,根据乘法原理有

p(n,r)=n*(n-1)*···*(n-r+1);

化简可得

p(n,r)=n!/(n-r)!

约定0!=1;

对于n>=0,我们定义p(n,0)=1;这与r=0时的公式一致

  p(n,0)=n!/(n-0)!=1;

n个元素的排列为

  p(n,n)=n!/(n-n)!=n!;

 

(II)n-元素集的r-循环排列由

p(n,r)=n!/(r*(n-r)!)

给出;

 

证明:

对于给定的n个元素构建其的循环排列,可以如下考虑:

固定qi中一个元素的位置,剩下的n-1个元素只能做n-1个元素的一个排列,其数目为(n-1)!;

对于给定n-元素集构建其r-循环排列,可以如下考虑:

从n中选取r个元素;我们可以将其分为r步来完成:

1、 从n中取一个元素放在第一个位置,此时有r种方法

2、 无论步骤1结果如何,集合中都剩下n-1个元素,从剩余n-1个取一个元素放在第二个位置,此时有n-1种方法.

···

r、 无论前r-1个步骤结果如何,集合中都剩下n-r+1个元素,从剩余n-r+1个取一个元素放在第二个位置,此时有n-r+1种方法.

故,根据乘法原理有

p(n,r)=n*(n-1)*···*(n-r+1);

但是这时,这时我们发现,对于某个特定的元素,我们可以把它旋转r次得到的排列数是相同的,故每个元素的排列都重复计算了r次

故,p(n,r)=n!/(r*(n-r)!);

 

也可以如下证明:

将线性的r-排列划分成几个部分,当且仅当两个线性排列对应于一个循环排列中它们在同一个部分,于是n-元集的r-循环排列数等于其部分数;

既然每个部分都有r个先行排列,那么n的r-排列就等于r除n的r-线性排列数目。

 

(III)集合的组合

令r为正整数,我们可以把n个元素的集合S的r-组合理解为n个元素中r个元素的无序选择;

S的r-组合即是S的一个子集。该元素由S的r个元素组成,即S的r-子集。

用(n r)来表示n的r-组合的数目。

(n r)的值由

p(n,r)/r!

给出;

证明:

我们把构建n的r-排列分成两个步骤:

1、  从n个元素中无序选择r个元素,其方法数即为(n r)

2、  将r个元素放到r个位置,

第一个位置可以放r种元素,

第二个位置可以放r-1种元素,

···

第r个位置只能放最后一种元素

根据乘法原理,其方法数为

r*(r-1)*···*1=r!;

又根据乘法原理

p(n,r)=(n r)*r!;

故,

(n r)=p(n,r)/r!;

 

(IIII)多重集的排列

(1)重复次数无限

如果S为一个多重集,那么S的r-排列时S的r个元素的有序摆放。

如果n是S元素的总数,那么s的n-排列也称为S的排列。

 

令S是多重集,它有k个不同类型的元素,每个元素有无限个重复次数,那么S的r-排列的数目为k^r;

 

证明:

构造S的r-排列可以如下考虑:

分为r个步骤:

1、  从S中取一个元素放在排列的第一个位置,有k种选择。

2、  从S中取一个元素放在排列的第二位置,由于每个元素可以重复无限次,仍有k种选择。

···

r、  从S中取一个元素放在排列的第r个位置,仍有k种选择。

根据乘法原理,

S的r-排列数目为

k^r;

得证;

特别的若每个元素的重复次数有限,但是个元素的重复次数均至少等于r,那么其排列数仍为k^r;

 

(2)重复次数有限

令S位多重集,S有k种不同类型的元素,分别为a1,a2,···,ak,每个元素的重复次数为n1,n2,···,nk;

n1+n2+···+nk=n;

那么S重复集的排列数目为:

n!/(n1!*n2!*···*nk!)

 

证明:

方法一:

设M为n-元集合,那么其排列数为

p(n,r);

令M‘为有n1个a1,n2个a2的集合,其排列数目为x;

那么M排列的构建可分为两个步骤:

1、构造M‘,方法有x种;

2、将M'的n1个a1的位置用互异的元素a11,a12,···,a1k替换,有p(n1,n1)=n1!种方法;将M'的n2个a2的位置用互异的元素a21,a22,···,a2k替换,有p(n2,n2)=n2!种方法;···;将M'的nk个ak的位置用互异的元素ak1,ak2,···,akk替换,有p(nk,nk)=nk种方法;

根据乘法原理

p(n,n)=x*n1!*n2!*···*nk!;

x=n!/(n1!*n2!*···*nk!);

得证;

 

也可以如下证明:

依次确定每种类型的元素在排列中的位置的方法数(即是从剩余位置无序的选择ni个位置,也就是(n剩余 ni));

根据乘法原理求积;

n!/((n-n1)!*n1!)*(n-n1)!/((n-n1-n2)!*n2!)*···*(n-n1-n2-··-n(k-1))!/((n-n1-n2-··-nk)!*nk!)=n!/(n1!*n2!*···*nk!);

(IIIII)多重集的组合

令S为多重集,则S的r-组合是S的一个r-元素的无序选择,S的r-组合本身就是S的一个子多重集,

如果n为S元素的个数,那么S的n-组合即为S的组合,如果S有k种元素,如果r=1,那么s有k个1-组合。

(1)若S的每个元素重复次数是无限的,r是非负整数,

那么其r-组合的数目为

(r+k-1 k-1)=(r+k-1 r)

证明:

设r-组合有x1个a1,x2个a2,···,xk个ak;

那么x1+x2+··+xk=r;

x1,x2,···,xk为负整数;

即是求方程组

x1+x2+···+xk=r;的解的个数;

令T={r·1,(k-1)·*}

将r个1和k-1个*排列的数目即是方程组的解;

可以理解成r个球放在k个盒子里,我们每次取一些球一次放在盒子里,k-1次后完成;

那么r个球和k-1次取球操作的排列就是完成这件事情的方法数目;

那么T为多重即集,根据n-重集的排列可知

多重集S的组合数为(r+k-1 r)=(r+k-1 k-1)=(r+k-1)!/(r!*(k-1)!)

(2)由元素出现次数无限的多重集S的r-组合的数目的证明可知,x1,x2,···,xk对于多重集S的r-组合的方法是一一对应的,如果限制了某个xi,那么其组合也将被限制;此时我们可以令yi=xi-li(li是对i元素的限制);

yi也为非负整数,求解y1+y2+···yk=r-l1-l2-···-lk;即可;

对于有k种元素的多重集S={n1·a1,n2·a2,···,nk·ak}的r-组合数还没学,以后再写!

猜你喜欢

转载自www.cnblogs.com/RGBTH/p/9348523.html
今日推荐