(组合数学)特征函数

一、什么是特征函数?

1. 特征函数的定义

特征函数,在这里准确地来说是有限集合的子集的特征函数
X X X 是一个集合,对子集 A ⊆ X A\subseteq X AX A A A 的特征函数 f A ( x ) f_A(x) fA(x) X X X 中元素的函数,定义为 { 1 ,  若  x ∈ A 0 ,  若  x ∉ A \begin{cases}1,\ 若\ x\in A\\0,\ 若\ x\notin A\end{cases} {1,  xA0,  x/A有两个集合的特征函数比较特殊, f X ( x ) f_X(x) fX(x) 值恒为 1 1 1 f ∅ ( x ) f_{\varnothing}(x) f(x) 值恒为 0 0 0

2. 特征函数的性质

之所以在特征函数的的定义中选用 0 0 0 1 1 1 作为取值,是因为它能够区分 x x x 是否属于 A A A 集合,同时这使得特征函数能够方便地描述子集的基本运算。也就是说,这也方便了我们解决组合问题中的各种计数问题。

特征函数有以下性质:
A , B A,B A,B 均是 X X X 的子集。
( 1 ) (1) (1) A A A B B B 的子集的充要条件是对 ∀ x ∈ X \forall x\in X xX,它们的特征函数满足 f A ( x ) ≤ f B ( x ) . f_A(x)\le f_B(x). fA(x)fB(x).

这条性质比较容易理解,首先从必要性的角度来看,如果 ∃ x ∈ X \exist x\in X xX 使得 f A ( x ) > f B ( x ) f_A(x)>f_B(x) fA(x)>fB(x), 则 x ∈ A x\in A xA x ∉ B x\notin B x/B,此时 A A A 就不是 B B B 的子集了。
证明它的充分性,我们可以利用 A A A 包含于 B B B 的定义,如果 ∀ x ∈ A \forall x\in A xA x ∈ B x\in B xB,则 A ⊆ B A\subseteq B AB

( 2 ) (2) (2) A A A 关于 X X X 的补集的特征函数是 1 − f A ( x ) . 1-f_A(x). 1fA(x).

相当于把 0 0 0 1 1 1 互换。 1 − 1 1-1 11 就是 0 0 0 1 − 0 1-0 10 就是 1 1 1

( 3 ) (3) (3) A A A B B B 的交集的特征函数是 f A ( x ) f B ( x ) . f_A(x)f_B(x). fA(x)fB(x).

很好理解, A ∩ B A\cap B AB 就是 x ∈ A x\in A xA x ∈ B x\in B xB,也就是对 x x x 要同时满足 f A ( x ) = 1 f_A(x)=1 fA(x)=1 f B ( x ) = 1 f_B(x)=1 fB(x)=1,结合起来就是 f A ( x ) f B ( x ) = 1. f_A(x)f_B(x)=1. fA(x)fB(x)=1.

( 4 ) (4) (4) A A A B B B 的并集的特征函数是 f A ( x ) + f B ( x ) − f A ( x ) f B ( x ) . f_A(x)+f_B(x)-f_A(x)f_B(x). fA(x)+fB(x)fA(x)fB(x).

有容斥原理的意思, f A ( x ) + f B ( x ) f_A(x)+f_B(x) fA(x)+fB(x) 会多算 f A ∩ B ( x ) f_{A\cap B}(x) fAB(x),我们又由 ( 3 ) (3) (3) 知道 f A ∩ B ( x ) = f A ( x ) f B ( x ) f_{A\cap B}(x)=f_A(x)f_B(x) fAB(x)=fA(x)fB(x),所以把它减去,就得到 f A ∪ B = f A ( x ) + f B ( x ) − f A ( x ) f B ( x ) . f_{A\cup B}=f_A(x)+f_B(x)-f_A(x)f_B(x). fAB=fA(x)+fB(x)fA(x)fB(x).

( 5 ) (5) (5) A A A 是有限集合,则 ∑ x ∈ X f A ( x ) = ∣ A ∣ . \displaystyle\sum_{x\in X}f_A(x)=|A|. xXfA(x)=A∣.

根据定义我们知道 x ∈ A x\in A xA f A ( x ) = 1 f_A(x)=1 fA(x)=1,所以对 A ∈ X A\in X AX,有几个不同的 x ∈ X x\in X xX 能使得 f A ( x ) = 1 f_A(x)=1 fA(x)=1,就代表 ∣ A ∣ |A| A 是多少。

( 6 ) (6) (6) x x x X X X 中的固定元素, { A 1 , A 2 , ⋯   , A k } \{A_1,A_2,\cdots,A_k\} {A1,A2,,Ak} X X X 的一个子集族,则 ∑ i = 1 k f A i ( x ) \displaystyle\sum_{i=1}^k f_{A_i}(x) i=1kfAi(x) A 1 , ⋯   , A k A_1,\cdots,A_k A1,,Ak 中包含 x x x 的子集个数。特别地,若 X X X n n n 元集合,则 ∑ A ⊆ X f A ( x ) = 2 n − 1 . \displaystyle\sum_{A\subseteq X}f_A(x)=2^{n-1}. AXfA(x)=2n1.

∑ i = 1 k f A i ( x ) \displaystyle\sum_{i=1}^kf_{A_i}(x) i=1kfAi(x) 根据定义,显然表示 A 1 , ⋯   , A k A_1,\cdots,A_k A1,,Ak 中包含 x x x 的子集个数,这里不多说。
对于“特别地”这个情形, ∑ A ⊆ X f A ( x ) \displaystyle\sum_{A\subseteq X}f_A(x) AXfA(x) 就表示,固定 x x x,集合 X X X 中有多少个子集 A A A 包含 x x x 这个元素。其他 n − 1 n-1 n1 个元素可选可不选,所以是 2 n − 1 2^{n-1} 2n1 个。这个结论很常用。

*此外,整除也有相应的特征函数,这需要用到单位根。具体是 1 n ∑ t = 1 n ζ k t = { 1 ,  若  n ∣ k 0 ,  若  n ∤ k \dfrac{1}{n}\displaystyle\sum_{t=1}^n\zeta^{kt}=\begin{cases}1,\ 若\ n\mid k\\0,\ 若\ n\nmid k\end{cases} n1t=1nζkt={1,  nk0,  nk这里就不多说了。不过最常用的并不是整除的特征函数,而是 1 n ∑ t = 1 n ζ k t \dfrac{1}{n}\displaystyle\sum_{t=1}^n\zeta^{kt} n1t=1nζkt 这个求和形式,具体的应用,我们后面再说。


二、二重和

二重合涉及到两次算(就是把一个数量用两种不同的方式计算)的思想。
a i j a_{ij} aij 是具有两个下标的数列,二重和 ∑ i = 1 m ∑ j = 1 m a i j \displaystyle\sum_{i=1}^m\sum_{j=1}^ma_{ij} i=1mj=1maij的含义是,先把 i i i 固定,内层对 j j j 求和,然后再对 i i i 求和。也可以看做是将下面的数表进行按行求和。

我们也可以将该数表按列求和,也就是把 j j j 固定,先对 i i i 求和。这样的方式对求和结果并不改变。用二重和表示就是 ∑ j = 1 m ∑ i = 1 m a i j \displaystyle\sum_{j=1}^m\sum_{i=1}^ma_{ij} j=1mi=1maij所以 ∑ i = 1 m ∑ j = 1 m a i j = ∑ j = 1 m ∑ i = 1 m a i j . \displaystyle\sum_{i=1}^m\sum_{j=1}^ma_{ij}=\sum_{j=1}^m\sum_{i=1}^ma_{ij}. i=1mj=1maij=j=1mi=1maij.
一般地,若 a i j a_{ij} aij i i i j j j 的取值范围分别是有限整数集 I I I J J J,则类似地有 ∑ i ∈ I ∑ j ∈ J a i j = ∑ j ∈ J ∑ i ∈ I a i j . \displaystyle\sum_{i\in I}\sum_{j\in J}a_{ij}=\sum_{j\in J}\sum_{i\in I}a_{ij}. iIjJaij=jJiIaij.
在使用特征函数时经常会运用二重和的交换和号,这样可能会使问题中的计数变得易于计算。


三、一些例子

1.设 X X X n n n 元集合,求 ∑ A , B ⊆ X ∣ A ∩ B ∣ \displaystyle\sum_{A,B\subseteq X}|A\cap B| A,BXAB ∑ A , B ⊆ X ∣ A ∪ B ∣ \displaystyle\sum_{A,B\subseteq X}|A\cup B| A,BXAB,这里 A A A B B B 彼此独立地取遍 X X X 的子集。

本题可以先求 ∑ A , B ⊆ X ∣ A ∩ B ∣ \displaystyle\sum_{A,B\subseteq X}|A\cap B| A,BXAB,再通过容斥原理求出 ∑ A , B ⊆ X ∣ A ∪ B ∣ \displaystyle\sum_{A,B\subseteq X}|A\cup B| A,BXAB

这里介绍特征函数法。
∑ A , B ⊆ X ∣ A ∩ B ∣ = ∑ A ⊆ X ∑ B ⊆ X ∑ x ∈ X f A ( x ) f B ( x ) = ∑ x ∈ X ( ∑ A ⊆ X f A ( x ) ) ( ∑ B ⊆ X f B ( x ) ) = n ⋅ 2 n − 1 × 2 n − 1 = n ⋅ 4 n − 1 \quad\displaystyle\sum_{A,B\subseteq X}|A\cap B|\\=\sum_{A\subseteq X}\sum_{B\subseteq X}\sum_{x\in X}f_A(x)f_B(x)\\=\sum_{x\in X}\Big(\sum_{A\subseteq X}f_A(x)\Big)\Big(\sum_{B\subseteq X}f_B(x)\Big)\\=n\cdot2^{n-1}\times2^{n-1}\\=n\cdot4^{n-1} A,BXAB=AXBXxXfA(x)fB(x)=xX(AXfA(x))(BXfB(x))=n2n1×2n1=n4n1.
∑ A , B ⊆ X ∣ A ∪ B ∣ = ∑ A , B ⊆ X ∣ f A ( x ) + f B ( x ) − f A ( x ) f B ( x ) ∣ = ∑ x ∈ X ∑ B ⊆ X ∑ A ⊆ X f A ( x ) + ∑ x ∈ X ∑ A ⊆ X ∑ B ⊆ X f B ( x ) − n ⋅ 4 n − 1 = n ⋅ 2 n × 2 n − 1 + n ⋅ 2 n × 2 n − 1 − n ⋅ 4 n − 1 = 3 n ⋅ 4 n − 1 \quad\displaystyle\sum_{A,B\subseteq X}|A\cup B|\\=\sum_{A,B\subseteq X}|f_A(x)+f_B(x)-f_A(x)f_B(x)|\\=\sum_{x\in X}\sum_{B\subseteq X}\sum_{A\subseteq X}f_A(x)+\sum_{x\in X}\sum_{A\subseteq X}\sum_{B\subseteq X}f_B(x)-n\cdot4^{n-1}\\=n\cdot2^n\times2^{n-1}+n\cdot2^n\times2^{n-1}-n\cdot4^{n-1}\\=3n\cdot4^{n-1} A,BXAB=A,BXfA(x)+fB(x)fA(x)fB(x)=xXBXAXfA(x)+xXAXBXfB(x)n4n1=n2n×2n1+n2n×2n1n4n1=3n4n1

这道题多次运用了特征函数的性质(6)中的特殊情形,即包含某个固定元素的 n 元集的子集有 2n-1。注意在求和时不要漏乘前面的 n n n 2 n 2^n 2n 这些表示元素或集合从属关系的乘数。

*也可以使用配对法,先固定 A A A B B B 求和。对每个固定的 A A A,考虑 B B B B ‾ \overline B B(即 B B B 的补集),这样可以消去一个变元 B B B

2.设 X X X 是有限集合, A 1 , A 2 , ⋯   , A m A_1,A_2,\cdots,A_m A1,A2,,Am 为其子集。 ∣ A i ∣ = r ( i = 1 , 2 , ⋯   , m ) |A_i|=r(i=1,2,\cdots,m) Ai=r(i=1,2,,m) ∣ A i ∩ A j ∣ ≤ k ( 1 ≤ i < j ≤ k ) |A_i\cap A_j|\le k(1\le i<j\le k) AiAjk(1i<jk)。证明: ∣ X ∣ ≥ r 2 m r + ( m − 1 ) k |X|\ge\dfrac{r^2m}{r+(m-1)k} Xr+(m1)kr2m

分析: 根据题目中 r 2 m r^2m r2m 这样的形式,我们可以考虑计算某个和的平方解决问题。

证明: f i ( x ) f_i(x) fi(x) 是集合 A i A_i Ai 的特征函数, d i ( x ) = ∑ i = 1 m f i ( x ) d_i(x)=\displaystyle\sum_{i=1}^mf _i(x) di(x)=i=1mfi(x) x x x A 1 , ⋯   , A m A_1,\cdots,A_m A1,,Am 中出现的次数。
∑ x ∈ X d 2 ( x ) = ∑ x ∈ X ∑ i = 1 k f i 2 ( x ) + 2 ∑ x ∈ X ∑ 1 ≤ i < j ≤ m f i ( x ) f j ( x ) = ∑ i = 1 k ∑ x ∈ X f i ( x ) + 2 ∑ 1 ≤ i < j ≤ m ∑ x ∈ X f i ( x ) f j ( x ) = ∑ i = 1 m ∣ A i ∣ + 2 ∑ 1 ≤ i < j ≤ m ∣ A i ∩ A j ∣ ≤ r m + 2 C m 2 k \quad\displaystyle\sum_{x\in X}d^2(x)\\=\sum_{x\in X}\sum_{i=1}^kf_i^2(x)+2\sum_{x\in X}\sum_{1\le i<j\le m}f_i(x)f_j(x)\\=\sum_{i=1}^k\sum_{x\in X}f_i(x)+2\sum_{1\le i<j\le m}\sum_{x\in X}f_i(x)f_j(x)\\=\sum_{i=1}^m|A_i|+2\sum_{1\le i<j\le m}|A_i\cap A_j|\\\le rm+2C_m^2k xXd2(x)=xXi=1kfi2(x)+2xX1i<jmfi(x)fj(x)=i=1kxXfi(x)+21i<jmxXfi(x)fj(x)=i=1mAi+21i<jmAiAjrm+2Cm2k
柯西不等式
∑ x ∈ X d 2 ( x ) ≥ 1 ∣ X ∣ [ ∑ x ∈ X d ( x ) ] 2 = 1 ∣ X ∣ ( ∑ i = 1 m ∣ A i ∣ ) = r 2 m 2 ∣ X ∣ \displaystyle\sum_{x\in X}d^2(x)\ge\dfrac{1}{|X|}\Big[\sum_{x\in X}d(x)\Big]^2=\dfrac{1}{|X|}\Big(\sum_{i=1}^m|A_i|\Big)=\dfrac{r^2m^2}{|X|} xXd2(x)X1[xXd(x)]2=X1(i=1mAi)=Xr2m2
∴ ∣ X ∣ ≥ r 2 m r + ( m − 1 ) k ∴|X|\ge\dfrac{r^2m}{r+(m-1)k} Xr+(m1)kr2m.

很多不等式问题需要用到柯西不等式来解决,而还有一些问题则运用了不同的手法,比如说运用最小值≤平均值≤最大值这一结论来证明题目。例如下面这题:

3.设 X X X n n n 元集, A 1 , A 2 , ⋯   , A m A_1,A_2,\cdots,A_m A1,A2,,Am 为其子集, ∣ A i ∣ = r ( i = 1 , 2 , ⋯   , m ) |A_i|=r(i=1,2,\cdots,m) Ai=r(i=1,2,,m)。证明: X X X 有一个子集 Y Y Y A 1 , A 2 , ⋯   , A m A_1,A_2,\cdots,A_m A1,A2,,Am 中包含于 Y Y Y 或包含于 Y ‾ \overline Y Y 的个数 ≤ m 2 r − 1 . \le\dfrac{m}{2^{r-1}}. 2r1m.

证明: f j ( Y ) = { 1 ,   A j ⊆ Y  或  A j ⊆ Y ‾ 0 ,  否则 f_j(Y)=\begin{cases}1,\ A_j\subseteq Y\ 或\ A_j\subseteq\overline Y\\0,\ 否则\end{cases} fj(Y)={1, AjY  AjY0, 否则 f ( Y ) = ∑ j = 1 m f j ( Y ) f(Y)=\displaystyle\sum_{j=1}^mf_j(Y) f(Y)=j=1mfj(Y)
∑ Y ⊆ X f ( Y ) = ∑ Y ⊆ X ∑ j = 1 m f j ( Y ) = ∑ j = 1 m ∑ Y ⊆ X f j ( Y ) \displaystyle\sum_{Y\subseteq X}f(Y)=\sum_{Y\subseteq X}\sum_{j=1}^mf_j(Y)=\sum_{j=1}^m\sum_{Y\subseteq X}f_j(Y) YXf(Y)=YXj=1mfj(Y)=j=1mYXfj(Y)
上式中,由于 A j A_j Aj固定,所以若 A j ⊆ Y A_j\subseteq Y AjY,则符合要求的 Y Y Y 2 n − r 2^{n-r} 2nr 个,同理 Y ‾ \overline Y Y 2 n − r 2^{n-r} 2nr 个。
∴ ∑ Y ⊆ X f ( Y ) = m ⋅ 2 n − r + 1 ∴\displaystyle\sum_{Y\subseteq X}f(Y)=m\cdot2^{n-r+1} YXf(Y)=m2nr+1 1 2 n ∑ Y ⊆ X f ( Y ) = m 2 r − 1 \displaystyle\dfrac{1}{2^n}\sum_{Y\subseteq X}f(Y)=\dfrac{m}{2^{r-1}} 2n1YXf(Y)=2r1m
故存在 Y ⊆ X Y\subseteq X YX,使得 f ( Y ) ≤ m 2 r − 1 f(Y)\le\dfrac{m}{2^{r-1}} f(Y)2r1m.

上述的这种思想叫做平均论证,我们可以由整体的平均值推导出单项的性质,同样也可以由单项推出整体。看到和、平方和、乘积等形式,我们可以分别去考虑对应的算术平均、平方平均和几何平均。反过来也可以。

*根据上面所说的最小值≤平均值≤最大值,这道题中的“≤”改成“≥”也同样可证。


后话

虽然这个特征函数的坑还是挺多的,但是总比几何要友好。。。
参考:《奥数教程》(高中第三分册)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值