本文属于「离散数学」系列文章之一。这一系列着重于离散数学的学习和应用。由于内容随时可能发生更新变动,欢迎关注和收藏离散数学系列文章汇总目录一文以作备忘。此外,在本系列学习文章中,为了透彻理解数学知识,本人参考了诸多博客、教程、文档、书籍等资料。以下是本文的不完全参考目录,在后续学习中还会逐渐补充:
- (国外经典教材)离散数学及其应用 第七版
Discrete Mathematics and Its Applications 7th
,作者是Kenneth H.Rosen
,袁崇义译,机械工业出版社- 离散数学 第二版,武波等编著,西安电子科技大学出版社,2006年
- 离散数学 第三版,方世昌等编著,西安电子科技大学出版社,2013年
- (经典参考书及其题解)离散数学/离散数学——理论•分析•题解,左孝凌、李为鉴、刘永才编著,上海科学技术文献出版社
- 离散数学习题集:数理逻辑与集合论分册,耿素云;图论分册,耿素云;抽象代数分册, 张立昂。北京大学出版社
3. 容斥原理
集合的运算可用于解决有限集合的计数问题。根据集合运算的定义,显然有以下各式成立:
(a) ∣ A 1 ∪ A 2 ∣ ≤ ∣ A 1 ∣ + ∣ A 2 ∣ |A_1 \cup A_2 | \le |A_1| + |A_2| ∣A1∪A2∣≤∣A1∣+∣A2∣
(b) ∣ A 1 ∩ A 2 ∣ ≤ min ( ∣ A 1 ∣ , ∣ A 2 ∣ ) |A_1 \cap A_2| \le \min(|A_1|,\ |A_2|) ∣A1∩A2∣≤min(∣A1∣, ∣A2∣)
(c) ∣ A 1 ∣ ≥ ∣ A 1 − A 2 ∣ ≥ ∣ A 1 ∣ − ∣ A 2 ∣ |A_1| \ge |A_1 - A_2 | \ge |A_1 | - |A_2| ∣A1∣≥∣A1−A2∣≥∣A1∣−∣A2∣
(d) ∣ A 1 ⊕ A 2 ∣ = ∣ A 1 ∣ + ∣ A 2 ∣ − 2 ∣ A 1 ∩ A 2 ∣ |A_1 \oplus A_2 | = |A_1| + |A_2| - 2|A_1 \cap A_2| ∣A1⊕A2∣=∣A1∣+∣A2∣−2∣A1∩A2∣
计数问题求解的两个最基本规则是加法原理 addition principle
和乘法原理 multiplication principle
。本节讲解加法原理及其拓展容斥原理,【离散数学】集合论 第三章 集合与关系(5) 集合的笛卡尔积、笛卡尔积对交/并的分配律、集合计数的乘法原理则讲解乘法原理。
3.1 集合计数的加法原理
加法原理:如果 A 1 , A 2 , … , A n A_1, A_2, \dots, A_n A1,A2,…,An 是 n n n 个两两互不相交的集合,那么这 n n n 个集合的并集的元素个数为这 n n n 个集合中的元素个数之和:
∣ A 1 ∪ A 2 ∪ ⋯ ∪ A n ∣ = ∣ A 1 ∣ + ∣ A 2 ∣ + … ∣ A n ∣ |A_1\cup A_2\cup \dots \cup A_n| = |A_1| +|A_2| +\dots |A_n| ∣A1∪A2∪⋯∪An∣=∣A1∣+∣A2∣+…∣An∣
例1 某学校的通信工程、电子工程和软件工程三个专业分别开设 20 , 25 , 30 20, 25, 30 20,25,30 门不同的专业课程,若一同学要从中挑选一门选修课,问共有多少种可能的选择?
解:该同学可从通信工程专业开设的 20 20 20 门专业课中任选一门作为选修课,也可以从电子工程专业开设的 25 25 25 门专业课任选一门作为选修课,还可从软件工程专业开设的 30 30 30 门专业课中任选一门作为选修课。因此共有 20 + 25 + 30 = 75 20+25+30=75 20+25+30=75 种可能的选择。
定理3.1 设 A 1 , A 2 A_1, A_2 A1,A2 是有限集合,其元素个数分别为 ∣ A 1 ∣ , ∣ A 2 ∣ |A_1|, |A_2| ∣A1∣,∣A2∣ ,则 ∣ A 1 ∪ A 2 ∣ = ∣ A 1 ∣ + ∣ A 2 ∣ − ∣ A 1 ∩ A 2 ∣ |A_1\cup A_2| = |A_1| + |A_2| - |A_1\cap A_2| ∣A1∪A2∣=∣A1∣+∣A2∣−∣A1∩A2∣ 。
证明 分两种情况讨论如下:
- 若 ∣ A 1 ∩ A 2 ∣ = ∅ |A_1 \cap A_2| = \varnothing ∣A1∩A2∣=∅ ,即 ∣ A 1 ∩ A 2 ∣ = 0 |A_1\cap A_2| = 0 ∣A1∩A2∣=0 ,则根据加法原理有 ∣ A 1 ∪ A 2 ∣ = ∣ A 1 ∣ + ∣ A 2 ∣ |A_1 \cup A_2 | = |A_1 | +|A_2| ∣A1∪A2∣=∣A1∣+∣A2∣
这时公式显然成立。 - 若 A 1 ∩ A 2 ≠ ∅ A_1\cap A_2 \ne \varnothing A1∩A2=∅ ,则根据 ( A 1 − A 2 ) ∪ ( A 1 ∩ A 2 ) = A 1 (A_1 - A_2) \cup (A_1 \cap A_2) = A_1 (A1−A2)∪(A1∩A2)=A1 且 ( A 1 − A 2 ) ∩ ( A 1 ∩ A 2 ) = ∅ (A_1 - A_2) \cap (A_1 \cap A_2) = \varnothing (A1−A2)∩(A1∩A2)=∅ 可得
∣ A 1 ∣ = ∣ A 1 − A 2 ∣ + ∣ A 1 ∩ A 2 ∣ |A_1| = |A_1 - A_2 | + |A_1 \cap A_2| ∣A1