Seorang murid saya baru-baru ini mengajukan pertanyaan berikut:
AsumsikanHaruskah ada sedemikian rupa sehinggaD T I M E ( f ( n ) ) ⊊ D T I M E ( g ( n ) ) .
Ini mungkin dapat ditunjukkan benar dengan membangun jika adalah konstruktif waktu. Tetapi secara umum, saya merasa bahwa ini harus salah mirip dengan .h ( n ) f , g D S P A C E ( o ( log ( log ( n ) ) ) )) = D S P A C E ( 1 )
cc.complexity-theory
S. Pek
sumber
sumber
Jawaban:
Jika D T I M E ( f ( n ) )DTIME(f(n)) didefinisikan sebagai kelas semua bahasa yang dapat dipilih dalam waktu O ( f ( n ) )O(f(n)) oleh mesin Turing dua pita, maka saya curiga bahwa jawabannya adalah tidak. Dengan kata lain, saya pikir tidak selalu ada kelas kompleksitas waktu menengah yang ketat.
Catatan: Jawaban ini mungkin tidak persis seperti yang Anda cari karena saya mempertimbangkan fungsi yang tidak dapat dihitung dan saya tidak menyertakan setiap detail argumen. Tapi, saya merasa itu adalah awal yang baik. Silahkan mengajukan pertanyaan. Mungkin saya dapat mengisi rincian ini lebih lanjut di beberapa titik atau mungkin ini akan menghasilkan jawaban yang lebih baik dari pembaca yang tertarik.
Pertimbangkan fungsi dari bentuk f : N → Nf:N→N . Kami menyebut fungsi-fungsi ini sebagai fungsi bilangan alami.
Kami membangun ε ( n ) sebagai fungsi langkah non-menurun yang tumbuh lambat. Mari kita menghitung semua fungsi komputasi terbatas { f i } i ∈ N . Kami ingin membangun ε ( n ) sedemikian rupa sehingga untuk setiap i dan setiap j ≤ i , m i n { kε(n) {fi}i∈N ε(n) i j≤i |ε ( k ) ≥ i } ≥ m i n { k|f j ( k ) ≥ i } . Dengan kata lain, kita menunggu untuk memetakan ε ( n ) ke i sampaifungsi i pertamadalam penghitungan telah dipetakan ke nilai yang lebih besar dari atau sama dengan i setidaknya sekali. Kemudian, ε ( n ) terus memetakan ke i hingga fungsi i + 1 pertamadalam penghitungan telah dipetakan ke nilai yang lebih besar dari atau sama dengan i + 1 setidaknya sekali dan pada titik ini mulai memetakan ke i + 1min{k|ε(k)≥i}≥min{k|fj(k)≥i} ε(n) i i i ε(n) i i+1 i+1 i+1 . Jika kita melanjutkan proses berulang ini untuk membangun ε ( n ) , maka untuk setiap fungsi komputabel yang diberikan tidak terikat, meskipun ε ( n ) mungkin tidak selalu lebih kecil, itu akan sering kali paling tidak setidaknya sama kecil.ε(n) ε(n)
Catatan: Saya baru saja memberikan intuisi di balik klaim 1, saya tidak memberikan bukti terperinci. Silakan bergabung dalam diskusi di bawah ini.
Karena ε ( n ) adalah fungsi yang tumbuh sangat lambat, kami memiliki yang berikut:ε(n)
Untuk klaim 2, jika ada fungsi yang dapat dihitung h ( n ) antara f ( n )h(n) ε ( n ) danf(n)sedemikian rupa sehinggah(n)≠Θ(f(n)), maka kita akan dapat menghitung fungsi bilangan alami tak terbatas yang tumbuh lebih lambat dariε(n)yang tidak mungkin . f(n)ε(n) f(n) h(n)≠Θ(f(n)) ε(n)
Biarkan saya menjelaskan beberapa detail yang relevan. Misalkan demi kontradiksi bahwa fungsi seperti h ( n ) ada. Lalu, ⌊ f ( n )h(n) h ( n ) ⌋tidak terbatas.⌊f(n)h(n)⌋
Catatan: Fungsi sebelumnya dapat dihitung karena f ( n ) dan h ( n ) dapat dihitung.f(n) h(n)
Karena h ( n ) = Ω ( f ( n )ε ( n ) ), kita memiliki⌊f(n)h(n)=Ω(f(n)ε(n)) h ( n ) ⌋=O(ε(n)). Karena itu ada beberapa konstantaαsehingga untuk semuancukup besar,⌊αf(n)⌊f(n)h(n)⌋=O(ε(n)) α n h ( n ) ⌋<ε(n). Karena fungsi ini tidak terbatas dan dapat dihitung, kami dapat menerapkan Klaim 1 untuk mendapatkan bahwaε(n)≤⌊αf(n)⌊αf(n)h(n)⌋<ε(n) h(n)⌋ε(n)≤⌊αf(n)h(n)⌋ infinitely often which contradicts the previous statement.
In order to just show that, DTIME(f(n)ε(n))⊊DTIME(f(n))DTIME(f(n)ε(n))⊊DTIME(f(n)) we need to use a stronger time hierarchy theorem and this is where we use the assumption that the number of tapes is fixed (we said two tapes above). See "The tight deterministic time hierarchy" by Martin Furer.
Since there are no computable natural number functions between f(n)ε(n)f(n)ε(n) and f(n)f(n) other than those that are Θ(f(n))Θ(f(n)) , we have that for every function h(n)h(n) such that f(n)ε(n)≤h(n)≤f(n)f(n)ε(n)≤h(n)≤f(n) and h(n)≠Θ(f(n))h(n)≠Θ(f(n)) , DTIME(f(n)ε(n))=DTIME(h(n))DTIME(f(n)ε(n))=DTIME(h(n)) .
sumber
If this result is true, it would strengthen the best-known deterministic time hierarchy theorem. [This is more of a comment than an answer, but too long for a comment. It leaves open the direct construction of a counterexample.] Recall that the best Deterministic Time Hierarchy Theorem we currently have is that if f(n),g(n)f(n),g(n) are time-constructible, and g(n)≤o(f(n)/logf(n))g(n)≤o(f(n)/logf(n)) , then DTIME(g(n))⊊DTIME(f(n))DTIME(g(n))⊊DTIME(f(n)) .
Now suppose your desired result is true, and let g(n)g(n) be a time-constructible function that is close to, but still little-oh of, f(n)/log(f(n))f(n)/log(f(n)) , say, g(n)=f(n)/(logf(n))3/2g(n)=f(n)/(logf(n))3/2 . (This gg may not be time-constructible for arbitrary time-constructible ff , but surely for many time-constructible ff this gg is also time-constructible.) Now, your desired result produces an hh such that DTIME(g(n))⊊DTIME(h(n))⊊DTIME(f(n))DTIME(g(n))⊊DTIME(h(n))⊊DTIME(f(n)) . In order to avoid improving the current-best time hierarchy theorem, we would need both g(n)=o(h(n)/log(h(n)))g(n)=o(h(n)/log(h(n))) and h(n)=o(f(n)/log(f(n))h(n)=o(f(n)/log(f(n)) . These two together imply that g(n)≤o(f(n)/(log(f(n))log(h(n)))g(n)≤o(f(n)/(log(f(n))log(h(n))) . Since h(n)≥g(n)h(n)≥g(n) , we have g(n)≤o(f(n)log(f(n))log(g(n)))g(n)≤o(f(n)log(f(n))log(g(n))) , or equivalently g(n)logg(n)≤o(f(n)/log(f(n)))g(n)logg(n)≤o(f(n)/log(f(n))) . But g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))−(3/2)loglog(f(n)]∼f(n)/√log(f(n))g(n)log(g(n))=f(n)/(log(f(n))3/2[log(f(n))−(3/2)loglog(f(n)]∼f(n)/log(f(n))−−−−−−−−√ , which is not o(f(n)/log(f(n))o(f(n)/log(f(n)) .
sumber
I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have DTIME1(O(n))=DTIME1(o(nlogn))DTIME1(O(n))=DTIME1(o(nlogn)) . Unfortunately, the only reference I know is in German: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.
On the other hand, it should be possible to separate DTIME1(O(n))DTIME1(O(n)) and DTIME1(O(nlogn))DTIME1(O(nlogn)) by the language {x#2|x|x∣x∈{0,1}∗} using a standard crossing sequence argument.
sumber