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


20

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

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

Answers:


22

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

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


25

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

假设你有一个TM 空间识别回文 { X小号ñ(其中xRx的倒数)在时间Tn)中。(输入)头越过中间的0n/3时,它只能携带Sn位信息。因此,需要使Ωn/Sn交叉,每个交叉需要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.