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.wM.wM.M.M.wM.′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.