6.2 独立集、无和子集与 Sidon 集Independent sets, sum-free subsets, and Sidon sets
本页为译文 + 高中讲解合一:黑色正文为忠实翻译;彩色框(目标 / 定义 / 定理 / 例 / 分步推演)与配图为面向高中生的详解,逐步推演、举例、画图,不用比喻。本节出现的 \(\log\) 一律指自然对数 \(\ln\)(因为它来自调和级数 \(1+\tfrac12+\dots+\tfrac1n\approx\ln n\))。
直觉上,人们预期度数较小的图拥有较大的独立集。下面这条由 Turán 给出的定理,把这一直觉量化了。
这里“独立集”指顶点的一个子集 \(S\),使得 \(S\) 中任意两点之间都没有边相连。最大度 \(d\) 是指所有顶点中邻居最多的那个的邻居数。
关键一步是“\(v\) 是好顶点的概率 \(=\dfrac{1}{\deg(v)+1}\)”。下面把它讲透。
- 只盯住 \(v\) 和它的 \(\deg(v)\) 个邻居,一共 \(\deg(v)+1\) 个顶点。随机双射 \(\pi\) 在这 \(\deg(v)+1\) 个顶点上的相对大小顺序是完全随机的——每个顶点都等可能地成为这一小群里编号最大的那个。
- \(v\) “好” 当且仅当 \(v\) 在这一小群里编号最大。因为这一小群里 \(\deg(v)+1\) 个成员地位对称,\(v\) 当上最大者的概率就是 \(\dfrac{1}{\deg(v)+1}\)。
- 把每个顶点的“好”概率加起来(期望的线性性,无需独立性),就得到好顶点数目的期望 \(E(|S|)\)。
- 期望是平均值,所以至少存在一种编号方式,使实际的 \(|S|\) 不小于这个平均值。那一次的 \(S\) 就是我们要的独立集。
6.2.1 无和子集 Sum-free subsets
1965 年,Erdős 与 Moser [86](另见 [166] 的问题 C14)提出了如下问题。若 \(B\subset A\) 是两个加性集合,当 \(A\) 中没有任何元素能表示为 \(B\) 中两个不同元素之和时,我们就说 \(B\) 关于 \(A\) 是无和的(sum-free with respect to \(A\))。给定任意加性集合 \(A\),令 \(\varphi(A)\) 为 \(A\) 的所有关于 \(A\) 无和的子集中,最大者的基数(元素个数)。再令 \(\varphi(n)\) 为在所有大小为 \(n\) 的集合 \(A\) 中 \(\varphi(A)\) 的最小值;于是 \(\varphi(n)\) 是使得“每个由 \(n\) 个实数组成的集合 \(A\) 都含有一个基数为 \(\varphi(n)\)、关于 \(A\) 无和的子集”的最大数。
- \(B\) 关于 \(A\) 无和:\(A\) 里没有任何元素能写成 \(B\) 里两个不同元素之和。即对 \(B\) 中任意 \(b_1\ne b_2\),都有 \(b_1+b_2\notin A\)。
- \(\varphi(A)\):对这一个集合 \(A\),它最大的无和子集有多大。
- \(\varphi(n)\):在所有大小为 \(n\) 的 \(A\) 里挑最“糟糕”(\(\varphi(A)\) 最小)的那一个的值。它是一个保底保证:随便给你 \(n\) 个数,你总能抠出 \(\varphi(n)\) 个数构成无和子集。
请注意,要求 \(B\) 的元素互不相同对这个问题之有趣至关重要。为看清这点,考虑集合 \(A:=2^{[1,n]}=\{2,2^2,\dots,2^n\}\)。显然,若 \(B\) 是 \(A\) 的任一含两个或更多元素的子集,则 \(A\) 中存在一个元素是 \(B\) 中两个(相等的)元素之和。
Klarner 曾指出(未发表),Erdős 在 [86] 中也提到,对大的 \(n\) 有 \(\varphi(n)=\Theta(\log n)\)。这个界的第一个公开证明出现在约十年后 Choi 的论文 [55] 中:
为证明一般情形,由鸽笼原理可知,任何由 \(n\) 个实数组成的集合,要么含有 \(n/2-O(1)\) 个正实数,要么含有 \(n/2-O(1)\) 个负实数,于是(对大的 \(n\))由上一段即得结论。♦
这条证明把“相加结构”整个翻译成图论问题,是本节最漂亮的地方。逐步拆开看。
- 建图:顶点就是 \(A\) 里的数;只要两个数相加的结果还在 \(A\) 里,就在它们之间画一条边。这样一来,一条边 \(=\) 一对“会惹麻烦”的数。
- 翻译“无和”为“独立”:一个子集 \(B\) 关于 \(A\) 无和,意思正是 \(B\) 里任两个不同元素之和不落回 \(A\)——也就是 \(B\) 里没有任何一条边。所以“无和子集”恰好就是图 \(G\) 的“独立集”。
- 控制度数:把数从小到大排好 \(a_1<\dots
a_i\),这个和必须是 \(A\) 中比 \(a_i\) 还大的某个元素。而比 \(a_i\) 大的元素只有 \(a_{i+1},\dots,a_n\) 这 \(n-i\) 个;固定 \(a_i\) 时不同邻居 \(a_j\) 给出不同的和,所以邻居数至多 \(n-i\) 个,即 \(\deg(a_i)\le n-i\)。 - 求和得调和级数:代入 Turán 下界,\(\sum_i\frac{1}{\deg(a_i)+1}\ge\sum_i\frac{1}{(n-i)+1}=\frac1n+\frac1{n-1}+\dots+1=H_n=\log n-O(1)\)。这正是自然对数出现的原因。
- 去掉“正数”假设:一般实数集合里,正数和负数至少有一边占到约一半(鸽笼),对那一边重复上述论证即可。
现在讨论上界。这时我们感兴趣的是构造一些不含大无和子集的集合 \(A\)。Erdős 与 Moser [86] 证明了 \(\varphi(n)\le n/3\),并猜测它的阶很可能是 \(o(n)\)。对 Erdős–Moser 结果的第一个改进归功于 Selfridge,他证明了 \[\varphi(n)\le n/4.\] Choi [55] 用筛法证明了对一切 \(\varepsilon>0\) 有 \(\varphi(n)\le O\!\big(n^{2/5+\varepsilon}\big)\)。他还注意到,在这个问题中只需考虑 \(A\) 为正整数集合这一特殊情形即可。Choi 的结果被 Baltz、Schoen 与 Srivastav [17] 略微改进,他们证明了 \(\varphi(n)\le O\!\big(n^{2/5}\log^{2/5}n\big)\)。上界的一个重大改进是 Ruzsa [297] 最近取得的,他证明了 \[\varphi(n)=e^{O(\sqrt{\log n})}.\]
把这些上界排一排,越往后越小:\(n/3\to n/4\to n^{2/5+\varepsilon}\to n^{2/5}\log^{2/5}n\to e^{O(\sqrt{\log n})}\)。最后这个 \(e^{O(\sqrt{\log n})}\) 比任何 \(n^c\)(\(c>0\))都小(称为次多项式),却又比任何 \(\log^C n\) 大(因为 \(\sqrt{\log n}\) 比 \(\log\log n\) 大)。它“卡”在多项式与对数之间。
下面我们描述 Ruzsa 的构造,它除了非常巧妙之外,还简短而富有启发性。一个关键技巧是利用 Freiman 同构把问题嵌入到一个维数很高的空间中(另见习题 10.1.4)。
我们将需要一个维数 \(d=\Theta(\sqrt{\log n})\)。利用 Freiman 同构(见引理 5.25),只需构造一个集合 \(A\subset\mathbb{Z}^d\),使得 \(|A|>n\) 且 \(\varphi(A)\le e^{O(\sqrt{\log n})}\)。对任意 \(r>0\),令 \(D_r\subset\mathbb{Z}^d\) 为以原点为中心、半径为 \(r\) 的球内的整格点集合,即
\[D_r:=\Big\{(x_1,\dots,x_d)\in\mathbb{Z}^d\ \Big|\ \sum_{i=1}^{d}x_i^2\le r^2\Big\}.\]
然后令
\[A:=\bigcup_{i=0}^{r-1}2^i\cdot D_{r-i},\]
其中 \(r=e^{O(\sqrt{\log n})}\)。对适当选取的 \(d\) 与 \(r\),可使 \(|A|>n\),并且我们断言
\[\varphi(A)\le 2^d\,r=e^{O(\sqrt{\log n})}.\]
事实上,设 \(S\subset A\) 的基数大于 \(2^d r\)。那么由鸽笼原理,存在 \(0\le i 把上界证明的鸽笼两连击拆开看,会更清楚为什么 \(A\) 没有大无和子集。 返回 全书目录