Percepatan deterministik yang tidak deterministik

14

Bisakah nondeterminisme mempercepat perhitungan deterministik? Jika ya, berapa banyak?

Dengan mempercepat perhitungan deterministik dengan nondeterminisme yang saya maksud adalah hasil dari bentuk:

DTsayame(f(n))NTsayame(n)

Misalnya sesuatu

DTsayame(n2)NTsayame(n)

Apa hasil percepatan yang paling dikenal dari perhitungan deterministik oleh nondeterminisme? Bagaimana dengan atau bahkan menggantikan ? A T i m e (n) N T i m e (n)ΣkPTsayame(n)SEBUAHTsayame(n)NTsayame(n)

Asumsikan bahwa kelas kompleksitas didefinisikan menggunakan mesin Turing multi-tape untuk menghindari kekhasan yang diketahui dari mesin Turing single-tape sub-kuadratik.

Kaveh
sumber
3
(Dengan Teorema 4.1 dan Waktu Hierarchy Teorema, misalnya Anda tidak dapat tahan selama TM 1-tape.)

Jawaban:

11

Anda seharusnya tidak mengharapkan peningkatan yang menarik. Kita punya

DTIME(f(n))NTsayaM.E(f(n))SEBUAHTsayaM.E(f(n))DSPSEBUAHCE(f(n)),

dan simulasi waktu deterministik oleh ruang angkasa yang paling dikenal masih merupakan teorema Hopcroft-Paul-Valiant

DTIME(f(n))DSPACE(f(n)/logf(n)).

Dengan demikian, nondeterminisme atau pergantian tidak diketahui memberi kecepatan lebih dari faktor logaritmik. (Saya menduga tidak ada super-linear speed-up yang diketahui, meskipun saya tidak yakin apakah teorema HPV tidak dapat dibuat untuk bekerja dengan ATIME menggantikan DSPACE.)

Emil Jeřábek mendukung Monica
sumber
1
Untuk mesin Turing daring satu-pita, adalah cerita rakyat bahwa . NTIME(n)DSPACE(n)
Michael Wehar
1
Untuk mesin Turing dua pita, kami memiliki seperti yang dinyatakan di atas. DTIME(n)DSPACE(n/log(n))
Michael Wehar
2
Pertanyaannya adalah tentang mesin Turing multitape.
Emil Jeřábek mendukung Monica
4
Saya hanya ingin memberikan klarifikasi tambahan untuk pembaca yang tertarik.
Michael Wehar
2
Oleh Paul-Pippenger-Szemerédi-Trotter, penyertaan pertama adalah untuk kasus khusus di mana f ( n ) = n . DTIME(f(n))NTIME(f(n))f(n)=n
András Salamon
6

Ada dua konsep berbeda:

(1) Simulasi mesin deterministik yang efisien oleh mesin non-deterministik.

(2) Mempercepat hasil yang diperoleh dengan menerapkan simulasi berulang-ulang.

Saya tidak tahu ada simulasi efisien mesin deterministik oleh yang non-deterministik, tetapi saya tahu beberapa hasil percepatan yang dapat digunakan jika simulasi efisien ada.

Pertimbangkan kelas bahasa yang dapat ditentukan oleh mesin Turing non-deterministik yang berjalan selama t ( n ) waktu hanya menggunakan g ( n ) tebakan non-deterministik. Dengan kata lain, panjang saksi dibatasi oleh g ( n ) .NTIGU(t(n),g(n))t(n)g(n)g(n)

Jika Anda memiliki simulasi lebih efisien hanya menggunakan dugaan non-deterministik, maka saya percaya Anda bisa mempercepatnya cukup sedikit. Secara khusus, saya yakin Anda dapat membuktikan hal berikut:log(n)

Jika , maka D T I M E ( 2 DTIME(nlog(n))NTIGU(n,log(n)).DTIME(2n)NTIME(n)

Jika Anda menemukan ini menarik, maka saya bisa menulis buktinya.

Ryan Williams memperkenalkan beberapa peningkatan terkait dalam "Meningkatkan Pencarian Lengkap Mengimplikasikan Batas Bawah Superpolinomial".

Michael Wehar
sumber
1
Seperti yang Anda lihat, adalah asumsi yang agak besar dan cukup masuk akal bahwa Anda dapat membuktikan hipotesis itu salah. . Beri tahu saya jika Anda melakukannya. :)DTIME(nlog(n))NTIGU(n,log(n))
Michael Wehar
@AndrasSalamon: Bagaimana cara mengikuti dari pencarian lengkap?
@ RickyDemer Anda benar, itu tidak; telah menghapus komentar. Secara implisit saya berasumsi bahwa nondeterminisme berada di akhir perhitungan, tetapi harus diasumsikan sebagai permulaan.
András Salamon
Pembaruan: Akhirnya mulai menulis hasil percepatan yang diusulkan yang saya sebutkan. Tampaknya sedikit berbeda dari hasil mempercepat lainnya yang saya temukan. Silakan membalas atau mengirim email kepada saya jika Anda tertarik untuk berdiskusi. Terima kasih! :)
Michael Wehar
1
pasti akan melihatnya, ini adalah pendekatan yang menarik.
András Salamon
6

Berikut ini adalah penjelasan mengapa kecepatan quartic nondeterministic umum dari perhitungan deterministik bahkan jika benar akan sulit untuk dibuktikan:

Asumsikan bahwa kecepatan quartic nondeterministic umum dari perhitungan deterministik seperti berlaku. Demi kontradiksi, asumsikan bahwa S A TD T i m e ( o ( n 2 / lg n ) ) . Ada pengurangan waktu kuadratik dari masalah apa pun di N T i m e ( nDTime(n4)NTime(n)SATDTime(o(n2/lgn)) Untuk S A T . Menggabungkan ini kita akan memiliki D T i m e ( n 4 ) D T i m e ( o ( n 4 / lg n ) ) bertentangan dengan teorema hierarki waktu.NTime(n)SATDTime(n4)DTime(o(n4/lgn))

Oleh karena itu, seorang jenderal quartic nonterministic kecepatan-up dari perhitungan deterministik akan berarti lebih rendah terikat untuk :SAT

.DTime(n4)NTime(n)SATDTime(o(n2/lgn))

Oleh karena itu membuktikan umum kuadrat nondeterministic kecepatan-up dari perhitungan deterministik setidaknya sekeras membuktikan hampir kuadrat rendah-batas pada .SAT

Demikian pula, untuk fungsi berperilaku baik :f(n)

.DTime(f(n2))NTime(n)SATDTime(o(f(n)/lgn))

(Jika sebagai pengganti kita memilih masalah yang sulit untuk N T i m e ( n ) di bawah pengurangan linear-time maka ini akan memberikan f ( n ) / lg n batas bawah untuk masalah itu. Jika kita memperbaiki jumlah kaset mesin untuk beberapa k 2 maka kita dapat menggunakan Fürer ini waktu hirarki teorema yang tidak memiliki lg n faktor.)SATNTime(n)f(n)/lgnk2lgn

Kaveh
sumber
Karena kita bahkan tidak tahu bahwa SAT tidak dalam DTime (n), kita tidak tahu kecepatan . ω(nlgn)2
Kaveh