Lecture 8 - 2025 / 3 / 13

DNF Counting

Definition (Disjunctive Normal Form): 称形如 (x1∧x2∧⋯ )∨(x‾3∧⋯ )∨⋯(x_1 \land x_2 \land \cdots) \lor (\overline{x}_3 \land \cdots) \lor \cdots 为 DNF。

类似的,CNF 就是常见的 SAT 问题,有 #SAT(φ)=2n−#DNF(¬φ)\# \text{SAT}(\varphi) = 2^n- \# \text{DNF}(\neg \varphi)。

我们试图设计一个算法在多项式时间内估算 DNF 的解的比例的 FPRAS。

Definition (fully polynomial randomized approximation scheme): 针对 f:Σ∗→Nf : \Sigma^* \to \N 的 FPRAS 是一个算法,读入 (x,ε)(x, \varepsilon),在关于 ∣x∣,ε−1|x|, \varepsilon^{-1} 多项式时间内输出随机变量 ZZ 满足:
Pr⁡[(1−ε)f(x)≤Z≤(1+ε)f(x)]≥34\Pr[(1 - \varepsilon)f(x) \le Z \le (1 + \varepsilon)f(x)] \ge \dfrac 3 4

给定 DNF φ1∨⋯∨φn\varphi_1 \lor \cdots \lor \varphi_n,共涉及 x1,⋯ ,xmx_1, \cdots, x_m。设第 ii 个 term 的解集为 SiS_i,显然 Si=2m−∣φi∣S_i = 2^{m - |\varphi_i|},目标即为求 ∣⋃Si∣|\bigcup S_i|。具体而言,构造集合
U={(a,i)∣a∈Si}U = \{ (a, i) \mid a \in S_i \}

从而 ∣U∣=∑i=1n∣Si∣|U| = \sum\limits_{i=1}^{n} |S_i|。我们可以在 UU 中均匀随机采样 (a,i)(a,i)。我们称一个样本 (a,i)(a, i) 是 special 的,当且仅当 ∀j<i,a∉Sj\forall j < i, a \notin S_j。换言之,aa 最早出现在 SiS_i 中。

从而
E[#special#total]=∣⋃Si∣∣U∣\mathbb E\left[\frac{\text{\#special}}{\text{\#total}} \right] = \dfrac{|\bigcup S_i|}{|U|}

由于 μ≥1n\mu \ge \dfrac 1 n,从而由 Unbiased Estimator Theorem,可以有效得到 34\dfrac 3 4 正确率的 ε\varepsilon 误差估计。实际上根据 Chernoff bound,只需要 O(n/ε2)O(n/\varepsilon^2) 次独立采样即可。

Network Reliability (1)

对于一张图 GG,有 nn 个点 mm 条边,每条边有 pp 的概率割断,记 pfailp_{\rm fail} 为 GG 不连通的概率,即“网络鲁棒性”。

Theorem: 存在关于 n,ε−1n, \varepsilon^{-1} 多项式时间的 FPRAS 估测 pfailp_{\rm fail}。(对于每条边隔断概率不同的情况,依然存在)

设 cc 为最小割的长度。

如果 pc≥1n4p^c \ge \dfrac 1 {n^4},则直接使用 Monte Carlo 方法,根据 Unbiased Estimator Theorem,由于 μ≥pc\mu \ge p^c,可以在 O(1μ2ε2)=O(n8ε−2)O(\dfrac 1 {\mu^2 \varepsilon^2}) = O(n^8 \varepsilon^{-2}) 次采样中得到估计。后文假设该性质不成立,即 pc=n−(4+δ)p^c = n^{-(4+\delta)}。

用 α\alpha-最小割 表示大小不超过 αc\alpha c,且仅将 GG 分为两部分的割。

考虑如下算法 RMinCut\text{RMinCut}:均匀随机抽取图中一条边 (u,v)(u, v),将两个点缩点(保留重边),直到只剩下 22 个点,返回它们之间所有的边。

Theorem: 设 C⊂EC \sub E 是任一个最小割,则 Pr⁡[RMinCut returns C]≥(n2)−1\Pr[\text{RMinCut returns } C] \ge \binom n 2^{-1}。

由于最小割大小为 cc,所以任何点的度数都 ≥c\ge c,也就是 ∣E(G)∣≥cn2|E(G)| \ge \dfrac {cn} 2。

从而第 11 轮选中 CC 中边的概率 ≤ccn/2=2n\le \dfrac{c}{cn/ 2} = \dfrac{2}{n}

容易看出等价于一直没有选择 CC 中的边,而且缩点并不会导致新图最小割变小,从而
Pr⁡[C survive all rounds]≥(1−2n)(1−2n−1)⋯(1−23)=2n(n−1)\begin{aligned} \Pr[C \text{ survive all rounds}] & \ge \left(1 - \frac 2 n\right)\left(1 - \frac {2}{n-1}\right) \cdots \left(1 - \frac 2 3 \right) \\ & = \dfrac{2}{n(n-1)} \end{aligned}

Corollary: 任意图 GG 的最小割的数量不超过 (n2)\binom{n}{2},因为 RMinCut\text{RMinCut} 输出任何一个最小割是互斥事件。

Claim: 只有至多 n2αn^{2\alpha} 个 α\alpha-最小割,这些割可以在关于 n,ε−1n, \varepsilon^{-1} 的多项式时间内列举出。

类似上面的证明方法,对于任意一个 α\alpha-最小割 CC,有
Pr⁡[C survive until 2α vertices remain]≥(1−2αn)⋯(1−2α2α+1)=(n2α)−1\begin{aligned} \Pr[C \text{ survive until }2\alpha \text{ vertices remain}] & \ge \left(1 - \frac {2\alpha} n \right) \cdots \left(1 - \frac {2\alpha} {2\alpha + 1} \right) \\ & = \binom{n}{2\alpha}^{-1} \end{aligned}

对于剩下 2α2\alpha 个点的图,任意输出一个割,则
Pr⁡[C survive]≥(n2α)−1122α−1≥1n2α\Pr[C \text{ survive}] \ge \binom{n}{2\alpha}^{-1} \frac{1}{2^{2\alpha - 1}} \ge \dfrac{1}{n^{2\alpha}}

最后,根据 coupon-collector,可以在期望 O(n2αlog⁡n2α)O(n^{2\alpha} \log n^{2\alpha}) 次实验内,列举出所有的 α\alpha-最小割。

从而,我们对于 poly(n)\text{poly}(n) 个 α\alpha-最小割,可以用加权的 DNF Counting 的方式,估算至少一个发生的概率。具体而言,割掉 xx 条边的方案权值为 px(1−p)m−xp^{x} (1-p)^{m-x},从而一个 term 的总权值为 p∣φi∣p^{|\varphi _i|},可以构造

E[∑special (a,i)p∣a∣(1−p)m−∣a∣∑(a,i)p∣a∣(1−p)m−∣a∣]=∑cut ap∣a∣(1−p)m−∣a∣∑i=1np∣φi∣\mathbb E\left[\frac{\sum\limits_{\text{special }(a, i)}p^{|a|} (1-p)^{m-|a|}}{\sum\limits_{(a, i)} p^{|a|} (1-p)^{m-|a|}} \right] = \dfrac{\sum\limits_{\text{cut } a} p^{|a|}(1-p)^{m-|a|}}{\sum\limits_{i=1}^{n} p^{|\varphi _i|}}

的 (1±ε)(1\pm \varepsilon) 估计,而右边分子正是我们想求的概率。