1.5 Lovász 局部引理The Lovász local lemma
本页为译文 + 高中讲解合一:黑色正文为忠实翻译;彩色框(目标 / 例 / 分步推演)与配图为面向高中生的详解,逐步推演、举例、画图,不用比喻。
设 \((A_i)_{i\in V}\) 是某个概率空间中的一族有限多个事件;稍后我们会把指标集 \(V\) 看作一个图的顶点集。在许多场合,我们希望证明:补事件 \((\bar A_i)_{i\in V}\) 有机会同时成立,即 \[ P\!\left(\bigcap_{i\in V}\bar A_i\right)>0. \] 当 \(A_i\) 是我们想要避免的“坏事件”时,这一点尤为有用。
- 把 \(V=\{1,2,\dots,m\}\) 看成 \(m\) 个逻辑子句(约束条件)的编号;
- 事件 \(A_i\) = “第 \(i\) 个子句没有被满足”,这是坏事件;
- 补事件 \(\bar A_i\) = “第 \(i\) 个子句被满足”;
- \(\displaystyle\bigcap_{i\in V}\bar A_i\) = “所有子句都被满足”,即整个约束系统有解。
独立的情形:平凡
如果诸 \(A_i\) 是相互独立的,那么问题是平凡的,因为我们有 \[ P\!\left(\bigcap_{i\in V}\bar A_i\right)=\prod_{i\in V}P(\bar A_i)=\prod_{i\in V}\bigl(1-P(A_i)\bigr), \tag{1.30} \] 只要所有 \(P(A_i)\) 都严格小于 \(1\),这个乘积就是正的。另一方面,相互独立是一个非常强的假设,在实际中很少成立。
- “相互独立”让我们能把联合概率拆成逐项相乘:\(P(\bar A_1\cap\bar A_2\cap\cdots)=P(\bar A_1)P(\bar A_2)\cdots\)。这是 (1.30) 的第一个等号。
- 每个补事件的概率是 \(P(\bar A_i)=1-P(A_i)\)。这是第二个等号。
- 只要每个坏事件都不是必然发生(即 \(P(A_i)<1\)),每个因子 \(1-P(A_i)\) 就为正,整个乘积为正。
- 结论:所有坏事件可以同时避开。但前提“相互独立”太苛刻——现实里的约束往往共用变量,因而彼此牵连。
人们可以期待:如果允许 \(A_i\) 之间存在足够“局部”的依赖,使得我们即便在已经对大部分事件 \(\bar A_j\) 取条件之后,仍能对 \(P(A_i)\) 保持良好的控制,那么类似 (1.30) 的结论或许依然成立。事实证明这确实可行,正如 Lovász 在 1975 年与 Erdős 合作的论文 [93] 中所证明的那样。我们给出该引理的一个现代版本如下。
图 \(G\) 通常被称为诸 \(A_i\) 的依赖图。注意,如果我们有 \[ P(A_i)\le x_i\prod_{(i,j)\in E}(1-x_j), \] 并且每个 \(A_i\) 与所有满足 \((i,j)\notin E\) 且 \(j\neq i\) 的 \(A_j\) 都相互独立,那么 (1.31) 就会成立。这其实正是该引理最初表述中所陈述的假设。然而,在某些场合,这类相当强的相互独立假设并不具备,这时就需要引理 1.25 的完整威力。Alon 与 Spencer 的著作 [12] 第 5 章包含了许多有趣的应用。
- 此时 (1.31) 的充分条件 \(P(A_i)\le x_i\prod_{(i,j)\in E}(1-x_j)\) 变为 \[ p\le x(1-x)^d. \]
- 取 \(x=\dfrac{1}{d+1}\),可以证明只要 \(e\,p\,(d+1)\le 1\)(这里 \(e=2.718\dots\)),上式就成立。
- 于是结论给出 \(\displaystyle P\!\left(\bigcap_i\bar A_i\right)\ge\Bigl(1-\tfrac{1}{d+1}\Bigr)^{m}>0\),即所有坏事件可同时避免。
引理的证明
若 \(|S|+|S'|=0\),则 \(S,S'\) 均为空集,断言 (1.32) 平凡成立(空交事件取概率约定为 \(1\),空乘积约定为 \(1\))。现在归纳地假设 \(|S|+|S'|\ge 1\),且断言对所有更小的 \(|S|+|S'|\) 值已经证明。
注意 \(|S|=0\) 的情形是平凡的(此时左边为对空集取交,概率为 \(1\),右边空乘积为 \(1\))。为对 \(|S|\ge 1\) 建立断言,只需对 \(|S|=1\) 的情形建立它即可。
事实上,若 \(|S|\ge 1\),则可取某个 \(j\in S\),把 \(S\) 拆分为 \(S=\{j\}\cup(S\setminus\{j\})\)。由条件概率的定义,我们有 \[ P\!\left(\bigcap_{i\in S}\bar A_i \,\Big|\, \bigcap_{i\in S'}\bar A_i\right) = P\!\left(\bar A_j \,\Big|\, \bigcap_{i\in S'\cup S\setminus\{j\}}\bar A_i\right)\cdot P\!\left(\bigcap_{i\in S\setminus\{j\}}\bar A_i \,\Big|\, \bigcap_{i\in S'}\bar A_i\right), \] 于是对第二个因子应用归纳假设进行估计,断言 (1.32) 即可推出。♦
- 把条件集 \(S'\) 按与 \(i\) 是否相邻拆成两部分: \[ S_1=\{\,j\in S':(i,j)\in E\,\}\ (\text{邻居}),\qquad S_2=S'\setminus S_1\ (\text{非邻居}). \]
- 用条件概率定义把目标量写成分式: \[ P\!\left(A_i\,\Big|\,\bigcap_{j\in S'}\bar A_j\right) =\frac{P\!\left(A_i\cap\bigcap_{j\in S_1}\bar A_j\,\Big|\,\bigcap_{j\in S_2}\bar A_j\right)} {P\!\left(\bigcap_{j\in S_1}\bar A_j\,\Big|\,\bigcap_{j\in S_2}\bar A_j\right)}. \]
- 估分子(往上压):丢掉 \(\bigcap_{j\in S_1}\bar A_j\) 这一交集只会让概率不增,再用 (1.31)(注意 \(S_2\) 全是 \(i\) 的非邻居,正合 (1.31) 的适用前提): \[ \text{分子}\le P\!\left(A_i\,\Big|\,\bigcap_{j\in S_2}\bar A_j\right)\le x_i\prod_{(i,j)\in E}(1-x_j). \]
- 估分母(往下托):对 \(S_1\)(其基数小于原 \(|S|+|S'|\))用归纳假设 (1.32): \[ \text{分母}=P\!\left(\bigcap_{j\in S_1}\bar A_j\,\Big|\,\bigcap_{j\in S_2}\bar A_j\right)\ge\prod_{j\in S_1}(1-x_j)\ge\prod_{(i,j)\in E}(1-x_j). \] (最后一步因为 \(S_1\) 中的点都是 \(i\) 的邻居,是 \(i\) 全体邻居的子集,而每个因子 \(1-x_j\le 1\),乘的项越多积越小。)
- 相除:分子的上界除以分母的下界,\(\prod_{(i,j)\in E}(1-x_j)\) 上下抵消,得 \[ P\!\left(A_i\,\Big|\,\bigcap_{j\in S'}\bar A_j\right)\le\frac{x_i\prod_{(i,j)\in E}(1-x_j)}{\prod_{(i,j)\in E}(1-x_j)}=x_i. \]
- 因此 \(P\!\left(\bar A_i\mid\bigcap_{j\in S'}\bar A_j\right)=1-P\!\left(A_i\mid\bigcap_{j\in S'}\bar A_j\right)\ge 1-x_i\),这正是 \(|S|=1\) 时的 (1.32)。归纳完成。♦
- 若所有 \(A_i\) 相互独立、且每个 \(P(A_i)=0.1\),共 \(m=5\) 个,求 \(P(\bigcap_i\bar A_i)\) 的确切值,并验证它是否 \(>0\)。
- 在对称型特例中取 \(p=0.02,\ d=3\)。先验证 \(e\,p\,(d+1)\le 1\) 是否成立;再取 \(x=\tfrac1{d+1}=\tfrac14\),检验 \(p\le x(1-x)^d\) 是否成立。
- 在证明的拆分式中,为什么必须把剥下的事件放在第一个因子、而把 \(S\setminus\{j\}\) 留给第二个因子才能用归纳假设?(提示:比较两个因子各自的 \(|S|+|S'|\)。)
返回 全书目录