《组合数学之容斥原理课件.ppt》由会员分享,可在线阅读,更多相关《组合数学之容斥原理课件.ppt(57页珍藏版)》请在三一办公上搜索。
1、1,组合数学,第六讲,容斥原理,2,一. 引言,容斥原理是组合数学中的一个重要 原理,它在计数问题中占有很重要地位. 容斥原理所研究的问题是与若干有 限集的交、并或差有关的计数. 在实际工作中, 有时要计算具有某种 性质的元素个数. 例: 某单位举办一个外语培训班, 开设英语, 法语两门课.,3,设U为该单位所有人集合, A,B分别为 学英语, 法语人的集合, 如图所示.,学两门外语的人数为|AB|, 只学一门外语的人数为|AB|-|AB|, 没参加学习的人数为|U|-|AB|.,4,在一些计数问题中, 经常遇到间接计算一个集合中具有某种性质的元素个数比起直接计算来得简单. 例: 计算1到70
2、0之间不能被7整除的整数个数. 直接计算相当麻烦,间接计算非常容易. 先计算1到700之间能被7整除的整数个数=700/ 7=100, 所以1到700之间不能被7整除的整数个数=700-100=600.,5,因此, 当直接求解受阻或无法达到目的时, 应考虑间接求解方法. 所谓“曲径通幽”, 说的就是这个道理. 上面举的间接计数的例子是利用了如下原理:如果A是集合S的子集, 则A中的元素个数等于S中的元素个数减去不在A中的元素个数, 这个原理可写成,6,我们的目的并不仅仅是讨论这样一个简单的原理, 而是讨论这个原理的一个重要推广, 称之为容斥原理,并且将它运用到若干问题上去, 其中包括: 错位排
3、列、有限制的排列、禁位排列和棋阵多项式等.,7,DeMorgan定理: 设A, B为全集U的任意两个子集, 则,DeMorgan定理的推广: 设A1,A2,An为U的子集, 则,二. 容斥原理,8,1. 两个集合的容斥原理 设A和B是分别具有性质P1和P2的元素的集合, 则,例6.1 求1到500之间能被5或7整除的正整数个数. 解 设A为被5整除的整数集合, B为被7整除的整数集合, 用x表示x的整数部分, 则有,9,同时被5和7整除的整数个数,故能被5或7整除的整数个数,10,2. 三个集合上的容斥原理设A, B, C为任意三个集合, 则有,3. n个集合上的容斥原理: 设A1,A2,An
4、是有限集合, 则有,11,4. 容斥原理的余集形式,12,例求在1到10000的整数中不能被4,5,6整除的数的个数.,解:令Ai(i=4,5,6)表示1到10000的整数中能被i整 除的数的个数,则,13,例 n个不同的球分放m个不同的盒子里,每盒不空,求分放总数f(n,m).,解:以X记所有无约束条件的放球方法 记Ai为第i盒空的放法全体,则,14,第二类Stirling数的展开式,第二类Stirling数:把 n个有区别的球放到k个相同的盒子中, 要求无空盒, 其方案数为S(n,k).,则 f(n, k)=k!S(n, k),所以,15,*夫妻围坐问题:n对夫妻围坐在一圆桌边,圆桌边有2
5、n个座位,则满足男女相间,夫妻不相邻的入座方法数为:,(座位不编号),(座位编号),16,证明:首先让女宾入座,每两个女宾之间留下一个空位,其入座方法数为(n-1)!,然后让男宾入座,其入座方法数记为Un,把女宾依顺时针方向自1至n编号,第i号女宾的丈夫编为第i号,为i号男宾;i号女宾的左手空位编号为i号座位。令,A1:1号男宾坐在n号座位,A2i-1:i号男宾坐在i-1号座位;i=2,3,n,A2i:i号男宾坐在i号座位;i=1,2,n,17,|Ai|=(n-1)!,因此,如i1,i2,ik在园排列(1,2,2n,1)中若有相邻者,则Ai1Ai2Aik=,否则,18,所以,从(1,2,2n,
6、1)中取k个,两两不相邻的取法个数为,19,三. 容斥原理的应用实例1. 错排问题上一讲利用递归关系讨论了错排问题. 现在利用容斥原理再次讨论这个问题.可以看出容斥原理解决这个问题更容易, 而且利用容斥原理很容易理解错排数列通项公式的组合意义. 我们再重申一下, 排列i1i2in是排列12n的一个错排当且仅当i11, i22, , inn.,20,我们曾把12n全部不同错排的数目记为Dn. 当时得到的结论如下.,可以用容斥原理证明: 设S=1,2,3,n, S0为S的所有n!个排列的集合. 令Aj表示排列12n中使j位置上的元素恰好是j的排列的集合, j=1,2,n. 则排列12n的所有错位排
7、列组成集合:,21,Aj=(n-1)!, j=1,2,3,n.AiAj=(n-2)!, i,j=1,2,3,n, 但ij. 对于任意整数k且1kn, 则有,因为1,2,3,n的k组合为C(n,k)个, 应用容斥原理得到:,22,23,例 小王要为公司审阅7本书,于是他雇了7个人来审阅它们。他希望每本书有两个审阅者,于是在第一个星期,他给每人一本书来审阅,接着在第二个星期开始重新分配。一共有多少种方式可以完成这两次分配,使得每本书有两个不同的审阅者?,解 满足要求的分配方式有,7!D7=(7!)2(1-1+(1/2!)-(1/3!)+(1/7!),24,2. 有限制的排列 所谓有限制的排列, 顾
8、名思义, 就是对排列加上某种或某些限制. 例6.2 求字母a,b,c,d,e,f和g具有下列性质的排列个数:在这些排列中, 模式ace和df都不出现. 解 设A1, A2分别为出现模式ace和模式df的排列的集合, 则有 |A1|=5! (=ace, A1为, b,d,f,g的排列); |A2|=6! (= df, A2为, a,b,c,e,g的排列);,25,|A1A2|=4! ( A1A2为 , , b, g的全部排列). 由容斥原理, 模式ace和模式df都不出现的排列个数为:,26,3. 相对禁位排列在错排问题中,每个元素不许出现在原来的位置, 这是一种绝对的禁位排列. 还有一类是相对
9、禁位排列.例6.3 有5个学生每天要排成一列去散步. 除第一个学生之外, 每个学生前面都有一个学生. 每天都是同一个人在自己前面走显得单调,第2天他们决定改变排队次序, 使得每个同学前面的人与第1天不同. 问有多少种不同的排队方式?,27,分析: 如果把第1天排队的同学按次序编号为1,2,3,4,5. 我们所要求的排列为其中不出现模式12, 23, 34, 45的全部排列. 31425是一个符合要求的排列, 而25341不符合要求. 因为出现的34模式. 这个问题可以利用容斥原理来解决.设Ai表示出现i(i+1)模式的全体排列, i=1,2,3,4. 符合要求的排列是这些模式都不出现. 用Q5
10、来表示符合要求的排列总数.,28,容易计算出: |Ai|=4!, i=1,2,3,4.|A1A2|中排列含有模式123, 其中排列的总数=123,4,5排列总数. 所以, |A1A2| =(5-2)!=3!类似有: |AiAi+1|=(5-2)=3!, i=2,3.,29,|AiAj| (ji+1)中的排列包含有i(i+1), j(j+1), 这样总数等于这两个模式和其余5-4=1个数的排列数目=3! 类似的分析可以得到: |AiAj Ak|= (5-3)!=2!, |A1A2 A3A4|=(5-4)!=1.,30,这个问题可推广到一般情形:,31,4. 欧拉函数欧拉函数(n)表示小于n且与n
11、互素的正整数的个数. 可利用容斥原理给出其计算公式.可设n可分解为不同的素数p1,p2,pk之积:,令Ai表示N=1,2, ,n中能被pi整除的 数的集合, i=1,2,k. 则|Ai|=n/pi, i=1,2,k. 由于当ij 时pipj, 故,32,33,5. 棋盘多项式*棋盘布局问题: 设有一个棋盘C, 如果能把k个棋子布在棋盘上, 使得每行每列至多有一个棋子, 也就是说当一个棋子置于棋盘的某一格时, 这一格子所在的行和列都不能再布其他任何棋子. 这样的一个布局则称为棋盘C的一个k-布局, 用rk(C)表示棋盘C不同k-布局的总数.,34,(2) 需要注意的问题:棋盘C不一定是规则的,
12、如果C有m行, n列, 则C可以看作是mn标准棋盘的一个残棋盘.rk(C)=0当且仅当C不存在k-布局. 比如当kminm, n时候, rk(C)=0.由于棋盘的布局数关于棋盘的转置是不变的, 从理论上来讲, 可以假定所讨论的棋盘恒满足mn. 约定r0(C)=1.,35,例6.3 设C是一个55棋盘, 那么C的一个5-布局相当于1,2,3,4,5的一个排列. 如下图所示的布局: 第1行的棋子在第4列, 第2行的棋子在第1列, 第3行的棋子在第3列, 第4行的棋子在第5列, 第5行的棋子在第2列, 故所对应的排列: 41352.,36,显然r5(C)=5!. 由此可见, 规则的棋盘布局问题应该是
13、容易解决的, 总可以化为无重复排列问题. 但是任意形状的残棋盘的布局问题比较复杂. 例如下面形状的棋盘:,可以建立棋盘的矩阵表示, 用(0,1)矩阵来表示一个棋盘. 方法如下:,37,设C是一个m行, n列但形状任意的棋盘, 则C可看作是mn完整棋盘的一个残棋盘.可以用一个mn阶的(0,1)矩阵来表示. 有格子的位置元素为1, 无格子的地方元素为0, 这样所得到的矩阵称为棋盘C的关联矩阵, 记为A(C).,关联矩阵为,38,棋盘与关联矩阵互相唯一确定. 如果把位于同一行或同一列的元素称为“共线”, 则棋盘C的一个k-布局对应其关联A的k个两两不共线的非零元素组(实质上就是k个不共线的1). 这
14、样rk(C)=关联矩阵A中非零且两两不共线的k-元组的个数. 下面看一些特殊情况:r1(1,1)=2:,39,但 r2(1,1)=0.,(3) 棋盘多项式(母函数): 对于给定的棋盘C, 称多项式,为棋盘C的棋盘多项式, 其中: n=minC的行数, C的列数.,40,设棋盘C在(i,j)位置有一个格子, 用Cij表示把这个格子所在的行和列中的格子都去掉后余下的格子所构成的棋盘, 这时相应的关联矩阵A(Cij)相当于A(C)中(i,j)-元素的余子阵.这时Cij的行数和列数都减少了1.设棋盘C在(i,j)位置有一个格子, 用Dij表示把这个格子去掉余下的格子所构成的棋盘, 这时关联矩阵A(Di
15、j)相当于把A(C)中(i, j)位置上的1变为0.,41,对棋盘进行这样的“手术”目的是把计算rk(C)的问题进行降阶. 下面用具体例子演示一下手术过程:先用形象的棋盘形式:,C:,关于兰色格子的手术有C11和D11如下:,C11:,D11:,42,虚线表示从原棋盘中去掉的部分. 如果采用关联矩阵:,0,43,假设选定了具体的格子(i,j), 那么全部rk(C)个k-布局可以分成两类:第一类: 其中包含(i,j)格, 这类k-布局的总数=rk-1(Cij);第二类: 其中不包含(i,j)格, 这类k-布局的总数=rk(Dij);由加法原理和棋盘多项式定义得到: rk(C)=rk-1(Cij)
16、+rk(Dij) (6.2) R(C)=xR(Cij)+R(Dij) (6.3),44,例如, R(1)=r0(1)+r1(1)x=1+xR(1,1)=xR( )+R(1)=x+(1+x)=1+2x,利用(6.2),(6.3)可以把任何复杂的棋盘多项式的计算逐步分解为相对比较简单的棋盘的多项式计算.,45,一种结构分离的棋盘棋盘多项式计算.若棋盘C是由互相分离的两部分C1和C2组成, 这里所说的C1和C2两棋盘互相分离, 指的是它们没有共同的行或列. 一个棋盘为结构分离棋盘当且仅当其其对应的关联矩阵为如下形式:,46,这时C的棋盘多项式的计算可以化为其两个分离块C1, C2棋盘多项式计算:,所
17、以: R(C)=R(C1)R(C2). (6.4),47,看一些简单棋盘多项式的计算:,48,49,6. 禁位排列所谓“禁位排列”, 是指在一个排列中禁止某些元素占据某些位置. 错排是禁位排列的一种特殊情况. 例6.4 有张、王、李、赵四位教师, 有数学、物理、化学、英语四门课程. 已知张不能教物理, 王不能教物理和化学, 李不能教化学和英语, 赵不能教英语. 若使每位教师教各自承担力所能及的一门课程, 问有多少种安排方案?,50,这就是一个禁位排列的问题. 我们的目的是计算禁位排列的个数.这个问题可以利用容斥原理化为棋盘布局问题来解决. 我们讨论一般情况.定理 设有n个棋子布入nn的棋盘,
18、则有禁位的排列数为 Qn=n!-r1(n-1)!+r2(n-2)!- +(-1)n-1 rn-11! +(-1)n rn0! 其中ri为有i个棋子落入禁区的方案数.,51,证. 设Ai为第i个棋子落入禁区的排列的集合, i=1,2,n如果一个棋子落入禁区的方案数目为 r1, 那么剩下的n-1个棋子可任意排列, 所以: |Ai|=r1(n-1)!. 如果两个棋子落入禁区的方案数目为 r2, 那么剩下的n-2个棋子可任意排列, 所以: |AiAj|=r2(n-2)!. 依次类推. 由容斥原理, 可以得到:,52,由此可见, 计算禁位排列的关键问题是计算ri(i=1,2,n). 而ri(i=1,2,
19、n)正好是禁位所组成的残棋盘C的i-布局数ri(C).这样就可以利用棋盘多项式来计算.,(6.5),53,下面是例6.4所对应棋盘, 行分别表示张,王,李,赵四位老师, 列分别表示数,理,化,英四门课程, 问题就是决定不进入阴影部分的4-布局的个数:,张,王,李,赵,数,理,化,英,54,解 这个问题实际上是有禁位的排列, 其禁区就是刚才图中的阴影部分. 由上面的计算知道图6.5中的禁区棋盘多项式为 1+6x+10 x2+4x3 故有 r1=6, r2=10, r3=4, r4=0. 因此, 由公式(6.5), 所求安排方案数为: Q4=4!-63!+102!-4=4.,55,例 有红色和绿色的一对骰子,抛掷这对骰子6次,假设已知有序对(1,2), (2,1), (2,5),(3,4),(4,1),(4,5)和(6,6)不会出现,求6次抛掷后,红色和绿色骰子都掷出所有6个点数的抛掷种数a。,解:构造棋盘如下,其中行表示红色骰子上的输出,列表示绿色骰子上的输出,56,设Ai为抛掷骰子6次后,6个点数都出现在红色骰子和绿色骰子上,但红色骰子上的点数为i时,其对应的绿色骰子上的点数为一个禁用数字。则,57,四. 课后学习任务,预习: 有关反演的内容 作业题: II: 2, 10 或III: 3.2, 3.10,再见,