首页 > 其他分享 >组合数学课程笔记(四):容斥原理

组合数学课程笔记(四):容斥原理

时间:2023-03-24 20:36:25浏览次数:37  
标签:begin end dfrac sum 容斥 笔记 pmatrix 数学课程

\[一切繁复都洗涤,却染上重叠的星 \]

容斥原理

image

是容斥原理的基本公式。

但是我们并不经常的使用这个公式本身,我们一般使用这个公式的推论:

image

具体的理解这个式子,就是在全集 \(\mathbb{U}\) 中,我们有若干个子集 \(A_i\),其中的元素是坏的。现在我们需要找到不被任何子集包含的元素个数。

容斥原理的证明

使用集合论和数学归纳法,是容易证明的。但是如果从概率的角度来说,我们就有更好的方法证明它。

我们设事件 \(X_i\) 为随机选一个元素,子集 \(A_i\) 中的元素被选中。然后取它的指示随机变量 \(I(X_i)\in\{0,1\}\) 表示事件 \(X_i\) 的发生与否。

然后,又有对于两个随机事件 \(A,B\),\(I(AB)=I(A)I(B)\),由于满足结合律,我们就可以推广到 \(I(\bigcap X_i)=\prod I(X_i)\)。

同时,\(I(\overline A)=1-I(A)\),所以 \(I(\bigcap \overline X_i)=\prod (1-I(X_i))\)。

也就等于 \(\sum_{S\subseteq\mathbb{U}}(-1)^{|S|}\prod_{i\in S}I(X_i)\)。

回代公式 \(\sum_{S\subseteq\mathbb{U}}(-1)^{|S|}I(\bigcap_{i\in S} X_i )\)。

然后对两边取期望,指示随机变量的期望就是该事件的概率

\(P(\bigcap \overline X_i)=\sum_{S\subseteq\mathbb{U}}(-1)^{|S|}P(\bigcap_{i\in S} X_i )\)

\(\dfrac{|\bigcap \overline A_i|}{|\mathbb{U}|}=\sum_{S\subseteq\mathbb{U}}(-1)^{|S|}\dfrac{|\bigcap_{i\in S}A_i|}{\mathbb{|U|}}\)

两边约去 \(\mathbb{U}\),得到推论公式。

容斥原理和集合划分

我们知道集合划分是斯特林数,等价于满射个数问题,那么我们就来尝试数满射个数。

我们可以设 \(r_k\) 为至少有 \(k\) 个位置没有被射到的映射个数,很容易得到 \(r_k=\begin{pmatrix}n\\k\end{pmatrix}(n-k)^n\)

然后我们就可以直接容斥得到答案 \(\sum_{k\le 0}(-1)^kr_k\),下标替换 \(k=n-k\) 得到 \(\sum_{k\le 0}(-1)^{n-k}\begin{pmatrix}n\\k\end{pmatrix}k^n\)。

然后斯特林数是不考虑顺序的满射个数,也就是要除以 \(|\pi|\),那么 \(\begin{Bmatrix}n\\k\end{Bmatrix}=\dfrac{1}{n!}\sum_{k\le 0}(-1)^{n-k}\begin{pmatrix}n\\k\end{pmatrix}k^n=\sum_{k\le 0}\dfrac{(-1)^{n-k}k^n}{k!(n-k)!}\)

容斥原理的优势和劣势

容斥原理的优势在于,我们只需要数“至少有 \(k\) 个位置满足某某条件”的方案个数,而不必要数“恰好有 \(k\) 个位置满足某某条件”的方案个数。也就是,我们不需要考虑算重的问题。

但是,容斥原理的公式形式决定了我们很难得到没有 \(\sum\) 的封闭形式。

错排问题

错排问题可以表述成满足 \(i\neq\pi(i)\) 的排列个数。

我们记 \(r_k\) 为至少有 \(k\) 个位置满足 \(i=\pi(i)\) 的排列个数,那么容易得到 \(r_k=\begin{pmatrix}n\\k\end{pmatrix}(n-k)!\)。然后就可以直接容斥原理求得答案为 \(\sum (-1)^k\begin{pmatrix}n\\k\end{pmatrix}(n-k)!=n!\sum\dfrac{(-1)^k}{k!}\)。

我们发现,\(\sum_k \dfrac{(-1)^k}{k!}\) 其实就是 \(e^{-1}\) 的泰勒展开式的前 \(n\) 项,所以 \(n!\sum\dfrac{(-1)^k}{k!}\sim \dfrac{n!}{e}\),也就是概率是个常数。

生成函数和容斥原理

我们可以设 \(x_i\) 为选择 \(i\) 的个数的随机变量,然后每个位置可以映射到除了子集以外的所有值,也就是它对答案的贡献是 \(x_1+x_2+\cdots x_{i-1}+x_{i+1}\cdots +x_n\)。但是这样有点麻烦,我们就记 \(s=\sum x_i\),那么贡献就是 \(s-x_i\)

