我需要证明存在随机多项式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
答案 0 :(得分:0)
我只回答第一个问题,因为每个帖子应该是一个问题。
<强>算法:强>
s
v
。 (并递增计数器)v
是否等于t
。v
的另一个随机邻居。 (增加柜台)t
或计数器到达n
。 (或c⋅n
其中c
是常数)为此,您只需要保存3个顶点(s
,v
,t
)和计数器。如果计数器存储为binaray数,则需要log₂(n)
位。所以这在O(log(n))
空间中运行。
如果从s
到t
没有路径,您将永远不会获得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ⁿ