在对数空间中识别回文症需要多少时间?


20

众所周知,回文可以在磁带Turing机器上以线性时间识别,而在单磁带Turing机器上则无法识别(在这种情况下,所需时间是二次的)。线性时间算法使用输入的副本,因此也使用线性空间。2

我们是否可以仅使用对数空间在多带图灵机的线性时间内识别回文?更普遍的说,回文法已知哪种时空权衡?

Answers:


22

使用交叉序列或通信复杂它简单导出折衷用于连续使用时间图灵机ø (Ť (Ñ ))和空间ø (小号(Ñ ))。Ť(ñ)小号(ñ)=Ω(ñ2)Ø(Ť(ñ))Ø(小号(ñ))

该结果首先由Alan Cobham使用论文1966年出现在SWAT(后来的FOCS)上的完美正方形集的识别问题获得。


25

您可以使用用于证明单个磁带上的时间限制的相同参数。Ω(ñ2)

假设你有一个TM 空间识别回文 { X小号(ñ)(其中xR是x的倒数)在时间T(n)中。(输入)头越过中间的0n/3时,它只能携带S(n)位信息。因此,需要使Ω(n/S(n))交叉,每个交叉需要n/3次。{X0ñ3X[R∣|X|=ñ/3}X[RXŤ(ñ)0ñ/3小号(ñ)Ω(ñ/小号(ñ))ñ/3

因此。Ť(ñ)小号(ñ)=Ω(ñ2)


操作...写完答案后,我看到Kristoffer已经发布了解决方案。接受他的回答,我离开我只是因为它有更多细节。
— Marzio De Biasi 2014年

5
我想这实际上是同时发生的。
— Kristoffer Arnsfelt Hansen 2014年

如您所言,我接受了克里斯托弗的回答,因为他早了一点……谢谢你们!
— 2014年

1
看起来很奇怪。更好{x0n{X0ñ3X[R∣|X|=|ÿ|=ñ/3}注释,{X0ñ3X[R∣|X|=ñ/3}是字符串反向运算符。[R
— miracle173

2

除了其他答案外,值得注意的是,如果允许随机化,则可以通过对字符串的左侧进行哈希处理,对字符串的右侧进行转置进行哈希处理,从而以O(1)空间和O(n)时间识别回文。字符串,并检查哈希值是否相等。在图灵机上执行此操作并不难。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.