Masalah keanggotaan untuk kelas tata bahasa tidak terbatas tertentu

9

Pertimbangkan tata bahasa bebas konteks sembarang atas alfabet { 0 , 1 , ¯ 0 , ¯ 1 } . Untuk produksi tata bahasa ini, tambahkan dua produksi tetap non-konteks-bebas P : ¯ 0 0 ϵ dan ¯ 1 1 ϵ . Panggil dihasilkan tata bahasa G P berdiri untuk " G ditambah dengan produksi P ".G{0,1,0¯,1¯}P0¯0ϵ1¯1ϵGPGP

Apakah mungkin untuk memberikan suatu algoritma yang membutuhkan tata bahasa dan string s lebih { 0 , 1 , ¯ 0 , ¯ 1 } dan memutuskan apakah s L ( G P ) ?GPs{0,1,0¯,1¯}sL(GP)

Amit S
sumber
Menariknya, sementara jawabannya tampaknya "tidak", saya berpikir bahwa jika teratur, maka begitu juga L ( G P ) . Pada dasarnya, NFA untuk L ( G ) dapat diubah menjadi satu untuk L ( G P ) dengan menambahkan secara iteratif ϵ -transisi ( s , ϵ , t ) setiap kali Anda memiliki jalur ( s , ˉ 0 , p , 0 , t ) ,L(G)L(GP)L(G)L(GP)ϵ(s,ϵ,t) atau ( s , ϵ , p , ϵ , t ) , dan akhirnya tampil(s,0¯,p,0,t),(s,0¯,p,ϵ,q,0,t),(s,1¯,p,1,t),(s,1¯,p,ϵ,q,1,t)(s,ϵ,p,ϵ,t) -mulai. ϵ
Klaus Draeger
Ya itu benar. Bahkan, pertanyaan muncul dari masalah dalam analisis program (pengumpulan sampah berbasis lives). Kami menghindari masalah dengan mendekati CFG ke tata bahasa yang sangat teratur (transformasi Mohri-Nederhoff), dan kemudian melakukan penyederhanaan pada NFA yang dihasilkan dengan cara yang persis seperti yang disebutkan Klaus Draeger. P
Amit.

Jawaban:

5

Kelas tata bahasa ini tidak dapat ditentukan. Berikut ini adalah gagasan kasar tentang cara menggunakannya untuk meniru mesin Turing.

Pada setiap titik, kata yang sekarang diperluas sebagian akan terlihat seperti

[tape to the left][head][tape to the right]

Sini:

  • [tape to the left]P0¯1¯
  • [tape to the right]P01
  • [head]

Si{0,1}SiTjSi0T0jSi1T1jSij¯T00¯Sij¯T11¯[tape to the left][tape to the right]

Ketika mesin berhenti, kepala harus "mengonsumsi" selotip di kedua sisi dengan "menebak" dan menghasilkan karakter yang cocok. Setelah itu, harus menghasilkan kata kosong. Akibatnya, kata kosong akan menjadi anggota tata bahasa seperti itu jika dan hanya jika mesin Turing yang sesuai berhenti.

abacabadabacaba
sumber
NN
@ Amit.SI memberikan penjelasan lebih banyak tentang transisi dalam jawabannya.
abacabadabacaba