本文最后更新于:2022年7月27日 凌晨
『组合数学』3. 容斥原理与鸽巢原理
3.1 容斥原理引论
主要研究有限集合的交或者并的计数
⊂ ∪ ∩
DeMorgan定理
A∪B=A∩B
A∩B=A∪B
广义DeMorgan定理
A1∪⋯∪An=A1∩⋯∩An
A1∩⋯∩An=A1∪⋯∪An
3.2 容斥原理
主要研究有限集合并的计数
∣A∪B∣=∣A∣+∣B∣−∣A∩B∣
广义:对n个有限集合
∣A1∪⋯∪An∣=∣A1∣+⋯+∣An∣−(∣A1∩A2∣+⋯)+(∣A1∩A2∩A3∣+⋯)
3.3 容斥原理基本举例
例题1:a, b, c ,d ,e, f的全排列中不允许出现ace和df的图像的排列数
例题2:不超过120的素数的个数
3.4 再谈错排
根据DeMorgan定律A1∪⋯∪An=A1∩⋯∩An
或者按照错排的元素个数进行枚举
得到
Dn=n!(1−1!1+2!1++(−1)nn!1)
稍进一步,对于特定元素的错排
例题:对于8个字母ABCDEFGH的全排列中,求使得A,C,E,G四个字母不在原来位置上的错排数目
3.5 棋盘多项式与有限制排列
基本表示:
对于5×5的棋盘41352: 第一行位于第四列,类推
并可推广至任意形状
定义1:设C为一棋盘,则称R(C)=∑k=0∞rk(C)xk为C的棋盘多项式
并规定r0(C)=1包括C为空集时的状态
此时令Ci为某一个格子去掉行列所在的棋盘,Ce为原棋盘此位置不放子,
显然有rk(C)=rk−1(Ci)+rk(Ce)
于是有了R(C)=xR(Ci)+R(Ce)
并且对于相互棋盘C由相互分离的C1,C2两部分组成,则
R(C)=R(C1)R(C2)
对于有禁区的排列
定理:ri为i个棋子步入禁区的方案数,i=1,2,3,⋯,n,有禁区的布子方案数为
r0n!−r1(n−1)!+r2(n−2)!+⋯+(−1)nrn
-
证明
令Ai为第i个妻子步入禁区,其他棋子任意的方案
则所有棋子都不步入进去的方案数为
∣A1∩A2∩⋯∩An∣=N−∣A1∪A2∪⋯∪An∣=N−(∣A1∣−∣A2∣⋯∣An∣)+⋯
=n!+∑k=0nrk(n−k)!
计算,确定r1,r2⋯,rn→R(c)
三论错排
错排问题显然是禁区为对角线上的元素
R(C)=∑k=0nC(n,k)xi
代入公式即:n!−1!n(n−1)!+2!n(n−1)×(n−2)!+⋯=n!(1−1!1+2!1+(−1)nn!1)
3.6 广义的容斥原理
一般公式
前提:在集合S上讨论不同性质形成的子集A1,⋯,An,假定0≤m≤n
有α(m)=Δ=∑∣Ai1∣
例题:n对夫妻围圈而坐,每对夫妻都相邻的方案有多少nn!2n
引申:n对夫妻围圈而坐, 每个男人都不和他的妻子相邻有多少种可能的方案
再引申:n对夫妻围圈而坐,男女相间,每个男人不和他的妻子相邻,有多少种可能的解决方案?
例题:线性方程x1+x2+x3=15,满足:0≤x1≤5,0≤x2≤6,0≤x3≤7
解法1:变换成无限制的非负数即可
解法2:容斥原理:令Ai为变量xi不满足限制条件的解集
则有:∣A1∩A2∩A3∣=C(3+15−1,15)−∣A1∣−∣A2∣−∣A3∣+⋯
其中∣A1∣=(y1+6+x2+x3)→C(3+9−1,9)=55
3.7 Mobius反演
- 基本思想:{an} 易算,{bn}不易算,{an} 可用{bn}表示,利用反演,将{bn}用{an}表示
-
二项式反演
-
引理:∑k=mn(−1)m+kC(n,k)C(k,m)={1,m=n0,m<n
-
证明C(n,k)C(m,k)=C(n,m)C(n−m,k−m)
易得,转换一下就行
-
定理an=∑k=0n(−1)kC(n,k)bk⇔bn=∑k=0n(−1)kC(n,k)ak
-
代数证明:
k=0∑n(−1)kC(n,k)ak=k=0∑n(−1)kC(n,k)l=0∑k(−1)lC(k,l)bl=k=0∑nl=0∑k(−1)k+lC(n,k)C(k,l)bl=l=0∑nk=l∑n(−1)k+lC(n,k)C(k,l)bl=l=0∑nblk=l∑n(−1)k+lC(n,k)C(k,l)
-
第一次变换:
两个求和号交换。矩阵加法(有限的),行列交换
下三角矩阵的求和,(脑子里想一下)
-
第二次变换:引理
对称性反之显然
-
容斥原理证明:
设集合中具有此性质的集合分别是Ai
则不具有次性质的集合为:
TODO
-
推论,an=∑k=0nC(n,k)bk⇔bn=∑k=0n(−1)n−kC(n,k)ak
-
第四次错排
-
解:
Ak表示恰好k个位置保持不变,Dk,恰好k个位置错排
则有n!=∑k=0nC(n,k)∣Ak∣=∑k=0nC(n,k)Dn−k
令n−k=l则上式子变为
n!=∑l=0nc(n,l)Dl
-
Mobius反演
定义μ(n)=⎩⎪⎨⎪⎧1,if:n=10,∃i,s.t.αi>1(−1)k,αi=1,i=1,2,3,⋯k
定理3-7-11对于任意正整数n,
有∑d∣nμ(d)={1if:n=10if:n>1
-
证明
∑d∣nμ(d)=∑d∣n1μ(d)=μ(1)+∑j=1k∑l∈T(k,j)μ(∏i∈lpi)=1+∑j=1kC(k,j)(−1)j=0
取j个因子,找到所有组合,即是二项式系数
定理3-7-2 Mobius反演定理:对于f(n)和g(n)定义在正整结合上的两个函数若f(n)=∑d∣ng(d)则g(n)=∑d∣nμ(d)f(dn), 反之亦然
3.8 鸽巢原理
- 若有n个鸽子巢,n+1个鸽子,则至少有一个巢内有至少两个鸽子
例题:
17-7设a1,a2,a3为任意的3个整数,b1b2b3为a1,a2,a3的任意排列,则a1−b1,a2−b2,a3−b3至少有一个是偶数
-
解答
三个数中必有两个同奇偶,假设这三个数被2除的余数为xxy,于是b1,b2,b3中被2除的余数有两个x,一个y,则被2除的余数必有一个数是零
X为9个正整数的集合,E⊆X,S(E)为集合E的元素的和,n是X的元素的最大值,求n的值,使得X至少存在两个集合A和B使得S(A)=S(B)
3.9 Ramsey问题
- eg : 6个人中至少存在 3人相互认识或相互不认识
- K6的边2着色,必存在同色三角形
- 推论:
- K6的边用红蓝任意着色,至少有两个同色的三角形
- K9的边红蓝任意着色,则必有红K4或蓝三角形(蓝K4或红三角形)
- K18的边红蓝2着色,比存在红K4或蓝K4
3.10 Ramsey数
给定一对正整数a,b 存在一个最小的正整数r,对r个顶点的完全图任意红蓝2着色,存在a个顶点的红边完全图或b个顶点的蓝边完全图,记为r(a,b)
则有:r(3,3)=6, r(3,4)=9,r(4,4)=18
-
简单性质
-
r(a,b)=r(b,a)
-
r(a,2)=r(2,a)=a
-
对∀a,b≥2,r(a,b)∃
-
r(a,b)≤r(a−1,b)+r(a,b−1)
-
证明
dr(v)+db(v)=r(a−1,b)+r(a,b−1)−1
决策树判定
-
r(a,b)≤C(a+b−2, a−1)
-
Ramsey数推广
- k着色
- r(a1,a2,⋯,an)≤r(a1,r(a2,⋯,an))
回顾
本章节内容不多,觉得证明也没有上一章那么“数学”些。
整体内容也正如章节的名字一样:容斥原理与鸽巢原理,其余都能从中看到联系
容斥原理
基本的东西在上学期概率统计就学过一部分。通过“抽屉”的推拉来不断达到真实数值。
简单应用不必多说,首先便是错排的应用:
以Ai表示第i个元素排列正确的排列数,显然有Ai=(n−1)!,进一步错排的种数即是:A1∪⋯∪An=A1∩⋯∩An=∣A1∣+⋯+∣An∣−(∣A1∩A2∣+⋯)+⋯
Dn=n!(1−1!1+2!1++(−1)nn!1)
棋盘多项式
棋盘多项式即是对一 ”方格“组成的棋盘,讨论棋子不同行同列的排布数,比较有名的八皇后问题便属于此类
可知显然有以下推论:由R(C)表示棋盘C的棋盘多项式
此时令Ci为某一个格子去掉行列所在的棋盘,Ce为原棋盘此位置不放子,
显然有rk(C)=rk−1(Ci)+rk(Ce)
于是有了R(C)=xR(Ci)+R(Ce)
并且对于相互棋盘C由相互分离的C1,C2两部分组成,则
R(C)=R(C1)R(C2)
-
对于有禁区的棋盘,同样使用容斥原理应用:
每一个棋子都不位于禁区即等于N减去每个分别位于禁区+每两个棋子分别位于禁区……
清晰表示即:
∣A1∩A2∩⋯∩An∣=N−∣A1∪A2∪⋯∪An∣=N−(∣A1∣−∣A2∣⋯∣An∣)+⋯ =n!+∑k=0nrk(n−k)!
而错排与棋盘正如对角线的元素都是禁区的情况,此时禁区的棋盘多项式为R(c)=(1+x)n。则有相同的结果
Mobius反演
到了数论部分就有点蒙了。。大体便是一个已算的多项式能被一个不易算的多项式如此的表示出来,便能用易算的反演表示不易算的多项式
- 目前还没怎么接触相关例子,也比较愚笨理解不佳,希望以后有机会能来补上
- 不过对于第一条定理的证明倒是羞愧,写过那么多for循环对于代数证明的变换竟然开始比较云里雾里
鸽巢原理
是个相对简单的原理,但是在实际运用上还是需要思考好久
Ramsey 问题
图论中的部分知识,部分推论如下:
-
K6的边用红蓝任意着色,至少有两个同色的三角形
-
K9的边红蓝任意着色,则必有红K4或蓝三角形(蓝K4或红三角形):
进一步解释为要么出现同色K4,要么至少同时出现两种颜色的三角形。
-
K18的边红蓝2着色,比存在红K4或蓝K4
证明往往使用判断树进行判断,比较麻烦遍不多赘述,
往往判断树的第一步都使用了鸽巢原理
K18证明最容易简单写一下
- 鸽巢原理以一点引出的17条边中至少一种颜色的边数di≥9,
-
若为红色的边,这九个顶点中使用推论2,
-
若有K4证毕
-
若无则其中至少有一个红三角形(其实同时有两种三角形,所以蓝色的同理)
红三角形与初始点连接这三个点的三条边组成红K4得证
-
若为蓝色的边,这九个顶点中使用推论2,
-
若有K4证毕
-
若无则其中至少有一个蓝三角形
蓝三角形与初始点连接这三个点的三条边组成蓝K4得证