DTIME(f)のNTIME(f)サブセット


9

質問のように、ことをどのように証明しますか?NTIME(f(n))⊆DSPACE(f(n))

誰かが私に証拠を指摘したり、ここでそれを概説したりできますか?ありがとう!


4
マルチがあると思います。そこに隠れている定数。ことを証明できます。アルゴリズムの考えられるすべての非決定的推測を列挙し、これらの推測でアルゴリズムを実行します。推測の1つが受け入れ状態になる場合は受け入れます。NTIME(f(n))⊆DSPACE(2⋅f(n))
— Igor Shinkar

1
これを答えにしてみませんか?
— Yuval Filmus 2013

@IgorShinkar「ほとんどの」状況でこれらの定数を取り除くことができると言う線形スピードアップ定理やテープ圧縮定理など、さまざまな結果があります。線形高速化では、が、テープ圧縮では、、任意のについても同様です。DTIME(f(n))⊆DTIME(ϵf(n)+n+2)D S P A C E(F (N ))⊆ D S P A C E(ε F (N )+ O (1 ))ε > 0ϵ>0DSPACE(f(n))⊆DSPACE(ϵf(n)+O(1))ϵ>0
— David Richerby 2013

回答:


4

イゴールシンカーのコメントの拡張版を次に示します。時間および空間実行される非決定的マシンをシミュレートする最も簡単な方法は、空間を使用します。可能なすべてのコイン投げを列挙し、それぞれの元のマシンをシミュレートします。これには、コイントスを格納するためのスペースと、実際のマシンをシミュレートするためスペースが必要です。ここで若干の困難があります。コイントスが(オリジナルの)マシンによって「読み取られる」とき、私たちは、コイントスのシーケンスのどこにいるかをマークする必要があります。コイントスごとに追加のビットを使用できます。これをさらに最適化することはおそらく可能です。S (N )≤ F (N )S (N )+ 2 、F (N )+ O (1 )F (N )S (N )f(n)s(n)≤f(n)s(n)+2f(n)+O(1)f(n)s(n)

プログラムを実行するたびに、コインのトスの総数と使用されたスペースの合計が最大でなるため、注意すると、さらに良いものが得られる可能性があります。空間でシミュレーションを実行することは可能だと思います。おそらく、ようなものを想定する必要があり。(1 + o (1 ))f (n )f (n )= Ω (log n )f(n)(1+o(1))f(n)f(n)=Ω(log⁡n)

Igorが言及しているように、通常、リソースに制限されたクラスは「最大Oまで」のみ定義されているため、スペースを使用する結果は、まだます。D S P A C E(f (n ))O(f(n))DSPACE(f(n))

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