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 i ∈ O ( n 2 + ε ) L D T I M E ( n 2 + o ( 1 ) )MiL∀ε>0∃Mi∈O(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 w∈Liw∈Li 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 ′MM′MΩ(n2+1/M′)0M′1n−M′nMM′MΩ(n2+1/M′)M′mensimulasikan 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.