Persatuan bahasa reguler yang tidak teratur


12

Saya telah menemukan pertanyaan itu: "Berikan contoh dua bahasa biasa yang tidak disatukan oleh bahasa mereka dengan bahasa biasa."

Ini cukup mengejutkan bagi saya karena saya percaya bahwa bahasa reguler ditutup di bawah persatuan. Yang berarti bagi saya bahwa jika saya mengambil dua bahasa reguler dan menggabungkannya, saya harus mendapatkan bahasa yang teratur.

Dan saya pikir saya mengerti buktinya: Dalam kata-kata saya, jika bahasa-bahasa itu teratur, maka ada automata yang mengenalinya. Jika kami mengambil semua status (gabungan), dan kami menambahkan status baru untuk titik masuk, dan kami memodifikasi fungsi transisi untuk status baru dengan epsilon, kami baik-baik saja. Kami juga menunjukkan bahwa ada jalan dari setiap negara dll.

Dapatkah Anda memberi tahu saya di mana saya salah, atau mungkin cara lain untuk mendekati pertanyaan itu.

Sumber pertanyaan, latihan 4, dalam bahasa Prancis.

Juga, pertanyaan yang sama ditanyakan dengan persimpangan.


Cara lain untuk melihatnya. Anggaplah persatuan yang tak terbatas menghasilkan bahasa yang teratur. Pertimbangkan setiap bahasa non-regular . Anda dapat membagi elemen-elemennya ke dalam jumlah tak terbatas dari sub-bahasa mana masing-masing terbatas (dan karenanya teratur). Sekarang lakukan penyatuan semua . Dengan asumsi ini adalah bahasa biasa, tetapi kami menganggap sebagai bahasa non-reguler, karenanya merupakan kontradiksi. Mengizinkan penutupan di bawah infinite-union akan membuat semua bahasa teratur. L i L i L i LLLiLiLiL
Bakuriu

Untuk penyatuan tak terbatas: Ambil bahasa non-reguler dan pertimbangkan masing-masing . Jelas biasa. L i = { w i }L={w1,w2,w3,}Li={wi}Li
Pål GD

Jawaban:


26

Ada perbedaan yang signifikan antara pertanyaan saat Anda mengajukannya dan pertanyaan yang diajukan dalam latihan. Pertanyaannya meminta contoh seperangkat bahasa reguler sedemikian rupa sehingga penyatuan mereka tidak teratur. Perhatikan kisaran serikat: hingga . Bahasa reguler ditutup di bawah serikat terbatas , dan buktinya berjalan di sepanjang garis yang Anda buat sketsa dalam pertanyaan, namun ini berantakan di bawah serikat terbatas . Kita dapat menunjukkan ini dengan mengambil untuk setiap (denganL = i = 1 L i 1 L i = { 0 i 1 i } i Σ = { 0 , 1 } L = { 0 i 1 ii N }L1,L2,

L=i=1Li
1Li={0i1i}iΣ={0,1}). Persatuan tanpa batas dari bahasa-bahasa ini tentu saja memberikan bahasa kanonikal non-reguler (bebas konteks) .L={0i1iiN}

Sebagai tambahan, kita dapat melihat dengan mudah di mana bukti normal gagal. Bayangkan konstruksi yang sama di mana kita menambahkan status awal baru dan -transisi ke status awal yang lama. Jika kita melakukan ini dengan seperangkat automata yang tak terbatas, kita telah membangun automata dengan jumlah keadaan yang tak terbatas, jelas bertentangan dengan definisi automata terbatas .ε

Terakhir, saya menduga kebingungan mungkin timbul dari pengungkapan pertanyaan awal, yang dimulai "Donner deux mencontohkan des suites de langages ...", yang ( kira-kira , bahasa Prancis saya agak berkarat, tetapi diverifikasi secara eksternal!) "Berikan dua contoh urutan bahasa ...", daripada "Berikan dua contoh bahasa ...". Namun, pembacaan yang tidak hati-hati mungkin keliru untuk yang kedua untuk yang pertama.


