楼层: 小学/ 初中/ 高中/ 大学/集合论/ 研究生/ 算法/ 奥数
23

集合论

Set Theory · 一堆东西装在一个袋子里

【章首引子】"找既买过牛奶又买过面包的客户" = 交集;"买过牛奶或面包的" = 并集。SQL 里的 INNER JOIN 就是交集。整个数据库查询语言,底层就是集合论。

① 是什么:运算、关系、函数

啥集合运算与无穷

基本运算:∪ 并集(在 A 或 B)、∩ 交集(既在 A 又在 B)、− 差集(在 A 不在 B)、⊕ 对称差。笛卡尔积 A×B:所有配对 (a,b) 组成的集合。

关系与函数:笛卡尔积里挑一部分就是关系;函数是"一个输入只对应一个输出"的特殊关系。可数与不可数:自然数能一个个数出来(可数),实数连数都数不完(不可数)。康托对角线法证明实数比自然数"更高一级的无穷"。

② 怎么想到的

思解题心法

1

画韦恩图:∪∩− 一眼看清。

证集合论的核心定理与公式

核心定理:①二元容斥:$|A\cup B|=|A|+|B|-|A\cap B|$;三元 $= \sum|A_i|-\sum|A_i\cap A_j|+|A_1\cap A_2\cap A_3|$。②德摩根律:$\overline{A\cup B}=\overline{A}\cap\overline{B}$,$\overline{A\cap B}=\overline{A}\cup\overline{B}$。③计数:$|A\times B|=|A|\cdot|B|$,幂集 $|\mathcal{P}(A)|=2^{|A|}$。④映射:单射、满射、双射;定义 $|A|\leq|B|$ 为存在单射 $A\to B$。⑤康托尔定理:对任意集合恒有 $|A|<|\mathcal{P}(A)|$,故不存在"最大的无穷";实数集不可数。

推导思路:①把 $A\cup B$ 切成三块互不相交的部分:只在 $A$ 里的 $A\setminus B$、只在 $B$ 里的 $B\setminus A$、两边都有的 $A\cap B$,故 $|A\cup B|=|A\setminus B|+|B\setminus A|+|A\cap B|$。②同理拆分 $|A|=|A\setminus B|+|A\cap B|$ 与 $|B|=|B\setminus A|+|A\cap B|$。③把这两式相加:$|A|+|B|=|A\setminus B|+|B\setminus A|+2|A\cap B|$——交集被数了两次。④与①的结果相减,多出来的那一次 $|A\cap B|$ 被扣掉,得 $|A\cup B|=|A|+|B|-|A\cap B|$。

直觉把握:容斥原理说白了就是"加了重复的,得减回来",三元时还得把减多的补回去。AI/工程里,集合运算就是数据库 SQL 的 JOIN / UNION / EXCEPT;$|\mathcal{P}(A)|=2^{n}$ 揭示了特征组合爆炸的根源(这也是为什么要上 Lasso、树模型剪枝来做特征选择);德摩根律则是布尔检索、倒排索引里"取反条件"能被正确展开的依据。

2

笛卡尔积数个数:A 有 m 个、B 有 n 个,A×B 有 mn 个有序对。

3

分清单射/满射/双射:一对一、 onto、一一对应。双射 = 两个集合"一样大"。

③ 完整解法:三个例题

例题1:A={1,2,3,4}, B={3,4,5,6}
【审题】求交并。
思路:既在又在 / 在或在。
逐步解法:A∩B = {3,4};A∪B = {1,2,3,4,5,6}。
例题2:笛卡尔积个数
【审题】A 3 个元素、B 4 个。
思路:每个 a 配每个 b。
逐步解法:3×4 = 12 个有序对。
例题3:自然数和偶数一样多?
【审题】无穷集合比大小。
思路:能一一配对就一样大。
逐步解法:n ↔ 2n 一一对应,自然数集和偶数集等势。无穷世界里部分可以等于整体。
集合论核心 $A\cup B, A\cap B, A−B, A⊕B$  |  $|A\times B| = |A|\cdot |B|$
$\text{等价关系}(\text{自反}+\text{对称}+\text{传递})$  |  可数:自然数;不可数:实数(康托对角线)

④ 用途与案例

数据库 SQL

JOIN = 笛卡尔积 + 按条件筛选。整个数据库语言底层就是集合论。

社交网络

人与人的关注、好友、屏蔽,全是集合与关系运算。

数据分析

筛选、分组、去重——DataFrame 操作就是集合运算。

数学基础

现代数学从集合论出发,定义数、函数、拓扑——是整座大厦的地基。

⑤ 延展

展知识衔接地图

往研究生走:朴素集合论 → 公理集合论/数理逻辑(ZFC、连续统假设)。往算法走:关系代数是数据库查询优化的理论核心。

思维陷阱

以为"整体一定大于部分"。在无穷集合里失效:自然数和偶数一样大(能一一配对)。有限世界的直觉,到无穷世界全得重学。

练习

【基础】A={1,2,3}, B={2,3,4},A∩B=?

查看思路与解答{2,3}。
【自评反馈】和答案对得上 → 继续下一题;对不上 → 回到本页"是什么"和例题区,把卡住的那步再推一遍。

【进阶】实数集可数吗?

查看思路与解答不可数。康托对角线法:假设实数可数排成表,构造一个对角线上每位都不同的新实数,它不在表里——矛盾,所以实数不可数。
【自评反馈】和答案对得上 → 继续下一题;对不上 → 回到本页"是什么"和例题区,把卡住的那步再推一遍。
费曼学习法:讲给别人听
① 用自己的话讲:集合是"一堆东西",映射是集合间的对应;可数和不可数是"无穷也分大小"。
② 举个反例(什么条件下不成立):整体可以和部分一样多(自然数和偶数一样多);空集是任意集合的子集,但别把 ∈ 和 ⊆ 混为一谈。
③ 哪里还说不清:对角线法为什么铁了心证明实数比自然数多?
记
小结卡

① ∪并、∩交、−差;笛卡尔积 = 全部配对(SQL JOIN 的祖宗)。

② 无穷世界里部分可以等于整体;实数比自然数"更高一级的无穷"。