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


9

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

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


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

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

@IgorShinkar「ほとんどの」状況でこれらの定数を取り除くことができると言う線形スピードアップ定理やテープ圧縮定理など、さまざまな結果があります。線形高速化では、が、テープ圧縮では、、任意のについても同様です。DTIME(f(n))DTIME(ϵf(n)+n+2)D S P A C EF 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)=Ω(logn)

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

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