概念地图
容斥
重叠时交替加减各阶交集,把重复精确抵消。
深色为本章概念,浅色为其他章
陪练模式
不想只是读?让它带你走一遍。
导师把这一章拆成小步,每一步先问你,再讲;你用自己的话答,它先认下对的部分再纠偏。用你自己的 AI,对话只存在这台设备上。
定位01
延伸阅读
德·蒙莫尔 · 十八世纪初 · 错位排列问题
在一个纸牌配对游戏里提出「没有任何一张牌落在自己位置上的排列有多少」,并给出交替加减的解法。他反对的是逐一枚举;代价是当时这条解法只是针对该问题的技巧,没有一般形式。
奠基
西尔维斯特与后来的形式化 · 十九世纪
把交替加减写成任意有限多个集合上的一般公式,并给出归纳证明。这一步让它成为一条定理;代价是项数随集合个数指数增长,实用范围因此受限。
转向
邦费罗尼不等式 · 二十世纪初
指出容斥的部分和交替地高估与低估真值,因此截断后得到上下界。这是对「必须算全部项」的实用修正,也是本章第二条机制。
修正
布鲁迪 · 关于容斥原理的章节
本课对象。教材给出公式与错位排列的应用,本章要说清交替符号不是技巧,而是「每个元素被数的净次数恰好为 1」这一条算出来的。
本课对象
机制02
按净次数配平
第 1 章说过加法原理的唯一条件是不交。有重叠时怎么办?答案不是换一条新规则,而是回到那个双射:让每个元素在最终的计数里恰好被净数一次。容斥原理的交替符号完全由这个要求决定——它不是凑出来的,是解一个方程解出来的。
机制一个有重叠的并集通过交替加减各阶交集让每个元素的净计数恰好为一。
可迁移性测试
换到多渠道去重:一个用户可能同时出现在三个渠道的名单里,直接相加会重复。先加三个名单,再减去两两重合,再加回三渠道都有的那部分。不同构的地方在于现实名单的「同一个人」需要靠标识判定,可能判错,而集合论里元素相等是确定的。
机制03
截断给出界
容斥的项数随集合个数指数增长,全算往往不现实。这时可以只算前几项:奇数项停下来得到上界,偶数项停下来得到下界。这组邦费罗尼不等式把一个精确公式变成一个可停的近似过程,而且知道自己停在哪一侧。这是本课少见的「不算全也能有把握」的例子。
机制一个指数级的精确展开通过在某一项截断给出方向已知的上界或下界。
可迁移性测试
换到交替级数求和:部分和在真值两侧来回跳,因此任一部分和都给出一个界,而不只是一个近似。不同构的地方在于级数的界随项数递减而收紧,容斥的界不一定单调收紧,取决于交集大小的分布。
推导04
交替符号是解出来的,不是凑出来的
这一段要证的是容斥公式,并说明符号为什么必须是交替的。
集合 有限
定理前提。无限集合上并集大小的加减没有意义。
考察任一元素 ,设它恰好属于其中 个集合,
定理前提。 的元素不在并集里,不参与计数。
目标:每个 在公式中被净数恰好一次
定理前提,也是整条公式的设计要求;符号由它唯一决定。
推导 · 0 / 4
推导实例05
错位排列:容斥最标准的一次应用
封信随机装进 个信封,没有一封装对的概率是多少?
令 为「第 封装对了」,要数的是所有 都不发生的排列。
裂缝06
本章命题的边界
争议地形07
本书主张
容斥原理是处理重叠计数的通用工具:写出公式,逐项计算,得到精确答案。
另一种看法
近似与概率方法一线主张:在集合个数稍多时容斥的项数指数增长且各项数量级接近、符号相反,数值上极易失稳;实践中应当优先用截断界或随机化估计,而不是追求精确展开。
分歧扎在
分歧扎在「精确解与可计算性哪个优先」这一条上,而不在数学上。两边都承认公式正确,争的是它在什么规模下还值得用。
什么证据能裁决
能裁决它的是数值实验:在集合个数从小到大的一系列实例上,比较完整容斥与截断界(或抽样估计)的误差与耗时。若在某个规模之后完整展开的误差因浮点抵消而反超截断界,实用性主张成立。
目前的证据把天平压向「取决于交集大小的分布」:各阶交集迅速衰减时完整展开很好,衰减慢时截断界更稳。还差的是一个事前判断衰减快慢的判据——现有做法多是算了才知道。
边界与反例08
把「按净次数配平」的建模承诺写成可检验的规格
要检验的建模承诺是:现实中某次去重的各集合成员判定确定且可重复,因而容斥给出的净计数就是真实的去重结果。
去掉哪条假设:成员判定确定且可重复
容斥能对应现实的前提;判定不稳时各阶交集本身就不是一个确定的数。
该情形下的具体反例:同一套去重规则两次执行给出不同的交集大小(如按邮箱与按设备号识别同一人)
此时并不存在一个确定的交集可以代入公式。
这条承诺对应的可观测量:同一规则重复执行得到的各阶交集大小
必须是同一规则、同一批原始数据的重复执行。
什么观测算它不成立:重复执行的交集大小差异超过事前登记的阈值
阈值按数据本身的记录噪声事前定死。
事前登记的失败条件:差异超阈值,或容斥结果与独立全量去重的结果差距超阈值
两者都按承诺不成立处理。
推导 · 0 / 3
接口09
挂在哪个槽位
挂在哪个槽位你已有的那条结论多半是「重复的减掉就行」——一条关于去重的判断。本章要动的是它的完整形式。
本章对你已有的结构做的是 (a) 替换「减掉重复」这条结论,还是 (b) 约束它:两两减完还要把三重的加回来?
慢变量登记两个慢变量:你手上有几处去重涉及三个以上来源,以及其中有几处把三重部分加回来了。三天后先看第二个。
小结10
本章小结
01有重叠时不换新规则,只回到「每个元素净计数为一」这个要求。
02交替符号是那个要求的唯一解,由二项式定理解出,不是凑的。
03两个集合时它长得像「减重复」,三个以上就不是了。
04邦费罗尼不等式让展开可以中途停下,且知道停在真值的哪一侧。
05公式的实用前提是各阶交集可计算;这一条不满足时公式成立而无从下手。
提取练习 · 合上书,先自己答一遍。
?「交替符号使净计数为一」是 (a) 由二项式定理解出的 还是 (b) 关于现实的建模承诺?
?容斥在集合很多时的困难主要是 (a) 公式不成立 还是 (b) 各阶交集算不出来?
受迫二选一11
B 标签辨识
「交替符号 使每个元素净计数为一」这一步是什么?
二选一
受迫二选一12
C 裂缝定位
哪个情境下本章框架会给出自信而错误的答案?
二选一
读到这里,把它记为已读。