随机多项式TM

时间:2015-01-05 15:39:10

标签: complexity-theory space-complexity

我需要证明存在随机多项式TM M,它使用O(log(n))空间s.t.

  

表示输入G,s,t,其中G是有向图,s,t是两个顶点   G:如果有一条从s到t的路径,那么Pr[M(G,s,t) = 1] ≥ 1/nⁿ
  其他Pr[M(G,s,t)=1] = 0

我试图每次选择一个随机邻居,但我无法确定为什么概率为1/nⁿ
而且我不确定迭代次数。

另一个问题:
我需要使用上面的结果以及我使用O(log k)空格的“随机计数器”,最多可以计算2k,以表明:

  

如果存在使用O(log n)的随机多项式TM M,则L在LN中   空间和每个输入x,M将发现并且:如果x在L中那么   Pr[M(x) = 1] ≥ 1/2其他Pr[M(x) = 1] = 0

1 个答案:

答案 0 :(得分:0)

我只回答第一个问题,因为每个帖子应该是一个问题。

<强>算法:

  1. 以vertice s
  2. 开头
  3. 将计数器设置为零。
  4. 选择随机邻居v。 (并递增计数器)
  5. 检查v是否等于t
  6. 如果没有选择v的另一个随机邻居。 (增加柜台)
  7. 重复3.和4.直到找到t或计数器到达n。 (或c⋅n其中c是常数)
  8. 为此,您只需要保存3个顶点(svt)和计数器。如果计数器存储为binaray数,则需要log₂(n)位。所以这在O(log(n))空间中运行。

    如果从st没有路径,您将永远不会获得s的{​​{1}}邻居,因此t成立。<登记/> 如果存在路径,找到它的可行性将是选择正确邻居的可行性的产物。所以最糟糕的情况是Pr[M(G,s,t)=1] = 0是一个完整的图,所以外翻顶点有g个邻居。路径不能超过n-1个顶点。因此,让n[s,v₁,v₂,...,vm,t]s的路径t。我们得到了

    Pr[M(G,s,t) = 1] ≥ Πk=1,...,m 1/|neighbors(vk)|
                     ≥ Πk=1,...,m 1/(n-1)
                     ≥ Πk=1,...,m 1/n
                     ≥ Πk=1,...,n 1/n
                     = 1/nⁿ