离散数学(三)——集合与计数

一、集合的基本计算
1.集合交
两个集合的交记为 ,其中的元素满足:
也即元素需要同时属于这两个集合。
一个集合族具有广义交,记为 ,定义如下:
在常见的情况下,集合族表示为 ,此时可以写为:
集合交显然具有交换律、结合律、幂等律:
同时,集合之交与子集的关系有:
2.集合并
两个集合的并记为 ,其中的元素满足:
也即元素只需属于这两个集合中的某一个即可。
一个集合族具有广义并,记为 ,定义如下:
在常见的情况下,集合族表示为 ,此时可以写为:
集合交显然具有交换律、结合律、幂等律:
同时,集合之交与子集的关系有:
3.集合差与补
两个集合的差记为 ,其中的元素满足:
集合差显然是不满足交换律、结合律、幂等律的。在集合差的基础上,可以引出集合补的定义。全集 与集合 的差称为集合 的绝对补,一般简称为补,记为 :
集合差满足下述等式:
4.集合对称差
集合的对称差是将两个集合的并剔除掉其集合交之后的集合,记为 :
集合的对称差显然满足交换律、结合律,即:
5.幂集
一个集合 的幂集是一个集合族,记为 或 。集合 的幂集中的元素是集合 的所有子集,即:
这意味着对于任何集合来说,空集及其本身都是其幂集的元素(注意是元素不是子集),空集 这个元素需要显式地写出来。比如集合 ,其幂集是:
空集是一个特殊的集合,关于它有一些注意事项:
可以看到在空集的幂集中,“属于”比“子集”要严格得多。
幂集运算会保持子集关系,这是说若 ,那么 。
另外,对集合 的幂集使用广义并,可以使其恢复为集合 。这是因为集合本身必是幂集的元素,而幂集中的其他元素都是这个集合的子集:
用 表示集合中的元素个数。生成 的幂集时,可以用二进制串标记每个元素是否出现:不出现记为 ,出现记为 。
例如 时,二进制串 对应子集 , 对应空集。遍历全部长度为 的二进制串,恰好生成 的所有子集。因此:
6.划分
将一个集合 划分为几个互不相交的部分,每个部分自成一个集合,那么这些集合就可以形成一个集合族,称为 的划分,记为 。划分中的每一个集合称为一个划分块。显然地有:
划分中的元素——是一个集合——不是空集,即任意 都有 ;划分中的任意两个元素都不相交,即交集为空集: ;划分的各个部分可以合成为原集合,也就是划分的广义并为原集合本身: 。
二、集合等式与子集关系
1.集合等式
集合运算与逻辑运算间极其相似。集合与可以看做逻辑与,集合并可以看做逻辑或,集合补可以看做逻辑非,全集可以看做真,空集可以看做假。在此基础上,我们可以给出关于集合的基本等式:
表 1 集合等式
| 序号 | 名称 | 集合等式 |
| 1 | 同一律 | |
| 2 | 零律 | |
| 3 | 矛盾律 | |
| 4 | 排中律 | |
| 5 | 双重否定律 | |
| 6 | 幂等律 | |
| 7 | 交换律 | |
| 8 | 结合律 | |
| 9 | 分配律 | |
| 10 | 吸收律 | |
| 11 | 德摩根律 | |
| 12 | 集合差等式 | |
| 13 | 相对德摩根律 |
其中,相对德摩根律有一点分配律的样子,但需要注意相对德摩根律会使交和并互换。
2.子集关系
子集关系其实已经在之前陈述过,这里再统一说明一次:
(1)集合交:
两个集合的交集必是两个集合的子集:
两个集合的交集的子集必是两个集合的子集:
交运算保持子集关系:
因此可用下式判断子集关系:
(2)集合并:
两个集合必是两个集合的并集的子集:
两个集合的并集是另一集合的子集,则两个集合必是另一集合的子集:
并运算保持子集关系:
因此可用下式判断子集关系:
(3)集合差:
两集合之差必是前一个集合的子集:
因此可用下式判断子集关系:
这实际等价于:
(4)幂集:
幂集运算保持子集关系:
两个集合的幂集之并,是两个集合之并的幂集的子集(反之则不一定):
两个集合之交的幂集,是两个集合的幂集之交:
三、计数
现在我们讨论集合中元素个数的问题,也就是组合数学中的计数问题。
1.加法原理
对于集合 ,有的时候给出它的一个划分 会更简单,那么 中的元素个数就是划分中的所有集合中元素个数之和,即:
2.乘法原理
假设有集合 ,那么由这些集合的笛卡尔积形成的集合 中的元素是一个 元组 ,那么能生成的 元组个数,也就是 中元素的个数是:
3.减法原理
在任意有穷集的情况下,两个集合 之间有:
在 的特殊情况下上式就是减法原理:
这也可以表述为:已知 ,那么为了得到 的元素个数,显然可以通过从全集中剔除掉不属于 的元素来计数。
4.除法原理
假设有两个集合 ,对任意 中元素总有 个 中元素与之对应,那么显然有:
在特殊情况下,也就是一一对应的情况,那么就有:
5.容斥原理
最简单的情况下,两个集合 的容斥原理是:
三个集合时:
当然也可以进一步扩展为 个集合的情况:
6.鸽笼原理
我们直接介绍广义鸽笼原理。若要将 个物品放入 个盒子,那么至少有一个盒子至少有 个物品。将这个数称为最小容量。因此: