Definisi utama Turing machine (TM), setidaknya dalam buku referensi saya sendiri (Hopcroft + Ullman 1979) adalah deterministik.
Oleh karena itu pemahaman saya sendiri tentang masalah penghentian terutama untuk TM deterministik, meskipun saya sadar bahwa itu dapat dipertimbangkan untuk jenis automata lainnya.
Saya juga memperhatikan bahwa determinisme sering kurang lebih tersirat dalam cara orang sering merujuk pada TM atau masalah yang terhenti. Halaman wikipedia tentang masalah penghentian adalah contoh yang bagus untuk itu.
Tapi, sepertinya tidak ada alasan untuk pembatasan seperti itu. Mengingat keluarga automata yang dapat bersifat non-deterministik, masalah penghentian untuk dapat didefinisikan sebagai:F
Apakah ada prosedur pengambilan keputusan yang seragam sehingga, diberikan otomat dan input , dapat memutuskan apakah ada penghentian perhitungan pada input . x A x
(Ini tidak sama dengan mengatakan bahwa perhitungan dengan input akan berakhir.)x
Memang, itu tampaknya satu-satunya cara untuk memberikan beberapa pengertian untuk diskusi tentang masalah berhenti untuk Linear Bounded Automata (LBA) yang terutama automata non-deterministik.
Jadi pertanyaan saya adalah apakah saya benar, dan apakah ada alasan (dan alasan apa) untuk perawatan kelas dua yang tampaknya menghentikan masalah untuk automata non-deterministik.
Jawaban:
Ada beberapa alasan saya pikir kita kurang berupaya dalam masalah Menghentikan untuk model non-deterministik.
Yang pertama adalah, pada kenyataannya, ada dua masalah penghentian yang relevan untuk model ND. Diberikan input dan mesin non-deterministik M :x M.
Untuk mesin deterministik, ini identik, karena hanya ada satu proses valid pada input x . Tetapi untuk mesin non-deterministik, mungkin ada beberapa kali proses. Yang mana Anda tertarik tergantung pada aplikasi Anda.M. x
Kedua, model non-deterministik sudah tidak realistis: mereka berasumsi bahwa Anda memiliki kotak ajaib yang memberi tahu Anda jalan mana yang harus diambil, atau bahwa Anda memiliki semacam paralelisme tanpa batas. Karena Mesin Turing yang non-deterministik dan deterministik memiliki kekuatan yang setara, dalam kebanyakan kasus Anda hanya mengonversi mesin tersebut menjadi yang determinstik sebelum Anda khawatir akan berhenti.
Sebagai perpanjangan dari ini, kami tidak peduli karena membuktikan sesuatu tentang mesin non-deterministik setidaknya sama sulitnya dengan membuktikan sesuatu tentang mesin deterministik yang setara. Kita sudah tahu bahwa tidak ada solusi untuk Masalah Putus yang deterministik, jadi yang benar-benar bermanfaat adalah membuktikan masalah lain yang tidak dapat diputuskan melalui pengurangan. Dan itu akan selalu kurang untuk mengurangi masalah berhenti deterministik, karena itu lebih mudah daripada rekan non-deterministik.
sumber
Masalah penghentian adalah masalah lengkap , karena dapat dinyatakan sebagai:Σ1
Ini menunjukkan bahwa definisi Anda adalah yang benar. Secara umum, setiap definisi -Lengkap adalah "benar".Σ1
sumber
Anda mengatakan ada "perlakuan kelas dua yang jelas" dari masalah berhenti untuk mesin nondeterministic. Tampaknya nondeterminisme tidak dianggap secara historis sampai lama setelah pembuatan Turings dari deterministik TM & ini mungkin ada hubungannya dengan fokus penelitian di daerah tersebut. Namun poin utama di sini adalah bahwa masalah nondeterministik dapat dengan mudah direduksi menjadi masalah deterministik, sehingga orang hanya perlu mempelajari masalah deterministik "tanpa kehilangan generalitas".
lebih jauh lagi, untuk melawan ide "kelas 2" di sini adalah setidaknya satu ref / paper yang mempelajari masalah berhenti untuk mesin nondeterministic dan menemukan koneksi yang berguna / mendalam. beberapa bukti tidak langsung di sepanjang garis bahwa penelitian CS begitu luas / terspesialisasi, kadang-kadang beberapa penelitian awal telah dilakukan di sebagian besar wilayah, bahkan tampaknya sempit, dan dapat mendekati hampir tidak berarti atau memotong rambut untuk mengurutkan masalah yang berbeda dalam kepentingan mereka. dan sebaliknya, nondeterminisme tampaknya konsep yang sangat dalam / di mana-mana / lintas sektor dalam CS (pertanyaan kunci terbuka seperti P vs NP ada di dalamnya) & aspek itu kemungkinan akan berlanjut lama ke masa depan.
sumber
Pendeknya
Tampaknya tidak ada alasan yang baik untuk mengabaikan masalah penghentian dalam pengaturan yang bukan merupakan salah satu klasik dari mesin Turing deterministik, selain fakta bahwa masalah penghentian klasik menjawab beberapa pertanyaan matematika utama (seperti Entscheidungsproblem ), sementara varian hanya masalah teknis yang menarik (?), tetapi kurang berdampak pada fondasi.
Menurut jawaban jmite, penghentian non-deterministik ini dapat didefinisikan sebagai sesuai dengan keberadaan setidaknya satu penghentian perhitungan ( penghentian eksistensial ), atau sebagai alternatif untuk mengharuskan semua perhitungan yang mungkin dihentikan ( penghentian universal ). Dua definisi ini sesuai dengan dua definisi yang berbeda dari masalah penghentian nondeterministik.
Saya menunjukkan bahwa, untuk mesin Turing, dua definisi berhubungan dengan dua cara berbeda untuk menentukan mesin dengan cara pas. Dari sini, saya menyimpulkan bahwa dua varian dari masalah penghentian nondeterministik keduanya Turing setara dengan masalah penghentian deterministik klasik .
Namun, saya juga menunjukkan bahwa masing-masing definisi penghentian ini secara langsung berkaitan dengan definisi yang sesuai dari bahasa yang dikenali oleh mesin Turing, dan hubungan ini dapat dengan mudah dinyatakan dengan syarat memilih definisi yang konsisten.
Oleh karena itu, mengingat definisi bahasa yang biasa dikenali oleh otomat nondeterministik, definisi alami dari penghentian nondeterministik adalah penghentian eksistensial, seperti yang diusulkan dalam pertanyaan awal.
Sebagian besar analisis ini secara alami meluas ke jenis automata lain, meskipun konstruksi yang saling terkait sering tidak tersedia dalam keluarga yang kurang kuat daripada mesin Turing.
pengantar
Saya menulis ini sebagai jawaban karena sebagian menjawab pertanyaan saya setelah lebih banyak memikirkannya, mempertimbangkan jawaban yang ada. Juga, mengedit pertanyaan saya setelah tiga jawaban mungkin dalam kasus ini membingungkan masalah, dan saya lebih suka meninggalkan pertanyaan seperti aslinya ditulis untuk menghindari itu.
Saya pertama kali membahas beberapa ketidaksepakatan saya dengan jawaban yang diberikan. Intinya bukan untuk meremehkan upaya adil dalam menjawab pertanyaan saya (terima kasih atas semua jawaban), tetapi untuk menyelesaikan masalah dengan membahas atau memperdebatkan poin teknis.
Saya pikir pertanyaan awal tidak membutuhkan konteks atau motivasi. Masalah penghentian adalah salah satu pertanyaan utama yang kami tanyakan tentang automata di satu sisi, dan nondeterminisme adalah salah satu fitur yang sangat umum dan berguna dari banyak automata di sisi lain. Lebih jauh, nondeterminisme bukan hanya alat teoritis umum untuk menyederhanakan bukti, tetapi fitur penting dari beberapa keluarga automata, seperti linear bounded automaton (LBA), setidaknya pada saat penulisan ini.
Oleh karena itu sangat wajar untuk bertanya-tanya apakah masalah penghentian memiliki makna, atau makna yang lebih disukai, yang dan mengapa, dalam kasus automata nondeterministic.
Apakah masalah penghentian administrasi ditangani dengan baik?
Pertanyaan saya bertanya-tanya mengapa masalah berhenti untuk automata nondeterministic tampaknya menerima perlakuan kelas dua , yang memang menghasilkan downvote dan jawaban oleh vzn. The jawaban dengan vzn , yang benar-benar lebih komentar panjang, menegaskan bahwa " nondeterminism tampaknya sangat dalam / di mana-mana / crosscutting konsep di CS", yang tidak pernah saya ragukan. Itu juga memberikan satu referensi untuk beberapa penelitian tentang penghentian untuk mesin nondeterministik yang tidak mengejutkan, tetapi tidak benar-benar membahas maksud saya. Maksud saya adalah bahwa saya tidak ingat benar-benar melihat definisi dari masalah penghentian yang ditujukan di mesin nondeterministic, meskipun saya memang membaca beberapa litterature di lapangan. Itu tidak dibahas, AFAIK, dalam buku referensi saya (Hopcroft + Ullman 1979). Tampaknya sering tersirat dalam pikiran orang-orang bahwa mereka mempertimbangkan automata deterministik, biasanya Turing mesin, yang definisi rujukannya deterministik.
Sebagai contoh, dalam pertanyaan Mengapa masalah penghentian dapat dianggap sebagai keputusan untuk LBA? , Yuval Filmus lupa dalam jawabannya bahwa LBA adalah perangkat yang tidak ditentukan - tetapi dengan brilian menyimpan jawabannya dengan komentar 4 kata .
Sebagai saksi terakhir terhadap fakta bahwa masalah ini tidak ditangani dengan baik secara umum (meskipun ada beberapa penelitian khusus), saya akan menyebut fakta bahwa masalah ini harus dibahas di sini.
The jawaban dari jmite adalah satu-satunya yang benar-benar mencoba untuk menjelaskan mengapa itu mungkin tidak akan baik ditangani. Argumen pertamanya adalah bahwa ada dua definisi yang mungkin, tetapi saya percaya bahwa situasi ini seharusnya mendorong lebih banyak analisis untuk menentukan definisi mana yang paling tepat. Saya berusaha melakukan itu di bawah.
Dia juga menyarankan bahwa, karena TM non-deterministik selalu dapat dikonversi menjadi deterministik yang setara, maka tidak ada gunanya mengkhawatirkan masalah berhenti pada kasus non-deterministik. Saya tidak sepenuhnya yakin, tetapi mungkin dianggap sebagai alasan yang baik oleh banyak orang. Namun, argumen tidak berlaku untuk Linear Bounded Automata (LBA), karena masih merupakan masalah terbuka apakah LBA deterministik setara dengan LBA nondeterministic. Dan ada keluarga automata lain yang keluarga deterministiknya lebih lemah daripada keluarga nondeterministik (PDA misalnya).
Saya juga tidak setuju dengan poin terakhir, menegaskan bahwa kita tidak boleh khawatir dengan penghentian nondeterministik karena bukti lebih mudah dengan mesin deterministik. Raphael keberatan dengan itu dalam komentar : " Saya biasanya menemukan pengurangan untuk masalah yang lebih sulit lebih mudah ". Memang, untuk banyak jenis automata, versi nondeterministic berfungsi terutama untuk menyederhanakan bukti, seperti pengurangan tipe otomat itu. Selain itu ada dua bentuk penghentian yang dapat digunakan, seperti yang disarankan oleh jmite sendiri, bahkan dapat dianggap sebagai keuntungan karena memberikan lebih banyak fleksibilitas untuk mengatasi masalah.
Pada definisi masalah penghentian nondeterministic
Catatan: penggunaan kata "universal" dalam teks berikut ini mengacu pada kuantifikasi universal , BUKAN ke mesin Turing universal
The jawaban dari jmite adalah yang paling rinci.
Jawaban ini menduga bahwa automata nondeterministic membantu kurang upaya pada masalah penghentian karena dapat didefinisikan dalam dua cara yang berbeda (terminologi adalah milikku):
Satu-satunya definisi yang saya sarankan memadai adalah penghentian eksistensial .
Bukti : Ini mudah dibuktikan dengan lemma König , karena jumlah kemungkinan pilihan non-deterministik pada setiap langkah dibatasi untuk otomat yang diberikan. Jika ada banyak penghentian perhitungan yang tak terhingga, kita dapat memberi label setiap konfigurasi dengan masing-masing jalur komputasi yang mengarah ke sana, yang akan membuat grafik perhitungan dengan banyak sekali node, tetapi hanya bercabang nondeterministik hingga pada setiap node. Oleh lemma König, ini menyiratkan adanya jalur komputasi yang tak terbatas, yang sesuai dengan perhitungan yang tidak berhenti.
Kasus mesin Turing (nondeterministic)
Jadi sekarang, mari kita periksa penghentian dalam kasus mesin Turing nondeterministic (NTM).
Untuk menganalisis dua definisi tersebut, yang paling sederhana adalah dengan mempertimbangkan versi deterministik dari mesin non deterministik, yang dapat dicapai, seperti diingat oleh Hendrik Jan , dengan menggabungkan semua perhitungan yang mungkin.
Tetapi ada (setidaknya) dua cara perhitungan yang sesuai untuk penentuan, meskipun hanya satu yang biasanya dipertimbangkan:
determinasi dovetailing eksistensial yang mensimulasikan semua perhitungan secara paralel dan berakhir ketika salah satu perhitungan simulasi berakhir.
determinasi universal dovetailing yang mensimulasikan semua perhitungan secara paralel dan berakhir hanya ketika semua perhitungan simulasi berakhir. Tapi itu bisa saja menghitung dengan cara tertentu penghentian perhitungan, atau menghitungnya.
Proposisi 2 :
Teorema 3 : Masalah penghentian untuk deterministik TM, dan masalah penghentian eksistensial dan universal untuk TM nondeterministik adalah setara Turing.
Bukti : Ini hasil dari proposisi 2 dan dari fakta bahwa TM deterministik adalah subset dari TM non-deterministik, di mana keduanya berhenti eksistensial dan universal mengurangi menjadi berhenti deterministik sederhana.
Oleh karena itu, dari sudut pandang komputabilitas, dan saya tergoda untuk mengatakan dari sebuah simbol yang mendorong sudut pandang, tampaknya tidak terlalu penting definisi mana yang dipilih, eksistensial atau universal, untuk masalah penghentian nondeterministik.
Mengapa memilih satu definisi penghentian NTM, dan yang
Namun, apakah ada banyak arti bagi proses penentuan yang tidak mempertahankan bahasa yang dikenali oleh robot asli?
Esensi dari penggunaan nondeterminisme dalam pengenalan bahasa adalah bahwa ia mengasumsikan sebuah ramalan yang seharusnya menebak jalur komputasi yang tepat setiap kali ada yang akan mengarah pada penerimaan, pandangan eksistensial yang fundamental .
Dengan demikian penerimaan dengan penghentian dapat dilihat sebagai bentuk penerimaan kanonik untuk automata nondeterministic.
Mempertimbangkan pandangan kanonik ini, masalah penghentian juga dapat dinyatakan secara setara sebagai masalah pengakuan :
Namun, dalam hal penghentian universal, hubungan dekat ini hilang. Pernyataan serupa dapat dibuat, tetapi untuk bahasa yang berbeda dari yang diakui oleh NTM (atau sebagai alternatif untuk definisi yang universal dan berbeda dari apa yang bahasa itu diakui oleh NTM).
Ketika mengembangkan teori, penting untuk menggunakan definisi yang konsisten untuk menekankan struktur dan hubungan dalam bentuk paling sederhana dan paling mudah dipahami. Cukup jelas bahwa dalam kasus ini, konsistensi dengan definisi lain menunjukkan bahwa penghentian eksistensial adalah definisi alami penghentian untuk mesin Turing nondeterministic.
Kasus keluarga automata lainnya
Bagian dari analisis di atas tidak dapat diperluas ke sebagian besar keluarga automata nondeterministic. Misalnya, pushdown atomaton (PDA) dapat mendefinisikan bahasa yang tidak dapat dikenali oleh PDA deterministik. Hal yang sama mungkin berlaku untuk LBA. Bagian lain dapat diperluas untuk semua keluarga nondeterministik.
Mengenai definisi penghentian nondeterministik, meskipun alasan yang digunakan dalam kasus mesin Turing mungkin tidak dapat digunakan, tampaknya satu-satunya pilihan yang masuk akal adalah mengadopsi definisi yang konsisten dengan yang digunakan untuk mesin Turing nondeterministik, maka definisi eksistensial .
Definisi masalah Henti untuk keluarga automata nondeterministik ini mengikuti, dan sesuai dengan definisi yang diajukan dalam pertanyaan.
sumber