Saya membaca beberapa kali bahwa tidak mungkin membalik jawaban NDTM secara efisien. Namun, saya tidak mengerti mengapa. Misalnya, mengingat NDTM yang berjalan di , teks ini (bagian 3.3) menyatakan bahwa tidak jelas bagaimana NDTM dapat menentukan dalam waktu cara membalikkan jawaban
Masalah saya adalah sebagai berikut: NDTM menghasilkan jika ada urutan pilihan non-deterministik yang mengarah ke negara penerima. Selain itu, ada NDTM universal yang dapat mensimulasikan setiap NDTM dengan hanya overhead kecil (logaritmik). Jadi mengapa kita tidak dapat membuat T sebagai berikut: Pertama, simulasikan M dengan NDTM universal yang seharusnya dimungkinkan dalam waktu . Kemudian output 1 - jawaban M. Ini berarti bahwa kita dapat membalikkan jawaban setiap NDTM linear dalam waktu .
sumber
Jawaban:
Mesin Turing nondeterministic menerima jika setidaknya satu jalur menerima; itu hanya menolak jika semua jalur menolak. Asimetri ini membuatnya sulit untuk "membalik jawaban".
Misalnya, Anda memiliki mesin Turing nondeterministic yang memiliki dua jalur untuk input : satu menerima, yang menolak lainnya. memiliki setidaknya satu jalur penerimaan untuk , jadi ia menerima. Misalkan kita ingin menghasilkan mesin yang menerima input persis yang ditolak olehUpaya pertama yang jelas adalah untuk mengambil dan membuat negara penerima menolak, dan negara menolak menerima. memiliki satu jalur penerimaan untuk dan satu jalur penolakan; mesin baru ini memiliki satu jalur penolakan dan satu jalur penerima. Jadi masih menerima , yang seharusnya ditolak!M. w M. w M. M. M. w M.′ w
Mesin nondeterministic tidak dapat melihat semua jalurnya secara bersamaan dan mengambil tindakan berdasarkan apa yang dilakukan semua jalur itu. Jika Anda suka, Anda bisa menganggapnya sebagai bentuk paralelisme di mana utas dilarang untuk saling berkomunikasi. Ketika semua utas telah selesai, program harus mengajukan sendiri pertanyaan berikut: "Apakah setidaknya salah satu utas saya terima?" Jika jawabannya ya, secara hukum wajib untuk menerima; jika jawabannya tidak, secara hukum wajib menolak. Itu tidak bisa melakukan hal lain.
Ketika Anda mensimulasikan mesin nondeterministic menggunakan yang lain, , setiap jalur mensimulasikan satu jalur dan hanya melihat jalan itu. Tidak bisa mengatakan, "Jika semua jalur lain ditolak, saya akan menerima" karena tidak bisa melihat jalur lain; ia hanya bisa melihat dirinya sendiri. Jadi yang bisa dikatakan adalah hal-hal seperti, "Jika jalur yang saya simulasikan diterima, saya akan menolak" atau "Jika jalur yang saya simulasikan diterima, saya akan menerima juga". Kemudian, pada akhir perhitungan, mesin harus mengatakan, "Jika ada jalur saya yang diterima, saya akan menerimanya juga," yang mengarah ke masalah yang saya jelaskan di atas. Untuk membalikkan perilaku , setiap jalurM. M.′ M.′ M. M. M.′ perlu mengatakan, "Jika jalur yang saya simulasikan diterima, saya tolak; selain itu, saya terima" dan, di akhir perhitungan, mesin perlu mengatakan, "Jika semua jalur saya diterima, saya terima; kalau tidak, saya tolak . " Hal ini karena, jika semua jalur simulator ini diterima, yang berarti semua jalur 's ditolak, sehingga ditolak, sehingga kebutuhan simulator untuk menerima. Tetapi simulator ini bukan mesin Turing nondeterministik yang valid karena tidak menggunakan kriteria penerimaan yang diamanatkan secara hukum. Itu tidak bisa.M. M.
Satu-satunya cara kita tahu untuk mengetahui apakah mesin nondeterministic menolak inputnya adalah dengan mencoba setiap jalur yang mungkin dan memverifikasi bahwa mereka semua menolak. Lagi pula, jika salah satu dari mereka menerima, mesin akan menerima input. Tetapi mencoba setiap jalur yang mungkin secara eksponensial lebih lambat daripada mencoba hanya satu.
sumber
Masalahnya adalah bahwa NDTM secara inheren non-simetris: waktu berarti mereka memiliki langkah-langkah O ( n ) untuk menebak jalur penerimaan jika ada, dan akan menolak sebaliknya (jika tidak ada jalur penerima ada).O ( n ) O ( n )
Masalahnya adalah bahwa jika mesin Anda benar-benar di O ( n l o g ( n ) ) , itu berarti bahwa menebak di n l o g ( n ) langkah saksi yang M menolak input. Ini mungkin tidak mungkin dilakukan, karena tidak ada saksi penolakan M , hanya saksi penerimaan. Penolakan adalah tidak adanya saksi, sehingga tidak mudah untuk membuktikan penolakan dalam waktu singkat.NU O ( n l o g( n ) ) n l o g( n ) M. M.
sumber
sumber