Featured image of post Lecture 4

Lecture 4

Crossing Number

请求出一个图嵌入平面时,它最少的边交叉的数量。

由离散数学中学到的知识可知, $|V|+|R|=|E|+2, |E| \leq 3|V|-6$ 。

下面要证明的是: $c(G) \geq |E|-3|V|+6$ 。

考虑用概率方法加强这个结论,用 $p$ 的概率留下每一个点,从而每条边有 $p^2$ 的概率保留下来,每个原来的交点有 $p^4$ 的概率被保留下来。

从而

$$p^4c(G) \ge \mathbb{E}[c(G)] \ge \mathbb{E}[|E| - 3|V| + 6] = p^2|E| - 3p|V| + 6$$

$$c(G) \ge \frac{p^2|E| - 3p|V| + 6}{p^4} \ge \frac{p|E| - 3|V|}{p^3}$$

Claim: 对任何 $|E| \ge 4|V|$ 的图 $G$,有 $c(G) \ge \frac{|E|^3}{64|V|^2}$。

取 $p = \frac{4|V|}{|E|}$ 即可。

Unbalancing Lights

给定一个 $n \times n$ 的灯泡矩阵,每行跟每列都有一个开关,作用是翻转完整的一列或者一行。

现在对于一个初始状态,试图通过操作开关最大化亮灯数。

定理:考虑 $n \times n$ 方阵,给定任意初始情形,存在一种开关方案使得亮着的灯的数量满足:

$$ L \approx \frac{n^2}{2} + \sqrt{\frac{1}{2\pi}} n^{3/2} \quad (n \to \infty) $$

证明思路 (概率方法): 假设灯的初始状态矩阵为 $A$,其中 $a_{ij} \in \{-1, 1 \}$(1 表示亮,-1 表示灭)。我们有行开关 $x_i \in \{-1, 1 \}$ 和列开关 $y_j \in \{-1, 1 \}$(1 表示不按,-1 表示按下)。

经过操作后,第 $i$ 行第 $j$ 列的灯的状态变为 $a_{ij} x_i y_j$ 。

此时,亮着的灯的总数可以表示为:

$$ L = \sum_{i=1}^n \sum_{j=1}^n \frac{1 + a_{ij} x_i y_j}{2} = \frac{n^2}{2} + \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i y_j $$

我们的目标是找到一组 $x_i$ 和 $y_j$,使得 $\sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i y_j$ 最大。

  1. 随机选择列开关:令 $y_j$ 独立且均匀地取 $\{-1, 1 \}$(各有一半概率)。

  2. 贪心选择行开关:在 $y_j$ 确定之后,第 $i$ 行的总和为 $R_i = \sum_{j=1}^n a_{ij} y_j$。为了让结果最大,我们总可以取 $x_i = \text{sgn}(R_i)$,这样第 $i$ 行的贡献就变成了绝对值 $|R_i|$。

  3. 计算期望:总和 $Z = \sum_{i=1}^n |R_i|$。因为 $a_{ij}$ 是固定的,而 $y_j$ 是随机的, $R_i$ 实际上是 $n$ 次独立抛硬币结果的和(一维随机游走)。当 $n \to \infty$ 时,根据中心极限定理, $R_i$ 的分布趋近于正态分布,有 $\mathbb{E}[|R_i|] \approx \sqrt{\frac{2n}{\pi}}$。

  4. 得出结论:因此, $n$ 行的总期望 $\mathbb{E}[Z] \approx n \cdot \sqrt{\frac{2n}{\pi}} = \sqrt{\frac{2}{\pi}} n^{3/2}$。 代入亮灯数量 $L$ 的公式中,得到 $\mathbb{E}[L] \approx \frac{n^2}{2} + \frac{1}{2} \sqrt{\frac{2}{\pi}} n^{3/2} = \frac{n^2}{2} + \sqrt{\frac{1}{2\pi}} n^{3/2}$。

根据概率方法的基本原理,既然随机策略下的期望亮灯数达到该值,必定存在至少一种具体的开关方案,使得最后亮着的灯数大于或等于这个期望值。

Large Girth and Chromatic Number

首先定义 Girth 是一张图中最小环的长度,而 Chromatic Number 是这张图的点染色数。

由于完全图的点染色数很大,而最小环的长度很小,而树的点染色数很小,但是它的最小环的长度很大,因此合理怀疑,这两者成反比关系。

但是事实并不是这样的,我们给出以下定理:

定理:对于任意 $k,l$ ,存在图的周长 (girth) $\geq l$ ,且染色数 (chromatic number) $\geq k$ 。

