Lecture 8 - 2025 / 3 / 13

DNF Counting

Definition (Disjunctive Normal Form): 称形如 (x1x2)(x3)(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φiS_i = 2^{m - |\varphi_i|},目标即为求 Si|\bigcup S_i|。具体而言,构造集合
U={(a,i)aSi}U = \{ (a, i) \mid a \in S_i \}

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

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

由于 μ1n\mu \ge \dfrac 1 n,从而由 Unbiased Estimator Theorem,可以在 O(n2ε2)O(\dfrac{n^2}{\varepsilon^2}) 次采样得到 34\dfrac 3 4 正确率的估计。

Network Reliability (1)

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

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

cc 为最小割的长度。

如果 pc1n4p^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:CEC \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](12n)(12n1)(123)=2n(n1)\begin{aligned} \Pr[C \text{ survive all rounds}] & \ge (1 - \frac 2 n)(1 - \frac {2}{n-1}) \cdots (1 - \frac 2 3) \\ & = \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](12αn)(12α2α+1)=(n2α)1\begin{aligned} \Pr[C \text{ survive until }2\alpha \text{ vertices remain}] & \ge (1 - \frac {2\alpha} n) \cdots (1 - \frac {2\alpha} {2\alpha + 1}) \\ & = \binom{n}{2\alpha}^{-1} \end{aligned}

对于剩下 2α2\alpha 个点的图,任意输出一个割,则
Pr[C survive](n2α)1122α11n2α\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αlogn2α)O(n^{2\alpha} \log n^{2\alpha}) 次实验内,列举出所有的 α\alpha-最小割。

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

E[special (a,i)pa(1p)ma(a,i)pa(1p)ma]=cut apa(1p)mai=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) 估计,而右边分子正是我们想求的概率。