Bagaimana bisa dengan | w | = | s | dan apakah kita bebas konteks sedangkan yang lain tidak?


9

Mengapa (jika demikian) pemisah membuat perbedaan antara kedua bahasa?#

Katakanlah:

L={ws:|w|=|s|w,s{0,1},ws}

L#={w#s:|w|=|s|w,s{0,1},ws}

Berikut ini adalah bukti dan grammer yang mewakili L sebagai CFL

Dan di bawah ini saya menambahkan bukti untuk L#CFL :

Apakah tanda # benar-benar membuat perbedaan? jika demikian, mengapa demikian? dan jika tidak, bukti mana yang salah dan di mana?

Bukti bahwa L#CFL :

Asumsikan dengan cara kontradiksi bahwa LCFL . Misalkan p>0 menjadi konstanta pemompaan untuk L dijamin oleh lemma pemompaan untuk bahasa bebas konteks. Kami menganggap kata s=0m1p#0p1m dimana m=p!+p sehingga sL . Sejak |s|>p , menurut lemma pemompaan ada representasi s=uvxyz , sedemikian sehingga |vy|>0 , |vxy|p , dan uvjxyjzL untuk setiap j0 .

Kami mendapat kontradiksi berdasarkan kasus:

  • Jika atau mengandung : Maka untuk , kita dapatkan bahwa tidak mengandung , jadi dalam kontradiksi.vy#i=0uxz#uxzL
  • Jika kedua dan dibiarkan ke : Lalu untuk , kita dapatkan bahwa adalah dari bentuk , di mana, Sehingga .vy#i=0uxzw#x|w|<|x|uxzL

  • Jika keduanya dan benar untuk : Mirip dengan kasus terakhir.vy#

  • Jika dibiarkan , benar, dan: Kemudian untuk , kita dapatkan bahwa adalah dari bentuk , di mana, Sehingga .v#y|v|<|y|i=0uxzw#x|w|>|x|uxzL

  • Jika dibiarkan , benar, dan: Mirip dengan kasus terakhir.v#y|v|>|y|

  • Jika dibiarkan , benar, dan: Ini adalah kasus yang paling menarik. Sejak , harus terdapat di bagian dari , dan di bagian . Jadi ia berpendapat bahwa dan untuk (pada kenyataannya, itu harus ). Untuk setiap , ini menyatakan bahwa , jadi jika itu terjadiv#y|v|=|y||vxy|pv1psy0pv=1ky=0k1kpk<p/2j0uvj+1xyj+1z=0m1p+j·k#0p+j·k1mm=p+j·ku v j + 1 x y j + 1 zLj=(m-p) / km-pkm=p+p! m-p=p! p! 1, maka bahwa dalam kontradiksi. Untuk mencapai ini, kita harus mengambil , yang hanya valid jika dapat dibagi oleh . Ingatlah bahwa kami memilih, jadi, dandapat dibagi oleh seperti yang diinginkan.uvj+1xyj+1zLj=(mp)/kmpkm=p+p!mp=p!p!1kp

Jawaban:


7

Buktimu benar, dan aku salah. Butuh beberapa saat untuk menyelesaikan di mana kebingungan saya, tetapi dengan bantuan Yuval saya pikir saya mendapatkannya.

Mari kita perhatikan tiga bahasa

L=={xy|x|=|y|,xy},L#={x#yxy}, andL=#={x#y|x|=|y|,xy}.

Seperti yang telah kita lihat di sini , bebas konteks. Caranya adalah, dalam tata bahasa, untuk menghasilkan simbol "di sebelah kanan" tetapi menghitungnya "di sebelah kiri" nanti (atau sebaliknya), memastikan simbol yang tidak cocok muncul di posisi yang cocok. Kondisi panjang sepele karena mengurangi panjang genap. Anda dapat membuat NPDA dengan ide serupa, menggunakan tumpukan untuk mencocokkan posisi.L=

L# juga bebas konteks . Buktinya bahkan lebih sederhana: simbol ketidakcocokan muncul jarak yang sama dari resp awal. pemisah. Panjang yang tidak sama dapat diperiksa secara terpisah; non-determinisme "memilih" antara dua opsi.

Sekarang, seperti yang Anda menunjukkan, adalah tidak bebas konteks. Inilah mengapa bukti untuk dua bahasa lainnya rusak.L=#

  1. Dalam tata bahasa untuk , jika kita harus menghasilkan pemisah di tengah kita tidak dapat "menetapkan kembali" simbol dari "kiri" ke "kanan".L=
  2. Alih-alih "menerima jika panjangnya tidak sama atau tidak cocok" kita harus "menerima jika panjangnya sama dan tidak cocok". Non-determinisme tidak dapat membantu kita dengan dan !

Jadi intinya, secara intuitif, adalah bahwa kondisi dari bentuk " " dan " " keduanya "bebas konteks" dalam arti bahwa mereka dapat diperiksa dengan tumpukan, tetapi tidak menggunakan kontrol yang terbatas. Oleh karena itu, PDA dapat melakukan satu tetapi tidak keduanya.| x | = | y |xy|x|=|y|

PDA untuk "curang" karena tidak benar - benar memeriksa kondisi ini untuk dan ; itu membagi kata dengan cara yang berbeda. Itu tidak mungkin lagi jika Anda memiliki pemisah. x yL=xy


Tambahan: Saya dengan berani mengklaim bahwa karena CFL ditutup terhadap homomorfisme terbalik. Meskipun benar bahwa dengan identitas kecuali itu menghapus , itu tidak relevan. ; tidak ada yang bisa dikatakan tentang . f ( L = # ) = L = f # f - 1 ( L = ) = L # L = #L=CFLL=#CFLf(L=#)=L=f#f1(L=)=L#L=#


Tambahan II: Perhatikan bahwa sepele bebas konteks. Oleh karena itu, dengan kami memiliki contoh yang bagus untuk CFL tidak ditutup terhadap persimpangan.L L # = L = #L={x#y|x|=|y|}LL#=L=#

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.