证明思路 (概率方法 + Alteration/修改法): 如果直接用纯粹的随机图 $G_{n,p}$,无法直接得到没有短环且染色数很大的图。因此,我们采用先随机生成,再“手动破坏短环”的修改法 (Alteration method)。

构造随机图

取随机图 $G \sim G_{n,p}$,设定概率 $p = n^{-1+1/l}$ 。

设 $X$ 表示 $G$ 中长度 $< l$ 的环的数量, $Y$ 表示最大独立集的大小。

限制短环数量的期望: 考虑图中所有长度为 $i$ 的环( $3 \le i < l$ )的可能组合:

  • 选点与排列:从 $n$ 个点中选出 $i$ 个点有 $\binom{n}{i}$ 种选法;这 $i$ 个点全排列连成环有 $i!$ 种方式。
  • 去重:由于环有旋转对称(循环移位有 $i$ 种起点)和翻转对称(顺时针/逆时针 $2$ 个方向),所以实际不同构的环的总数为 $\binom{n}{i}\frac{i!}{2i}$。
  • 边存在的概率:一个长度为 $i$ 的环包含 $i$ 条连边,这 $i$ 条边在图 $G_{n,p}$ 中同时存在的概率为 $p^i$。

因此,长度为 $i$ 的环期望个数为 $\binom{n}{i}\frac{i!}{2i}p^i \le \frac{n^i p^i}{2i}$。

从而所有 $< l$ 的环的总期望个数为:

$$ \mathbb{E}[X] = \sum_{i=3}^{l-1} \frac{n^i}{2i} p^i \le \sum_{i=3}^{l-1} \frac{(np)^i}{2i} = \sum_{i=3}^{l-1} \frac{n^{i/l}}{2i} = O(n^{1-1/l}) = o(n) $$

根据马尔可夫不等式,短环太多(大于一半节点数)的概率很小:

$$ \text{Pr}\left[X \ge \frac{n}{2}\right] = o(1) $$

限制最大独立集的大小

考虑图是否存在一个大小为 $y$ 的独立集:

  • 选点:从 $n$ 个点中随意选出 $y$ 个点,一共有 $\binom{n}{y}$ 种组合。
  • 独立集的条件:这 $y$ 个点要成为独立集,意味着它们两两之间完全不能有边。这 $y$ 个点之间总共有 $\binom{y}{2}$ 对潜在的边,它们在图中 全都不存在 的概率为 $(1-p)^{\binom{y}{2}}$ 。

因此,根据 Union Bound,存在大小 $\ge y$ 的独立集的概率可以如下限定:

$$ \text{Pr}[Y \ge y] \le \binom{n}{y}(1-p)^{\binom{y}{2}} \le n^y \cdot e^{-p\frac{y^2}{2}} \le (e^{\ln n - py / 4})^y $$

取 $y = \frac{8\ln n}{p} = 8\ln n \cdot n^{1-1/l} = o(n)$ ,就有:

$$ \text{Pr}[Y \ge y] \le e^{-\ln n \cdot y} = o(1) $$

概率方法的完美运用 (修改过程)

记事件 $A$ 为“ $<l$ 的环的数量超过 $n/2$ ”,事件 $B$ 为“最大独立集的大小 $>y$”。

前面通过计算期望和概率已经得出,当 $n \to \infty$ 时:

  • $\text{Pr}[A] = o(1)$ (趋于0)
  • $\text{Pr}[B] = o(1)$ (趋于0)

根据 并集上界 (Union Bound),这两个“坏事”中至少发生一件的概率为:

$$ \text{Pr}[A \cup B] \le \text{Pr}[A] + \text{Pr}[B] = o(1) + o(1) = o(1) $$

这意味着,当 $n$ 足够大时, $\text{Pr}[A \cup B] < \frac{1}{2}$ 。

反过来,这两个“坏事”都不发生的概率(即好事同时发生的概率)就是:

$$ \text{Pr}[\overline{A} \cap \overline{B}] = 1 - \text{Pr}[A \cup B] > 1 - \frac{1}{2} = \frac{1}{2} $$

因此,当 $n$ 足够大时, $G$ 至少有 $\ge \frac{1}{2}$ 的概率 同时满足 下列两个条件:

  • $<l$ 的环的数量不超过 $n/2$ (即 $X \le n/2$ )
  • 最大独立集的大小不超过 $y = o(n)$

既然这个概率严格大于 0(实际上大于 1/2),说明这样的图 $G$ 必然存在。我们取这样一个满足条件的图 $G$。然后从 $G$ 的每一个长度 $<l$ 的环中 删去一个点

因为我们最多只要处理 $n/2$ 个短环,所以最多只会删去 $n/2$ 个点。

