Bahasa bebas konteks ditutup di bawah Pembalikan

8

Di kelas minggu ini kita telah belajar tentang CFL dan properti penutupannya. Saya telah melihat bukti untuk persatuan, persimpangan dan pujian tetapi untuk pembalikan dosen saya hanya mengatakan itu ditutup. Saya ingin melihat buktinya jadi saya sudah mencari selama beberapa hari terakhir, tetapi yang saya temukan adalah kebanyakan orang hanya mengatakan bahwa untuk membalikkan produksi sudah cukup untuk membuktikannya. Mereka yang sedikit lebih formal hanya menyatakan ada bukti induktif mudah yang dapat Anda berikan. Adakah yang bisa memberi saya lebih banyak informasi / petunjuk tentang bukti induktif? Cobalah sebisa mungkin, saya tidak bisa memunculkannya.

Sam Hooper
sumber

Jawaban:

11

Sumber Anda benar, dan saya khawatir hanya ada sedikit yang ditambahkan, kecuali formalisme. Saya menyatakan sebaliknya (mirror) string dengan .wwR

Jika adalah tata bahasa, biarkan menjadi yang terbalik, sehingga untuk produksi di kita harus di .GHAwGAwRH

Maka dengan induksi kami menunjukkan bahwa IFF .AGwAHwR

  • ( Basis ) Dalam nol langkah kita memiliki jika dan hanya jika .AG0AAH0A
  • ( induksi ) Dengan asumsi iff kita dapat menerapkan produksi dalam (dan dalam secara terbalik) dan mendapatkan dan masing-masing, di mana memang adalah kebalikan dari .AGw1Bw2AHw2RBw1RBuGHAGw1uw2AHw2RuRw1Rw2RuRw1Rw1uw2

Ini adalah bukti yang sangat kental, tetapi mengandung semua bahan yang diperlukan. Sekali lagi, derivasi tata bahasa terbalik adalah kebalikan dari yang asli. Ini sangat jelas ketika melihat dua pohon derivasi.

Hendrik Jan
sumber
apakah ini berlaku untuk bahasa bebas konteks deterministik.
akashchandrakar
@aksam Deterministic CFL tidak ditutup dengan pembalikan. Catatan determinisme untuk CFL biasanya didefinisikan dengan pushdown automata, bukan tata bahasa.
Hendrik
7

Ada cara lain untuk melihat masalah ini.

Pertimbangkan bahwa Bahasa adalah CFL. Ini berarti bahwa ada tata bahasa yang memenuhi CFL. Kita dapat mengasumsikan bahwa ini adalah dalam Bentuk Normal Chomsky.LG={N,,P,S}

Jika adalah bagian dari bahasa, sepele juga merupakan bagian dari bahasa. Sekarang untuk setiap produksi formulir , gantikan dengan, dan untuk produksi bentuk , di mana , biarkan sama.ϵϵRP1ABP1BAP1aa

Dari pohon parse dari string yang diturunkan, mudah untuk melihat bahwa bahasa yang diturunkan akan persis kebalikan dari bahasa awal karena konstruksi mencerminkan pohon parse asli.

Ameet Deshpande
sumber
Saya tidak berpikir ini adalah "cara lain": itu hanya cara yang sama diungkapkan dengan cara yang berbeda (dan sebenarnya, saya pikir, lebih mudah diikuti). Bagian di mana Anda mengatakan "mudah dilihat" adalah bagian di mana induksi masuk. Pokoknya, +1 karena jawaban ini pasti membantu.
David Richerby
4

Pertama. CFL tidak ditutup di bawah persimpangan atau komplemen (atau perbedaan dalam hal ini). Mereka ditutup di bawah Union, Concatenation, penutupan bintang Kleene, substitusi, homomorfisme, homomorfisme terbalik, dan pembalikan. CATATAN: Kedua homomorfisma biasanya tidak tercakup dalam kursus Teori Komputer intro.

Untuk membuktikan pembalikan, Misalkan L menjadi CFL, dengan tata bahasa G = (V, T, P, S). Misalkan L R menjadi kebalikan dari L, sehingga Tata Bahasa adalah G R = (V, T, P R , S). Artinya, balikkan setiap produksi.

Ex. P -> AB akan menjadi P -> BA

Karena G R adalah CFG, karena itu L (G R ) adalah CFL.

ahaywood
sumber
Selamat datang di situs ini! Saya kagum bahwa tidak ada yang memperhatikan sebelumnya bahwa pertanyaan salah mengklaim bahwa CFL ditutup di bawah persimpangan dan komplemen.
David Richerby