ユニバーサルチューリングマシンシミュレーションの時間計算量と時間階層定理


8

時間階層定理(HennieとStearns、1966)の証明を理解するには少し問題があります。これは、では受け入れられるが、では受け入れられない関数言語の存在を保証します、そのようなことを、時間構成可能であり、そしてT n T n U n U n U(n)T(n)T(n),U(n)U(n)

nT(n)=o(U(n)logT(n)).

この証明は、時間で時間の複雑度を持つ任意のチューリングマシンをシミュレートするユニバーサルチューリングマシンの存在に基づいてい。T n ログT n T(n)T(n)logT(n)

すべてのテープチューリングマシンが、対数オーバーヘッドのある2テープチューリングマシンでシミュレーションできることの証明を理解しています(信じています)。ただし、この構造は、シミュレーションされたチューリングマシンが固定されている場合にのみ理解でき、Universal TMシミュレーションの場合は理解できません。k

引用されている論文(および計算の複雑さに関するいくつかの標準的な書籍)に記載されている、Universalマシンの構築に関連する推論に「問題」が1つあります。この「問題」とは、ユニバーサルマシンシミュレーションでは、シミュレートされたマシンの1つの計算ステップが、ユニバーサルマシンによって一定の時間で実行されることになっているということです。言い換えると、シミュレートされたマシンの記述の長さは一定であると想定されます。

しかし、これで大丈夫ですか?時間階層定理の証明では、シミュレートされたチューリング機械に与えられる入力はまさにこの説明であり、したがって、説明は何らかの形で依存しています。先頭のビットのシーケンスによって説明が長くなる可能性があることは承知していますが、これでこの問題が解決されないようです。n

つまり、シミュレートされたマシンの計算ステップが、ユニバーサルマシンによって一定の時間で実行されるはずである理由を理解できません。ヘニーとスターンズの論文はこれにあまり注意を払っていません、それはこの時間が暗黙的に定数であると仮定されるものであると単に述べているだけです。同様に、私はそのトピックについて読んだ教科書で。

シミュレーションの時間の複雑さがではなく、はない理由を理解できません。T(n)logT(n)nT(n)logT(n)

私は私が何かを逃していることをほぼ確信しています。しかし、私はこれを比較的長い間理解しようとしており、どういうわけかこれを理解することができません。

回答:


7

ここでは、私がよく知っている階層定理の証明について言及します。ここでは、あなたが言及している問題は見当たりません。

言語を定義します は内で受け入れません(は作業中の時間関数です)。L={(M,w):M(M,w)t(n)|M|3+|M|logt(n),n=|(M,w)|}t

はユニバーサルマシンを使用して決定可能であることを示し、ユニバーサルマシンでは各ステップがマシンのサイズに実際に依存しているため、分母にがあります( 3は、ステップのシミュレーションに必要な計算の上限にすぎません)。O t n | M | LO(t(n))|M|3

答えを完全にするために:矛盾に到達しようとすると、を決定するマシンが存在すると仮定します。この仮定の後、のエンコーディングは固定され、シングルステップのシミュレーションには実際には一定の時間がかかりますを変更せずに入力の長さを増やすのに十分な長さのを取ることで、矛盾に到達できます。L T w TTLTwT


1
私は理解していると思います-最後に...これは素晴らしいです。;) どうもありがとう!
042

1
ところで、これはまったく馬鹿げた質問ではありません。これは、これらの小さな詳細がすべてなくても難しい定理です!
Shaull
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.