Apakah ?


15

Saya berharap jawabannya adalah tidak, tetapi saya tidak bisa benar-benar membuat contoh tandingan. Perbedaannya adalah pada , kita mungkin tidak dapat memilih algoritma secara seragam dalam .ε > 0 D T I M E ( O ( n 2 + ε ) ) O ( n 2 + ε ) εε>0DTIME(O(n2+ε))O(n2+ε)ε

Dengan argumen dovetailing (misalnya, lihat pertanyaan ini ), jika ada satu set mesin Turing memutuskan bahasa sedemikian rupa sehingga , maka adalah dalam .M i L ε > 0 M iO ( n 2 + ε ) L D T I M E ( n 2 + o ( 1 ) )MiLε>0MiO(n2+ε)LDTIME(n2+o(1))

Diberikan mesin Turing, apakah mesin itu berjalan dalam waktu adalah . Apakah suatu bahasa (diberi kode untuk mesin mengenalinya) ada di adalah (dan ); apakah bahasa dalam adalah . Jika kita dapat membuktikan kelengkapan (atau hanya Σ ^ 0_3 ) dari \ mathrm {DTIME} (n ^ {2 + o (1)}) , itu akan menyelesaikan masalah, tetapi saya tidak yakin bagaimana melakukannya bahwa.n 2 + o ( 1 ) Π 0 3 D T I M E ( n 2 + o ( 1 ) ) Σ 0 4 Π 0 3ε > 0 D T I M E ( O ( n 2 + ε ) ) Π 0 3 Σ 0 4 Σ 0 3 D T I Mn2+o(1)Π03DTIME(n2+o(1))Σ04Π03ε>0DTIME(O(n2+ε))Π03Σ04Σ03E(n2+o(1))DTIME(n2+o(1))

Masalahnya juga akan terpecahkan jika kita menemukan urutan bahasa LiLi sedemikian rupa sehingga
* LiLi memiliki algoritma keputusan O (n ^ {2 + 1 / i}) alami O(n2+1/i)O(n2+1/i)(seragam di ii ).
* Setiap LiLi terbatas.
* Tidak hanya ukuran LiLi tidak dapat diputuskan, tetapi suatu algoritma tidak dapat mengesampingkan wLiwLi jauh lebih cepat daripada O(n2+1/i)O(n2+1/i) (untuk kasus terburuk ww ), kecuali untuk banyak i secara terbatas ii(bergantung pada algoritma).

Saya juga ingin tahu apakah ada contoh penting / menarik (untuk ε>0DTIME(O(n2+ε))DTIME(n2+o(1))ε>0DTIME(O(n2+ε))DTIME(n2+o(1)) atau hubungan analog).


Saya tidak pernah memikirkan pertanyaan decidability seperti diberi mesin Turing, apakah itu mengenali bahasa di . Sangat rapi! Apakah ada alasan khusus mengapa Anda memilih 2 dalam eksponen? Saya kira ini kira-kira akan sama jika Anda menganggap beberapa nomor lain dalam eksponen yang lebih besar dari 2? DTIME(n2+o(1))DTIME(n2+o(1))
Michael Wehar

1
@MichaelWehar Saya hanya ingin contoh nyata, dan '1' terkadang istimewa, jadi saya memilih '2'. Properti kelengkapan di atas dan jawabannya di bawah ini cukup umum.
Dmytro Taranovsky

Jawaban:


10

Berikut adalah contoh tandingan, yaitu bahasa dengan algoritma O ( n 2 + ε ) (menggunakan mesin multitape Turing) untuk setiap ε > 0 , tetapi tidak seragam dalam ε : Terima 0 k 1 m iff k > 0 dan k th Turing mesin berhenti kurang dari m 2 + 1 / k menginjak input kosong. String lainnya ditolak.O(n2+ε)ε>0ε
0k1mk>0km2+1/k

Untuk setiap ε , kami mendapatkan algoritma O ( n 2 + ε ) dengan melakukan hardcoding pada semua mesin nonhalting yang cukup kecil, dan mensimulasikan sisanya.εO(n2+ε)

Sekarang, pertimbangkan mesin Turing M yang memutuskan bahasa.M

Biarkan M (pada input kosong) menjadi implementasi yang efisien dari hal berikut: untuk n dalam 1,2,4,8, ...:      gunakan M untuk memutuskan apakah M berhenti di < n 2 + 1 / M langkah .      hentikan iff M mengatakan bahwa kita tidak berhenti tetapi kita masih bisa berhenti dalam langkah < n 2 + 1 / M .M
n
MM<n2+1/M
M<n2+1/M

Dengan ketelitian M , M tidak berhenti, tetapi M mengambil Ω ( n 2 + 1 / M ) -langkah pada input 0 M 1 n - M untuk banyak sekali n . (Jika M terlalu cepat, maka M akan bertentangan dengan M. Batas Ω ( n 2 + 1 / M ) tergantung pada M MMMΩ(n2+1/M)0M1nMnMMMΩ(n2+1/M)Mmensimulasikan M dalam waktu linier dan dinyatakan efisien.)M


Saya tidak mengerti kalimat terakhir. Di mana kita mendapatkan batas bawah saat menjalankan M ? M
Emil Jeřábek mendukung Monica

@ EmilJeřábek Saya mengklarifikasi jawabannya. Beri tahu saya jika ini bisa diperbaiki lebih lanjut.
Dmytro Taranovsky

1
Mungkin saya tidak mengerti apa artinya "tapi kita masih bisa menghentikan ...". Apa, tepatnya, yang dilakukan M?
Emil Jeřábek mendukung Monica

@ EmilJeřábek M 'tidak menggunakan input dan berulang kali memanggil M untuk memutuskan masalah penghentian yang dibatasi untuk M'. Jika, misalnya, setelah menjalankan 900 langkah, M 'menemukan bahwa (menurut M) M' tidak berhenti di 1000 langkah pertama, kemudian M 'berhenti. Jika tidak, maka M 'terus berjalan dan memanggil M untuk memutuskan apakah M' berhenti di 4000 langkah pertama atau lebih.
Dmytro Taranovsky
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.