バニラチューリングマシンで弦のインプレースリバースを間に合わせることができますか


7

バニラチューリングマシンとは、テープが1本のチューリングマシンを意味します(特別な入力テープや出力テープはありません)。

問題は次のとおりです。テープは最初は空ですが、 n 10s文字列の終わり文字で終了します。テープヘッドは、文字列の先頭から始まります。目標は、テープに元の文字列を逆の順序で格納し、文字列終了文字で終了し、チューリングマシンが最終的に停止すると、テープヘッドが文字列の先頭に戻るようにすることです。

チューリングマシンは、(それが含まれている限り)好きなだけ大きなアルファベットを使用できます。 01、および文字列の終わりの文字)であり、好きなだけ状態を設定できます。このタスクを時間内に完了することができる固定チューリングマシンはありますかo(n2)

これを間に合わせるのは簡単です O(n2)いくつかの状態とシンボルのみを使用します。何かが一定の要因よりも速くそれを行うのを妨げていることは直感的に明らかであるように見えますが、それを証明することはできませんでした。対数高速化...


を証明するために Ω(n2)下限:Communication Complexityの下限メソッドを使用できます。たとえば、パリンドロームの証明({wwR})が必要 Ω(n2)、あなたの場合に。アローラとバラクの「
Vor

演習のヒントは正しくありません。最初のn / 3ビットを中央の領域に単純にコピーしてから、中央の領域を最後のn / 3ビットと比較するチューリングマシンを考えます。このマシンは、位置n / 3から位置2n / 3に一度だけ移動します。
ゼブ2013

私はそれが間違っているとは思わない:文字列が与えられた w#nwR|w|=n (長さn / 3の3つの「ゾーン」があります)、 k の横断 # ゾーンはそれを決定するのに十分であり、その後 O(k)平等のプロトコル。あなたのケースでは、文字列を逆にする通信の複雑さを確認する必要があります{0,1}n#n{0,1}n
2013

回答:


10

このようなことを証明する標準的な方法は、それを示すことです Θ(n) 情報のビットは少なくとも交差する必要があります Θ(n) ポイント。

つまり、「インプレース」でリバースする場合、ビットの最初の3分の1がすべて交差する必要があります。 n/3 真ん中のセルと最後に終わります n/3細胞。頭が動くのでO(1) 最大で距離のビット 1 各ステップのセル、これには n2/9ステップ。反転したコピーが異なるセルのセットになってしまう場合、非常によく似た引数でΩ(n2) 下限。

この直感的なアイデアを厳密にするためにはいくつかの作業が必要ですが、これらの結果が表示された論文を見つける時間はありませんが、完了しました。関連する論文を指摘できる人がいる場合は、この回答を編集してください。


ああ、私はようやくこれを厳密に行う方法を理解したと思います。基本的には、ヘッドが位置kから位置k + 1にステップする回数が、少なくともmin(k、nk)を状態数の対数で割ったものであることを示す必要があります。
ゼブ2013

3

それを行う方法も見当たらない。

取るようです Θ(n2) 文字列の2番目のコピーを作成する時間(たとえば、入力が n-ビット文字列 s、計算の最後に、テープに文字列を含めたい ss)。おそらく、これは通信の複雑さの方法を使用して何らかの形で形式化することができます。知りません。

反転が必要と思われる理由の直感は次のとおりです Ω(n2)ステップ。色のビット位置0,1,,n/2テープの緑; それが「グリーンゾーン」です。同様に、ビット位置を扱いましょう3n/4,,n「レッドゾーン」として。直感的に、私たちは伝えなければなりませんn/2グリーンゾーンからレッドゾーンへの情報のビット。チューリングマシンの有限状態オートマトンが保持できる場合b 情報のビット、次にチューリングマシンはグリーンゾーンを訪問する必要があります n/(2b) 回、そしてそれは少なくとも旅行する必要があります nレッドゾーンに到達するための位置。したがって、それはチューリングマシンが少なくともやらなければならないだろうと感じていますn/(2b) パス(各パスでグリーンゾーンに入り、その後グリーンゾーンからレッドゾーンに移動する)、および各パスは n 頭の動きだけのためのステップ、合計で少なくとも n2/(2b)=Ω(n2)ステップ。これは完全な証明ではありませんが、これを行うためのより高速な方法があるとは思わない理由をある程度理解できるようです。

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