我给了SAT,

的以下随机算法

  • 输入:一个满足的cnf-faper $ \ varphi $
  • 输出:分配 $ \ rho $ ,这样 $ \ rho \ models \ varphi $

算法工作如下:

  1. 选择任意分配 $ \ rho $
  2. 只要 $ \ rho \ not \ models \ varphi $
    1. $ \ vari $ 中选择一个子句,不满意 $ \ rho $ 随机。
    2. 选择一个变量 $ x \ in_ {u.a.r} \ operatorname {var}(c)$
    3. 翻转 $ \ rho(x)$ (set $ \ rho(x)=overline { \ rho(x)} $ )。
    4. 我们必须证明对于2-CNF公式,该算法具有多项式预期运行时间。


      我已经证明,对于固定分配 $ \ alpha $ ,这样的taht $ \ alpha \ models \ varphi $ ,具有概率 $ p \ geq 1/2 $ ,在每次迭代后,在 $ \ alpha $ $ \ rho $ 减少一个。具有概率 $ 1-p $ ,分配 $ \ rho $ $ \ alpha $ 在一个额外变量的不同之处。

      现在我必须证明,算法以预期的多项式步骤完成。我能够增加一个抽象步骤。让 $ x_i $ 是一个随机变量,指示制作 $ \ rho=alpha $ ,当 $ \ rho $ $ \ alpha $ inful完全不同 $ i $ 变量。然后它拥有它 $$ e [x_i]= 1 + p e [x_ {i-1}] +(1-p)e [x_ {i + 1}],$$ $ x_i \ leq x_ {i + 1} $ for all $ i $ $ e [x_0] $ 等于0.我们需要找到 $ e [x_i] $ 的多项式绑定。

      $ p \ geq 1/2 $ $ x_i \ leq x_ {i + 1} $ ,以下必须持有 $$ e [x_i] \ leq 1 + \ frac {e [x_ {i-1}] + e [x_ {i-1}]} {2} $$

      现在,这可以看到蜜蜂在整数行上行走,在每个步骤中,我们向左移动一个步骤或向右移动一个步骤,移动到左侧的概率至少为一半。我们必须证明,在预期多项式的许多步骤(在起始位置中多项式),我们在行上达到数字 $ 0 $

      对此问题的任何帮助非常赞赏:)

有帮助吗?

解决方案

$ p= 1/2 $ 以及 $ p> 1/2 $ 时相当不同。当<跨越类=“math-container”> $ p> 1/2 $ 时,在期望中,移动 $ 2p-1 $ 左侧的步骤,因此您将在线性步数后击中原点。当 $ p= 1/2 $ 时,情况更复杂。

考虑在原点开始的线上随机散步。长度 $ 2n $ ,它永远不会移动原点是 $ \ frac {\ binom {2n} {n}} {n + 1} $ (这些是加泰罗尼亚号码)因此,您在完全 $ 2n + 1 $ 步骤中首次移动原产地右移原产权的概率 $$ q_ {2n + 1}=frac {1} {2 ^ {2n + 1}} \ frac {\ binom {2n} {n}} {n}} {n + 1} {n + 1}=theta \ left(\ frac {1} { n ^ {3/2}} \右)。 $$ 因此,直到您首次移动原点之前的预期步数是 $$ \ sum_ {n= 0} ^ \ idty(2n + 1)q_ {2n + 1}=sum_ {n= 0} ^ \ idty \ theta \ left(\ frac {1} {\ sqrt {n}} \右)=infty。 $$ 另一方面,对原点的访问次数是 $$ \ sum_ {n= 0} ^ \ idty \ frac {\ binom {2n} {n}} {2}} {2 ^ {2n}}=sum_ {n= 0} ^ \ idty \ theta \ left(\ frac {1} {\ sqrt {n}} \右)=idty, $$ 所以你将无限地移动原始原点。

结论是,随机散步在 $ i> 0 $ 几乎肯定地击中原点,但预期的达到原点是无限的。< / p> 但是,您的案例是不同的,因为您在 $ i= n $ :何时在第一个时$ n $ ,您始终移动到 $ n-1 $ 。你可以以下列方式想到这种情况。虽然实际的位置集是 $ 0,\ ldots,n $ ,我们想象反映这一设置的点 $ n $ ,添加 $ n-1 $ 新位置 $ n + 1,\ ldots,2n $ 。这里的位置 $ n + k $ 真的播放位置 $ n-k $ 。我们可以像往常一样运行随机漫步,在达到任一位置时声明胜利 $ 0 $ 或position $ 2n $

$ t $ 步骤后,初始位置的位移具有二项份分布 $ \ mathrm {bin}(t ,1/2)$ ,它接近正态分布 $ n(t / 2,t / 4)$ 。因此,在 $ T $ 步骤后,我们希望在 $ \ theta(\ sqrt {t})的距离处$ 从我们开始的地方(这可以通过考虑平方位移和使用Chebyshev的不等式来正式地显示,这需要估计二页随机变量的第四时刻)。在您的情况下,我们从某些位置开始 $ i \ in \ {1,\ ldots,n \} $ 。在 $ \ theta(n ^ 2)$ 步骤之后,我们期望大约 $ \ theta(n)$ 远离我们开始的地方,所以,点击 $ 0 $ $ 2n $ 。因此,该过程应收敛于 $ o(n ^ 2)$ 步骤。


我们还可以直接解决重复,当 $ p= 1/2 $ 时。回想一下,复发是 $$ e [x_i]= 1 + \ frac {e [x_ {i-1}] + e [x_ {i + 1}]} {2}, $$ 使用初始条件 $ e [x_0]= e [x_ {2n}]= 0 $

let $ n_i= e [x_i] + i ^ 2 $ 。然后 $$ n_i= 1 + \ frac {n_ {i-1} + n_ {i + 1} - (i-1)^ 2 - (i + 1)^ 2} {2} + i ^ 2=frac {n_ { I-1} + n_ {i + 1}} {2}, $$ 使用初始条件 $ n_0= 0 $ $ n_ {2n}= 4n ^ 2 $

let $ m_i= n_i - 2ni $ 。然后 $ m_i $ 满足与 $ n_i $ 相同的复发,其中初始条件 $ M_0= M_ {2n}= 0 $ 。很容易检查序列 $ m_0,\ ldots,\ ldots,\ ldots的最小值和最多必须在端点上获得$ ,因为 $ \ max(m_ {i-1},m_ {i + 1})\ geq m_i $ $ \ min(m_ {i -1},m_ {i + 1})\ leq m_i $ ),因此

ner“> $ m_i \ Equiv 0 $ 。因此 $ n_i= 2ni $ ,等等 $$ e [x_i]= i(2n-i)= n ^ 2 - (n-i)^ 2。 $$

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top