1
Dan mendefinisikan sebagai set-pelengkap , persimpangan mereka juga akan non-reguler. Bacaan bahasa Prancis Anda benar, bukan hanya secara kasar . L iMiLi
Laurent LA RIZZA

Anda benar tentang bagian terjemahan bahasa Prancis. Saya pikir bagian urutan itu tidak penting. ha ha. Terima kasih atas jawabannya, perbedaannya sekarang jelas bagi saya.
Dave

3

Untuk pertanyaan kedua Anda, pertimbangkan bahasa yang didefinisikan oleh Perhatikan bahwa untuk setiap , adalah teratur, karena (1) set kiri adalah terbatas dan karenanya teratur, (2) set kanan dilambangkan dengan ekspresi reguler jadi reguler, dan (3) bahasa reguler ditutup di bawah serikat terbatas, seperti yang sudah Anda ketahui.

Mn={ak21kn}{ajj(n+1)2}
n1Mnanaa

Tidak terlalu sulit untuk menunjukkan bahwa untuk bilangan bulat apa pun kita memiliki dan karenanya jadi secara induktif kita memiliki (yang sebenarnya tidak kita butuhkan di sini, tetapi terlalu indah untuk ditinggalkan).n1Mn+1MnMnMn+1=Mn+1

i=0nMi=Mn

Sekarang amati bahwa tidak mengandung , jadi tidak ada string ini akan berada di persimpangan penuh. Sebagai akibatnya kita akan memiliki yang dikenal bukan bahasa biasa. (Jika Anda tidak tahu fakta ini, itu ada dalam banyak teks teori dan buktinya sepadan dengan usaha membaca.)a n 2 + 1 , sebuah n 2 + 2 , ... , a ( n + 1 ) 2 - 1 i = 0 M i = { a n 2 | n 1 }Mnan2+1,an2+2,,a(n+1)21

i=0Mi={an2n1}

1

Mengapa memilih bahasa reguler yang rumit untuk menunjukkan bahwa set reguler tidak ditutup di bawah serikat yang tak terbatas? Bahasa Singleton cukup untuk menunjukkan bahwa bahasa RE mana pun adalah gabungan tak terbatas dari set reguler.

Ambil bahasa rekursif enumerable . Setiap string memiliki indeks enumerasi . Biarkan . Setiap adalah satu set tunggal, karenanya teratur. Tapi adalah RE.LwLi=index(w)Li={wi=index(w)}LiL=i=1Li

Demikian pula, mendefinisikan , kita memiliki himpunan yang teratur sebagai pelengkap dari himpunan tunggal. Kemudian yang merupakan pelengkap dari , maka co-RE. Dan itu dapat dicapai dengan set co-RE.Mi=ΣLiMii=1Mi=ΣLL

Oleh karena itu setiap bahasa rekursif adalah gabungan tak terbatas dari set reguler, dan juga persimpangan tak terbatas set reguler (bukan yang sama, tetapi pelengkap mereka :).

Infinity penuh kejutan, dan apa yang berlaku untuk nilai-nilai besar yang semena-mena mungkin tidak benar hingga tak terbatas.


1

Jika Anda melakukan Union dari Set Unit yang tak terhingga banyaknya, Anda dapat membuat bahasa apa pun (yah, setidaknya, bahasa apa pun, karena jika itu tidak dapat dipastikan, Anda tidak dapat menentukan daftar semua stringnya). Sebagai contoh, penyatuan set unit di mana masing-masing berisi string palindrome berbeda atas {a, b}, memberikan bahasa palindrom sebagai hasilnya (bebas konteks): ini adalah {ϵ}{a}{b}{aa}{bb}{aaa}{aba}{bab}{bbb} ...

Anda dapat melakukan sesuatu yang mirip dengan persimpangan, membuat set yang tak terhingga banyaknya di mana masing-masing adalah , di mana adalah kata palindrom ke- , menghasilkan bahasa semua kata bukan palindrom (pelengkap bahasa palindrom, non -reguler).Σ{pi}pii

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.