Membuktikan bahwa bahasa itu teratur atau tidak teratur

8

Membiarkan Lmenjadi bahasa biasa. Buktikan bahwa:

  1. L+={w:u|u|=2|w|wuL}

  2. L++={w:u2|u|=|w|wuL}

  3. L+={w:u,v|u|=|w|=|v|uwvL}

teratur dan:

  1. L++={uv:w|u|=|w|=|v|uwvL}

tidak teratur.

Tampaknya sangat sulit bagi saya. Saya kira 1-3 serupa (tapi saya mungkin salah), tetapi saya tidak tahu bagaimana cara mendekati. Gagasan umum biasanya untuk memodifikasi mesin keadaan hinggaLuntuk menerima bahasa lain. Tetapi konstruksi itu seringkali sangat canggih dan saya masih tidak bisa memunculkannya sendirian.

xan
sumber
kemungkinan duplikat dari Bagaimana membuktikan bahwa suatu bahasa tidak teratur?
Bartosz Przybylski
Saya tidak yakin bahwa pernyataan Anda benar karena tampaknya dengan teorema Myhill – Nerode bahwa tiga bahasa pertama memiliki banyak kelas kesetaraan! untuk yang pertama: ambilwi menjadi i-th in L+ dan wi+1 menjadi kata (i +1) maka untuk setiap i seseorang dapat memilih ui untuk menunjukkan bahwa ada kata yang memisahkan kelas wi dan wi+1
Fayez Abdlrazaq Deab
@Fayez Bagaimana jika, misalnya, L=Σ? KemudianL+=Σhanya memiliki satu kelas kesetaraan. Periksa bukti Anda dan lihat apa yang salah.
Yuval Filmus
@ Bartek dan yang lainnya memilih untuk menutup: setengah dari pertanyaan sebenarnya adalah tentang membuktikan bahwa operasi tertentu pada bahasa menghemat properti menjadi biasa.
Yuval Filmus

Jawaban:

5

Berikut ini adalah bukti bahasanya L0={w:u|u|=|w|uwL}teratur. Itu dapat dimodifikasi untuk menunjukkan bahwa tiga yang pertama pada daftar Anda adalah teratur. (Perhatikan bahwa saya berubahwu untuk uw.) Diberi DFA untuk L, kami membuat NFA untuk L0. Hal pertama yang dilakukan NFA adalah menebak (ambil aϵ pindah) suatu negara q, yang semantik yang dimaksud adalah negara tujuan DFA L berakhir setelah membaca u. Kemudian secara bersamaan menjalankan dua salinan DFA untukL, yang satu dimulai pada kondisi awal dan yang lainnya dimulai pada q. Saat membaca simbola, Bergerak sesuai dengan simbol sembarang pada yang pertama, dan bergerak menurut apada yang kedua. Suatu negara menerima jika salinan pertama dalam keadaanq dan yang kedua adalah pada negara penerima.

Untuk yang terakhir, pertimbangkan bahasanya L=a+b+c+, dan berpotongan L++ dengan a+c+.

Yuval Filmus
sumber
Saya tidak melihat itu. L=a+b+c+L++a+c+={ancm:n+m20}, yang jelas merupakan bahasa reguler. Tapi saya kira saya salah :) Bisakah Anda menunjukkan saya arah yang benar?
xan
Saya telah berhasil mengubah konstruksi Anda L0 dan bahkan menghapus εbergerak sehingga menjadi lebih elegan (menurut saya). Jadi tiga masalah pertama diselesaikan dan terima kasih untuk itu! :) Tapi satu-satunya hal yang saya minta adalah untuk mengklarifikasi yang terakhir dan keprihatinan saya dalam komentar di atas. Saya akan sangat berterima kasih.
xan
Saat saya menghitung L++a+c+Saya mendapatkan sesuatu yang lain. Perhatikan bahwa setiap kata dalamL harus mengandung a b.
Yuval Filmus
Maaf, tapi saya tidak tahu bagaimana cara menghitung L++a+c+. Saya kira hasilnya adalah{ancn:nN}yang memberi kita apa yang kita inginkan, tetapi saya tidak tahu bagaimana membenarkan itu.
xan
Oke, saya bisa melihat sekarang :-)
xan