Apakah bahasa unary biasa jika eksponennya adalah fungsi linear?


13

Saat melakukan tugas saat ini untuk bahasa formal dan kursus automata saya, saya agak terjebak pada latihan yang melibatkan bahasa unary (saya harap itu istilah yang tepat), yaitu, bahasa yang dibangun di atas satu huruf. Saya tidak ingin bertanya tentang latihan spesifik, tetapi tentang dugaan yang jauh lebih umum yang saya kemukakan:

Biarkan dan . Dugaan saya adalah:Σ={a}L={af(n)Σ:nN0}

L is regularx,yN0:f(n)=xn+y

Apakah pertanyaan ini pernah melihat perlakuan ilmiah sebelumnya? Apakah itu "jelas" benar / salah?

Bagi saya, jelas arah " " benar karena kita hanya dapat membangun DFA dengan menyatakan bahwa siklus melalui menyatakan setelah membaca melalui menyatakan dan menerima iff itu pada angka .x+yxyy


Kerja bagus, membuat pengamatan ini bukanlah yang saya harapkan dari siswa kebanyakan!
Raphael

Sepakat. Ini pengamatan yang sangat bagus.
Rick Decker

Tidak jelas dari judulnya, tetapi kami sudah memiliki pertanyaan ini sebelumnya, hingga lemma ekuivalensi kecil: Apa set panjang kata yang mungkin dalam bahasa biasa?
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:


9

Linear dekat, tetapi istilah teknis yang Anda cari adalah semilinear:, yaitu, gabungan terbatas dari set linier.

Setengah dari bukti ini adalah akibat wajar dari Teorema Parikh , yang mengatakan bahwa bahasa bebas konteks memiliki peta Parikh semi-linear (yaitu, himpunan vektor yang berisi kemunculan setiap huruf dalam alfabet).

Untuk bahasa unary, peta bahasa parikh adalah bahasa itu sendiri (yaitu setiap kata secara unik diidentifikasi oleh berapa banyak huruf yang dimilikinya), sehingga setiap bahasa reguler unary adalah semi-linear.

Setengah bukti lainnya menunjukkan bahwa Anda dapat membuat bahasa reguler yang berisi setiap set semi-linear unary. Ini membutuhkan sedikit usaha, tetapi tidak terlalu sulit jika Anda menggunakan ekspresi reguler:

  • mengenali bahasa { k }Sebuahk{k}
  • mengenali { x k x N 0 }(Sebuahk){xkxN0}
  • mengenali S 1 + S 2 jika R 1 mengenali S 1 dan R 2 mengenali S 2 , di mana + di sini adalah penambahan elemen-bijaksanaR1R2S1+S2R1S1R2S2+
  • mengenali S 1S 2 jika R 1 mengenali S 1 dan R 2 mengakui S 2 , di mana | di sini adalah persatuan ekspresi reguler.R1|R2S1S2R1S1R2S2|

6

Anda hampir benar. Anda perlu mempertimbangkan fakta bahwa Anda mungkin memiliki beberapa fungsi linear, seperti atau Anda mungkin memiliki bahasa yang terbatas, seperti L = { a kk = 4 n + 2  atau  k = 13 } (Dalam kedua kasus, kami hanya mengambil penyatuan bahasa biasa, jadi semuanya berjalan seperti seharusnya.)

L={Sebuahkk=3n+1 atau k=7n+4}
L={Sebuahkk=4n+2 atau k=13}
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.