Perhatikan bahwa ini adalah pertanyaan yang terkait dengan belajar di kursus CS di universitas, BUKAN pekerjaan rumah dan dapat ditemukan di sini di bawah ujian Musim Gugur 20112.
Inilah dua pertanyaan yang saya lihat dari ujian sebelumnya. Mereka tampaknya terkait, yang pertama:
Membiarkan
Buktikan bahwa adalah bahasa yang dapat dipilih.
dan...
Membiarkan
Buktikan bahwa adalah bahasa yang tidak dapat ditentukan.
Saya agak bingung tentang cara mengatasi masalah ini, tetapi saya memiliki beberapa wawasan yang saya pikir mungkin berada di arah yang benar. Hal pertama yang saya sadari adalah bahasa , di mana
adalah bahasa yang dapat didekati (buktinya ada dalam Teori Komputasi Michael Sipser , hal 168). Sumber yang sama juga membuktikan bahwa Grammar Konteks Gratis dapat dikonversi ke ekspresi reguler, dan sebaliknya. Jadi , juga harus dapat ditentukan karena dapat dikonversi ke ekspresi reguler. Ini, dan fakta bahwa adalah un -decidable, tampaknya terkait dengan masalah ini.
Satu-satunya hal yang dapat saya pikirkan adalah meneruskan G ke mesin Turing untuk (setelah mengonversi G ke ekspresi reguler) dan . Kemudian menerima jika G tidak dan menolak jika G tidak. Sebagai adalah diputuskan, ini tidak akan pernah terjadi. Entah bagaimana aku merasa seperti aku membuat kesalahan di sini, tapi aku tidak yakin apa itu. Bisa seseorang tolong meminjamkan tangan di sini? A T M
Jawaban:
Ubah bentuk G ke Chomsky Normal . Dengan cara ini, satu-satunya derivasi kosong akan menjadi simbol awal yang tidak muncul di tempat lain dan dengan demikian jika ada beberapa produksi yang pada akhirnya dapat menghasilkan dirinya sendiri, maka tata bahasanya tidak terbatas. Jika tidak ada produksi seperti itu, setiap simbol hanya akan dapat menghasilkan serangkaian string yang terbatas, dan kemudian tata bahasa terbatas. Jadi, buat grafik terarah di mana setiap produksi adalah simpul dan setiap simbol di dalam produksi adalah tepi yang menargetkan simbol itu. Jika grafik memiliki beberapa siklus, CFG tidak terbatas, sebaliknya tidak. Karenanya mesin Turing untuk dapat dibuat untuk melakukan hal itu, dan kemudian dapat dipilih.FINITECFG FINITECFG
Misalkan dapat dipilih. Mari mengatakan bahwa adalah mesin Turing yang memiliki beberapa string sebagai masukan dan penggunaan dirinya sebagai masukan untuk . Jika mengembalikan true (yaitu, hanya menerima bahasa yang terbatas), maka menerima input, yang mengarah ke kontradiksi karena set input tidak terbatas (panjang input tidak terikat, jadi terima string apa pun yang mungkin sebagai sarana input menerima serangkaian string tanpa batas). Jika mengembalikan false (yaitu bahasa 's adalah tak terbatas), maka menolak input, yang berarti bahwa H F I N I T E T M F I N I T E T M H H F I N I T E T M H H H H F I N I T E T M F I N I T E T MFINITETM H FINITETM FINITETM H H FINITETM H H H Bahasa 's terbatas karena tidak menerima input (yaitu bahasa yang kosong), yang mengarah ke kontradiksi juga. Dengan cara ini, anggapan bahwa ada mengarah ke kontradiksi, dan dugaan ini didasarkan pada anggapan bahwa adalah decidable. Jadi, dengan kontradiksi, kita memiliki tidak decidable.H FINITETM FINITETM
Aku benar-benar ragu bahwa Sipser akan menyatakan bahwa, Anda mungkin salah membaca atau salah paham. Ini berarti bahwa tata bahasa bebas konteks menghasilkan persis langauges sama seperti tata bahasa yang benar-linear. Ini salah; tata bahasa yang benar-linear menghasilkan adalah subset yang tepat dari bahasa tata bahasa bebas konteks dp. Yang mengatakan, cara Anda mencoba untuk menggunakan bahasa reguler untuk menjawab pertanyaan-pertanyaan hanya membawa Anda ke mana-mana.
Seperti yang Anda lihat di atas dalam bukti saya, dua pertanyaan memang dua sangat berbeda, pertanyaan yang tidak terkait. Kebetulan mereka diucapkan dengan kata yang sama.
sumber
sumber