然后我们要求的答案就是 \(\prod (s-x_i)\) 的第 \(\prod_{i\le n}x_i\) 项系数。那么我们就枚举其中有 \(k\) 个来自 \(-x_i\),剩下的 \(n-k\) 个自由安排来自某个 \(s\), 则为 \(\begin{pmatrix}n\\k\end{pmatrix}(n-k)!\)。所有的来自 \(-x_i\) 的都带系数 \(-1\),所以贡献要乘上 \((-1)^k\)。

我们就用生成函数在不同的含义和相似的形式下求出了错排数。

法兰西晚宴

对于一个圆环,安排 \(1\sim 2n\) 的所有数,使得 \([1,n]\) 的所有数都不相邻,\([n+1,2n]\) 的所有数都不相邻,\(i\) 和 \(i+n\) 不相邻。

我们可以先把 \([n+1,2n]\) 都先安排好,共有 \(2n!\) 种。然后就是对于 \(n\) 个数,每个位置不能选择自己在 \(n\) 长度的圆环上的对应点和其后继的方案数。

我们把这个排列问题映射成棋盘,也就是所有打 \(x\) 的位置不能选择,并且每行每列都只选择一个的方案数。

image

然后我们发现,我们就只要求出至少 \(k\) 个位置被选择为 \(x\) 的方案数。

然后,我们发现所有不能选的点构成一个长度 \(2n\) 的环,问题转化为求取在 \(m\) 的环上选 \(k\) 个不相邻的数的个数 \(C(m,k)\)。

首先,我们可以算在长度 \(m\) 的链上选择 \(k\) 个不相邻位置的方案数,先把这 \(k\) 个位置选走,我们发现,我们就是在剩下的 \(m-k\) 个位置种插板,方案数 \(L(m-k)=\begin{pmatrix}m-k+1\\k\end{pmatrix}\)。

然后,我们发现,如果把环上没有选取的位置断开一个得到的结果,和在链上的某个位置插入一个未选择的位置是相同的。那么就有 \((m-k)C(m-k)=mL(m-1,k)\)

解出 \(C(m,k)=\dfrac{m}{m-k}\begin{pmatrix}m-k\\k\end{pmatrix}\)

然后 \(r_k=\dfrac{2n}{2n-k}\begin{pmatrix}2n-k\\k\end{pmatrix}\)

也就得到答案为

image

标签:begin,end,dfrac,sum,容斥,笔记,pmatrix,数学课程
From: https://www.cnblogs.com/jucason-xu/p/17253233.html

相关文章

  • Deep Transfer Learning综述阅读笔记
    这是一篇linkedin发表的深度迁移学习综述,里面讲了一些对于search/recommendsystem中的迁移学习应用.有不少指导性的方法,看完后摘录出来对于ranking方向的TL,主要有......
  • 华为擎云L420笔记本统信UOS配置
    启动到UOS安装程序安装包可以直接从UOS的cdimage镜像下载,注意找名字有HISILICON、arm64字眼的ISO,不清楚是KLV还是KLU之类的话可以看固件设置里面怎么说。按F2进入固件设......
  • 论文阅读笔记(五):Hire-MLP Vision MLP via Hierarchical Rearrangement
    论文阅读笔记(五):Hire-MLP:VisionMLPviaHierarchicalRearrangement摘要先前的MLPs网络接受flattened图像patches作为输入,使得他们对于不同的输入大小缺乏灵活性,并且......
  • React Native学习笔记(二)————(RN)初始化项目
    一、创建ReactNative项目1.1、ReactNative有一个内置的命令行界面,你可以用它来生成一个新项目。您可以使用Node.js附带的访问它,而无需全局安装任何内容。让我们创建......
  • 0001-算法笔记分治法实现棋盘覆盖问题
    今天上课老师讲了分治法,下课后自己把程序碼了一遍,还是存在一个疑问--为什么每个方格都会填充到,在下面将会解决并叙述。    首先贴上程序:#include<stdio.h>#incl......
  • 算法笔记的笔记——第9章 树
    概念定义树枝分叉处、树叶、树根抽象为结点(node)树根抽象为根结点(root),一棵树最多存在一个根结点树叶抽象为叶子节点(leaf),不再延伸出新的结点茎干和树枝抽象为边(edge),一......
  • 【动画消消乐】纯CSS加载/过渡动画学习笔记合集(1-50)
    Hello!小伙伴!首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~自我介绍一下ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿一只|C++选手|学生简介:因C语言结识编程,随后转......
  • 设备管理笔记2-设备点检
    设备点检指什么?点检内容是什么设备点检指什么?点检内容是什么......
  • 设备管理笔记1-oee
    什么是oee类似于一种设备管理模型,如软件行业的质量模型、cmmi模型等指标包括什么?正常指标应该是多少,目前我们的指标为多少?制造行业存在的6大问题分别是什么......
  • win10原生功能:将笔记本作为台式主机副屏幕
    ​效果: 硬件要求:台式和笔记本均需要网卡,显卡驱动要新一点的准备工作:两台设备操作相同,同时进行,需安装图形工具,以下为操作步骤:点击左下角​编辑 =>设置​编辑 =>应用......