Skip to content

07 You Shall Not Overcount. The Sieve

Enumerating The Elements of Intersecting Sets

Example 7.1. 有14个同学踢足球17个同学打篮球,其中4个同学参与了两者。问至少玩其中一种运动的同学有多少个?
Solution. 略。

Example 7.2. 有14个同学踢足球17个同学打篮球18个同学玩曲棍球,其中4个同学同时玩足球和篮球,3个同学同时玩足球和曲棍球,5个同学同时玩篮球和曲棍球,1个同学三者都参与了。问至少玩其中一种运动的同学有多少个?
Solution. 略。

Theorem 7.3 [(Sieve Formula)或容斥原理(Principle of Inclusion-Exclusion)]. 是有限集合,有 其中是所有个元素子集。
Proof. 考虑任意元素,显然,左边只计算了一次。令是索引的集合,使得当且仅当。由于仅当时有,那么不包含,除非。所以计算在右边出现的次数时,只需要考虑索引的时候;也就是说,这些交集都包含。比如时,从任取两个值,对应的都是包含的。那么右边计算的次数是 根据二项式定理 所以右边也只计算了一次。

Applications of the Sieve Formula

Example 7.4. 一个派对有个客人,他们的帽子放在衣帽间。然后停电了,客人随机拿了一个帽子,他们发现所有人都拿到别人的帽子。求有多少种这种情况发生呢?
这就是错位排列(derangement)。的错位排列就是其没有不动点(fixed point),没有元素在第个位置上。
Solution. 全排列减去至少有一个不动点就是要求的数。
表示元素在位置上。Theorem 7.3告诉了计数的方法。
是多少呢?元素1在位置1上,其余个元素可以自由排列,所以,类似的,,那么公式右边的第一项是
接下来考察。两个元素是不动点,那么有中排列方式,从个元素里面选择两个,所以第二项是 依此类推,第项是 根据Theorem 7.3 使用全排列减去上式就得到没有不动点的个数 有什么关系呢? 趋于无穷大的时候,由泰勒级数 得到右边收敛于

下面给出第二类斯特林数的一个求和公式。
Theorem 7.5. 对于所有正整数,有 Proof. 通过证明来证明。从Corollary 5.9得到前者等于满射函数的个数。
的函数总数是,但是这里有很多非满射的情况,需要减去。有点像之前的证明。
表示从的不包含的所有函数,那么。类似的 那么 用总数减去上式就是要证明的结论。

Theorem 7.6. 是定义在的子集上的函数,其范围是实数集。假设 那么 Proof. 将右侧的展开,对于所有会出现一次如果。同时注意到会乘以,满足的子集个数是 ,其意义是从更大的差集里面选择个元素组成小的差集。
那么右侧出现的次数是 除了外,其他值均为0,所以右侧就是

Exercises

(36)(37) 表示集合分区中没有单元素块的数量。使用贝尔数来表示,进而证明 Solution

第一步在提问前找到了答案,后一部分提问才明白怎么证明,其实不需要知道公式也能证明,包括第一步的解题思路也是要定义二者的差值。https://math.stackexchange.com/questions/3804855/relation-between-bell-number-and-fn-the-number-of-partitions-of-n-withou