随机算法与复杂度类深度解析
1. RANDOM - SAT算法概率分析
在一般情况下,初始步骤后从状态 $i$ 开始,向右最多可移动 $(n - i)/2$ 步。已知向右移动的概率为 $2/3$,向左移动的概率为 $1/3$。此时,我们可以得到状态转移的概率公式:
- $p_i = \binom{n}{\frac{n - i}{2}} (\frac{2}{3})^{\frac{n - i}{2}} (\frac{1}{3})^{n - \frac{n - i}{2}}$
设 $q_i$ 为 $RANDOM - SAT(\phi)$ 在初始步骤到达某个状态 $i \leq n/3$ 的概率,其计算公式为:
- $q_i = \binom{n}{i} \cdot 2^{-n}$
设 $p$ 为 $RANDOM - SAT(\phi)$ 在内层 for 循环中到达最终状态 0 的概率。由于该事件也可能从状态 $j > n/3$ 开始发生,所以有:
- $p \geq \sum_{i = 0}^{n/3} p_i \cdot q_i$
通过熵函数(entropy function)可以对上述求和进行适当近似,同时利用斯特林公式(Stirling’s formula)能对二项式系数进行合适估计,最终可得到 $p$ 的下界至少为(常数因子不计)$(3/4)^n$。
为了使 $RANDOM - SAT(\phi)$ 的错误概率足够小,我们可以执行 $t = \lceil(4/3)^n\rceil$ 次独立试验,每次试验都以新的初始赋值 $\beta$ 开始。每次试验的接受概率至少为 $(3
随机算法与复杂度类解析
超级会员免费看
订阅专栏 解锁全文
2365

被折叠的 条评论
为什么被折叠?



