1テープチューリングマシンでの入力長の計算


13

この質問に関連して、シングルテープシングルヘッドチューリングマシンが入力の長さを計算するための時間の複雑さは何だろうと思いました。具体的には、テープのアルファベットであることレッツ言う、入力中の文字列である0 + 1 *左端の入力シンボルでブランク、マシンが起動に囲まれ、そしてそれはで終端しなければなりません0 + 1 ∗の文字列の左端の記号{01b}0+10+1(これも空白で囲まれています)入力長のバイナリ表現を提供します。これは、数値を単項からバイナリに変換する問題と考えることもできます。

これは、2テープマシンまたは2ヘッドマシンで線形時間で簡単に解決できます(一方のヘッドで入力をスキャンし、もう一方のヘッドを使用してカウンターを繰り返しインクリメントします。インクリメントは一定の償却時間操作です)。しかし、私が思いつくシングルヘッドソリューションはのみです(たとえば、カウンターを繰り返しインクリメントし、テープに沿って1ポジションずつシフトします)。一致する下限はありますか?Onログn

私はいくつかの検索を試みましたが、「one head」や「input length」などのフレーズは非常に一般的であるため、この問題に関する既知の結果について文献を検索することは困難です。


興味深い..これは、本来あるべきように見えるほど明白ではありません。この下限と忘却型TMシミュレーションの下限との間に関係があるかどうか興味があります。(この問題を解決するTMは、定義上、忘れられます(または不必要なコードがあります)。)
ダニエルアポン

回答:


11

時間で計算できません。onlgn

LET 入力文字列を与えられたマシンでは、xは サイズと停止をX テープ上のバイナリに書き込まれます。Mバツバツ

単純な(ゼロ空間線形時間)DFAを に追加して、入力のサイズが2のべき乗かどうかを確認できます。最初のビットが1で、残りがゼロであることを確認します。M

が時間o n lg n )を実行すると仮定しましょう。その後、時間o n lg n で入力のサイズが2のべき乗であると判断できます。つまり、次の言語はD T i m en lg n )で決定可能です。 L = { 0 、I | kはiが= 2 K } からは、以下D Tをiがm個の電子をMonlgnonlgnDTmenlgn

L={0k =2k}
Lは規則的でなければなりません。しかし、言語が規則的ではないことを確認するのは簡単です。したがって、 Mは時間 o n lg n )で実行できません。DTmeonlgn=RegLMonlgn

DTmeonlgn=Reg

DTmenlgn=Reg

ポインタのおかげで、私は「古典的な再帰理論」巻を見ていた。II。それが変わったという事実のために、それは私にとってそれほど明確ではありません。たとえば、Sipserの本は時間の複雑さのクラスを定義するためにシングルテープTMを使用していますが、Hopcroft-Ullmanの本および最新のArora-BarakおよびGoldreichはマルチテープTMを使用しています。
ブルーノ

1
@Bruno、私はより多くの一般的な定義は何だと思いDTIMEがより複雑になります。例えば、「定理がタイトであることが知られていない時間階層は、」1982年以来タイトであることが知られている2テープ・マシンのために、単一のテープ・マシンのための唯一の真実であることを一般的に述べた主張
Kaveh

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