Partisi bahasa reguler yang tak terbatas menjadi 2 bahasa yang tak terbatas yang terpisah


9

Diberi bahasa reguler tak terbatas L, bagaimana saya bisa membuktikannya L dapat dipartisi menjadi 2 bahasa reguler tak terhingga terpisah L1,L2? Itu adalah:L.1∪L.2=L., L.1∩L.2=∅, dan L.1 dan L.2 keduanya tak terbatas dan teratur.

Sejauh ini, saya memikirkan:

  1. menggunakan lemma pemompaan sedemikian rupa

    L.1={xynz∣n bahkan}L.2={xymz∣m aneh}
    tetapi tidak dapat membuktikan bahwa mereka dijoint atau menutupi L. sama sekali.
  2. Menggunakan partisi bahasa biasa Σ∗ ke kelas-kelas kesetaraan dijoint, tapi saya belum menemukan cara untuk menentukan apakah kelas kesetaraan adalah reguler atau tak terbatas.

Jawaban:


4

Membiarkan S={|w|:w∈L.}. Teorema Parikh menunjukkan hal ituSadalah set akhirnya periodik. Biarkan periode akhirnya terjadiℓ. SejakL. tidak terbatas, ada beberapa offset Sebuah seperti yang Sebuah+kℓ∈S untuk semua k≥0. Jadi bahasanyaL.1={w∈L.:|w|≡Sebuah(mod2ℓ)} tidak terbatas (berisi semua kata panjangnya a+2kℓ untuk beberapa k≥0), dan bahasanya L2=L∖L1 juga tak terbatas (berisi semua kata panjangnya a+(2k+1)ℓ untuk beberapa k≥0, serta mungkin kata lain). Saya akan membiarkan Anda menunjukkan ituL1,L2 keduanya biasa.


Ini bahkan berfungsi untuk bahasa bebas konteks.
— Yuval Filmus

8

Setiap bahasa reguler diterima oleh DFA minimal. Untuk bahasa reguler yang tak terbatasL, sebut saja DFA ML. Pertimbangkan kondisi apa punq yang dapat dikunjungi lebih dari sekali saat memproses beberapa string L. Jikaqdapat dikunjungi lebih dari sekali, karena itu dapat dikunjungi beberapa kali. Menetapkan

L1={w∈L∣q is visited an odd number of times}
dan
L0={w∈L∣q is visited an even number of times}
Ini adalah DFA, jadi hanya ada satu jalur. Semua stringLditerima oleh DFA, dan harus mengunjungi negara bagian beberapa kali (mungkin nol). Negara dapat dikunjungi dalam jumlah tidak terbatas; oleh karena itu, kita tahu bahwa ada banyak string tanpa batasL1 (karena ada kata-kata yang menyebabkan negara dikunjungi 1 kali, 3 kali, dll.) dan bahwa ada banyak string dalam L0(karena ada kata-kata yang menyebabkan negara dikunjungi 0 kali, 2 kali, dll.). String apa pun yang diberikan adalah dalamL1 atau L0, dan tidak bisa di keduanya, jadi L0∩L1=∅. Namun, kata apa pun diL dijamin berada di salah satu dari dua set ini, jadi L0∪L1=L.

Masih perlu meyakinkan OP bahwa bahasa terjemahannya teratur ...
— vonbrand
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.