対数空間でパリンドロームを認識する時間はどれくらいですか?


20

パリンドロームはテープチューリングマシンでは線形時間で認識できますが、シングルテープチューリングマシンでは認識できないことはよく知られています(この場合、必要な時間は2次です)。線形時間アルゴリズムは入力のコピーを使用するため、線形空間も使用します。2

対数空間のみを使用して、マルチテープチューリングマシンの線形時間でパリンドロームを認識できますか?より一般的には、パリンドロームではどのような時空トレードオフが知られていますか?

回答:


22

交差シーケンスまたは通信の複雑さを使用すると、時間O T n および空間O S n を使用したシーケンシャルチューリングマシンのトレードオフを導き出すのは簡単です。T(n)S(n)=Ω(n2O(T(nOSn

この結果は、最初に論文交差シーケンスを使用してAlan Cobhamによって得られました。SWAT(後のFOCS)1966年に登場した完全な正方形のセットの認識問題


25

単一のテープの時間制限を証明するために使用されるのと同じ引数を使用できます。Ω(n2)

パリンドロームを認識するスペースの あるTMがあるとします{ xS(n)(ここで、X、Rの逆方向であるX)時間でTN。(入力)ヘッドが中央の0n/3を横切るとき、Snビットの情報のみを運ぶことができます。そのため、Ωn/Snを交差させる必要があり、各交差にはn/3回必要です。{x0n3xR|x|=n/3}xRxT(n)0n/3S(n)Ω(n/S(n))n/3

したがって、です。T(n)S(n)=Ω(n2)


Ops ...答えを書いた後、私はクリストファーがすでにソリューションを投稿しているのを見ました。彼の答えを受け入れます。詳細がいくつかあるからです。
マルツィオデビアシ14

5
ほぼ同時だったと思います。
クリストファーアーンスフェルトハンセン14

あなたが示唆したように、私はクリストファーの答えを受け入れました。彼は少し前だったので...あなたの両方に感謝します!
ブルーノ

1
奇妙に見える。より良い{x0n{x0n3xR|x|=|y|=n/3}アノテーション{x0n3xR|x|=n/3}は文字列の逆演算子です。R
miracle173

2

他の答えに加えて、ランダム化が許可されている場合、パリンドロームは、文字列の左側をハッシュし、右側の転置をハッシュすることにより、O(1)スペースとO(n)時間で認識できることに注意する価値があります文字列、およびハッシュが等しいかどうかの確認。チューリングマシンでこれを行うのは難しくありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.