1 引言
组合数学,是一门非常古老的学科,它是相数学的一个分支,但却不同于一般的分析数学,组合数学的研究对象是满足一定条件的离散数据,以及它们的存在、计数以及构造等方面问题[1, 2]。然而,在计算机问世以前,甚至计算机问世后数年时间,由于人的处理数据能力的制约,组合数学的发展相对缓慢。在近几个世纪,许多数学家从游戏角度上接触了这个课题。Euler的36名军宫问题,Kirkman的女生问题等等,都是这方面有名的例子。Richanl A. Brualdi指出:“经典数学中所研究的娱乐与艺术的许多问题,对于今天的纯理论学科与应用学科都具有巨大的意义。”计算机科学、物理、化学编码和密码学、生物企业管理、交通规划、战争指挥、金融分析容斥原理的两种等价形式即下面的定理1和定理2定理1 (容斥原理的简单形式)设S是有限集合, 是同集合有关的个性质设表示中具有性质的元素构成的集合是中不具有性质的元素构成的集合则有(1)中不具有性质的元素数是
(2)在S中至少具有一条性质的元素数是
下面用数学归纳法证明定理1[5]。
证明:已知,当时,有:
设:
所以,有
并且
即
所以,
则得到结论(1):
定理2 (容斥原理的一般形式)设集合中具有性质集合中恰好个性质的元素个数为 则,设满足个个性质。则当被左右两边的计数次数相同时,等式成立。对于,应该讨论下面3种情况:
(1) 时,显然,在等式左边中并未被计数;在等式的右边,很显然因为,所以在所有的中都没有被计算。
(2) 时,在等式的左边中只被计数了一次;在等式右边,仅仅被的情况计数了一次。
(3) 时,在等式的左边中并未被计数;在等式右边,仅仅在的那些中才被计算,即在的诸项中才涉及,所以,在中被计数的次数为,所以在等式右边的计数总次数为
2.2 组合数学中的容斥原理
在本节里,我们重点了解容斥原理在组合数学里的应用。
一、错位排列
错位排列,又称为更列,是一种带限制条件的全排列。若,则的一个错位排列是指这样的全排列,使,利用容斥原理可以推导的所有错位排列的个数。
定理3: 对于,
证明:设为的全部排列的集合。对于,设是排列在处上的性质。令,则对的排列满足性质,当的排列不满足性质中的任何一个,则是一个错位排列,让表示的排列中具有性质的排列的集合,则的所有错位排列所构成的集合为中的所有排列。即[7]。
然后,我们用容斥原理给赋值。对于,有排列中的排列为,其中,有,而对于中的任意组合,有,以此类推,对于的任意组合,有,由于存在个的组合,所以由容斥原理得到
例2.2.1 在的全排列中,求奇数在原来位置上,而偶数全不在原来位置上的排列,有多少种不同的排列方法[8]?
解:此问题实际上是一个的错位排列问题,求解总数是
二、 带有禁止位置的排列
定义1:令是的子集(可以是空集), 用表示的所有满足下列条件排列的集合:
不在内;
不在内;
…,
不在内。
称这种排列为带有禁止位置的排列,用表示满足上述条件的排列数[9]。
对于,令,那么,在包含两个排列:3412和4123。
错位排列是禁止位置排列的一种特殊情形。令时,则便是一个满足个元素的错位排列。
个元素的某一排列可以看做是个棋子在的棋盘上的一种布局。当一个棋子置于棋盘的某一格子时,则这一格子所在的行和列都不能再布任何棋子,即棋盘的每一个布局每行每列有且只有一个棋子,有禁区排列是指每个棋子在棋盘上都有一定的禁区的布局。
利用容斥原理可以导出有禁区的排列数为
其中是个棋子布置到禁区部分的方案数。
令为个棋子布入棋盘所得到的排列,其中为第个棋子落在棋盘的第行的位置,为第个棋子放入禁区,即在禁区内事件。
一个棋子落入禁区方案数为,剩下的个棋子为无限制条件的排列,故至少有一个棋子进入禁区的方案数为。两个棋子落入禁区方案数为,而其余个棋子为无限制条件的排列,故至少有两个棋子进入禁区的方案数为,依此类推。
依据容斥原理,布个棋子无一落入禁区的方案数应为:
。
例2.2.2 有甲,乙,丙,丁四个人,为四项任务甲不能从事任务,乙不能从事 两项任务,丙不能从事任务,丁不能从事任务,若要求每人从事各自力所能及的一项任务,试问有多少种不同方案。
分析:每一种分配方案相当于图1的关于的有禁区排列。问题也相当于求在如图1所示的有禁区的棋盘上用四个棋子进行布局的方案数,因此,需用到棋盘多项式解图的禁区的棋盘多项式。
解:图1的禁区的棋盘多项式为,即,所求的方案个数为:。
三、容斥原理在圆形排列中的应用
问题:将排成一个圆圈,当相邻时,则将看作一个整体而不考虑它们之间的顺序,求这种圆形排列的个数[10]。
应用容斥原理的一般形式,我们能够得到的公式。
设为的所有圆形排列的集合,表示性质“排列中”相邻,则
。
可以得到,由容斥原理知,故
四、容斥原理与图论
图论起源于著名的柯