这就得到了一个新图 $G’$,它满足:

  • 因为破坏了所有小于 $l$ 的环,图 $G’$ 的 周长 $\ge l$
  • 图 $G’$ 至少还有 $n - n/2 = n/2$ 个点。
  • 删去节点不会导致独立集变大,所以 $G’$ 的最大独立集大小依然 $\le y$

对于任意图,有个熟知的性质:染色数至少为 $\frac{\text{顶点数}}{\text{最大独立集大小}}$ 。所以对于 $G’$ :

$$ \chi(G’) \ge \frac{|V’|}{\alpha(G’)} \ge \frac{n/2}{y} = \frac{n}{2 \cdot 8\ln n \cdot n^{1-1/l}} = \omega(1) $$

因为 $y = o(n)$ , $\frac{n}{y}$ 随着 $n$ 趋于无穷而趋于无穷极大。

从而 $n$ 充分大时,一定可以满足 $\chi(G’) \ge \frac{n/2}{y} \ge k$ 。

至此定理得证。这种先做概率构造然后局部修改的手法(Alteration)是非常经典的概率方法思想。

MAX3SAT

给定一个 3CNF(合取范式)公式 $\varphi$ ,它由多个 子句 (clause) 组成。其中的每个子句包含刚好 3 个文字(即变量或其否定,如 $x_1 \lor \neg x_2 \lor x_3$ )。

目标是找出一个对所有变量的真/假赋值方案,使得尽可能多的子句被满足(只要子句中有一个文字为真,该子句就被满足)。

定理 (存在性证明)

对于任意 3CNF $\varphi$ ,存在一种赋值方法使得至少 $\frac{7}{8}$ 的 clause 可以被满足。

假设我们独立、均匀随机地给每个变量赋值为 True 或 False (各 50% 的概率),依次考虑每一个 clause $C_j$ 。

一个 clause 内部有 3 个文字,它不被满足的唯一情况是这三个文字同时被赋值为 False,其概率为 $(1/2)^3 = 1/8$ 。

因此,该子句被满足的概率是 $1 - 1/8 = 7/8$ 。

设指标变量 $I_j$ 表示第 $j$ 个 clause 是否被满足(满足为 1,否则为 0),则期望 $\mathbb{E}[I_j] = 7/8$ 。

根据期望的线性性质,总共满足的 clause 数量的期望为:

$$ \mathbb{E}[\varphi] = \mathbb{E}\left[\sum_{j} I_j\right] = \sum_j \mathbb{E}[I_j] = \frac{7}{8}|\varphi| $$

由平均数原理(概率方法的基本结论),既然随机赋值的期望能够达到 $\frac{7}{8}|\varphi|$ ,那么必然存在至少一种赋值方案,满足的 clause 数量 $\ge \frac{7}{8}|\varphi|$ 。

Method of conditional probabilities

上文证明了存在性,这里通过 条件概率方法(去随机化) 来展示如何确定性地、一步步找出这组赋值。这可以通过一棵二叉树(The self-reducibility tree)来直观表示:

具体构造过程

我们不再同时给所有变量随机赋值,而是逐个变量 $x_1, x_2, \dots, x_n$ 依次确定,在决策树上从根节点走到叶子节点:

  1. 考虑第一个变量 $x_1$ ,由全概率公式/条件期望的性质可以将其展开:

$$ \frac{7}{8}|\varphi| = \mathbb{E}[\varphi] = \Pr[x_1=T] \cdot \mathbb{E}[\varphi \mid x_1=T] + \Pr[x_1=F] \cdot \mathbb{E}[\varphi \mid x_1=F] $$

  1. 由于 $\Pr[x_1=T] = \Pr[x_1=F] = 1/2$ ,上式表明整体期望 $\frac{7}{8}|\varphi|$ 是这两个条件期望的平均值。因此,这两个分支中必定至少有一个分支的条件期望 $\ge \frac{7}{8}|\varphi|$

  2. 我们的算法策略是:分别计算这两个条件期望(这在多项式时间内即可算出),并选择期望值较大的那个分支走下去(即将 $x_1$ 确定为能带来更大期望的那个 truth value)。

  3. 递归下去处理 $x_2$ 等后续节点。在已固定历史状态的每一步往下走,总是能保证所选子分支的期望至少和当前节点的期望一样大(即始终 $\ge \frac{7}{8}|\varphi|$ ) 。

  4. 当走到决策树的最底端(叶子结点)时,所有变量都已被赋为了固定的常数 (constants),期望退化为确定值。此时的结果必定大于等于最初根节点的期望,从而成功构造出了 $\ge \frac{7}{8}|\varphi|$ 个 clause 被满足的赋值。

本博客已稳定运行
发表了56篇文章 · 总计355.57k字
使用 Hugo 构建
主题 StackJimmy 设计