Mengapa ekspresi reguler didefinisikan dengan penyatuan, penggabungan dan operasi bintang?


11

Sebuah expresssion biasa didefinisikan secara rekursif sebagai

  1. Sebuah untuk beberapaSebuahΣ adalah ekspresi reguler,
  2. ε adalah ekspresi reguler,
  3. adalah ekspresi reguler,
  4. (R1R2) mana dan adalah ekspresi reguler adalah ekspresi reguler,R1R2
  5. (R1R2) mana dan adalah ekspresi reguler adalah ekspresi reguler,R1R2
  6. (R1) mana adalah ekspresi reguler adalah ekspresi reguler.R1

Definisi ini diambil dari halaman 64 dari

Sipser, Michael. Pengantar Teori Komputasi, edisi ke-3. Cengage Learning, 2012.

Sekarang, saya punya pertanyaan berikut.

  • Mengapa definisi tersebut tidak mengandung intersection, complementatau reverseoperasi?
  • Jika kita mengubah item ke-4 menjadi R1R2 , apakah kita mendapatkan definisi yang setara, yaitu untuk setiap bahasa reguler, ada ekspresi reguler yang dimodifikasi dan sebaliknya?
  • Saya tahu bahwa definisi ini lengkap dan terdefinisi dengan baik, tetapi mengapa lebih disukai daripada definisi lain yang setara, terdefinisi dengan baik dan lengkap?

2
Harap batasi diri Anda untuk satu pertanyaan per posting.
Raphael

Jawaban:


16

1) Jika kita juga mengizinkan persimpangan dan komplemen, maka ekspresi yang dihasilkan kadang-kadang disebut ekspresi reguler yang diperluas; karena bahasa reguler ditutup di bawah operasi boolean tidak ada yang diperoleh oleh mereka. Ini hanya gula sintaksis. Kesimpulan serupa berlaku untuk operasi terbalik. Sebagian alasan mengapa pada contoh pertama semua operasi lain tidak disebutkan adalah tujuan menjaga definisi sesederhana mungkin, sehingga bukti (induktif) tidak harus menangani banyak kasus. Penyebab lain mungkin adalah bahwa jika kita mengizinkan operasi tertentu, tetapi yang lain tidak, dalam beberapa kasus hasil kelas bahasa yang sangat berbeda (tidak teratur), misalnya jika kita mempertimbangkan perluasan ekspresi reguler tanpa operator bintang, maka kita mendapatkan subkelas yang tepat dari yang reguler , yang disebut bahasa bebas bintang atau aperiodik, lihat wikipedia: bahasa bebas bintang .

2) Jika kita menyimpan item 1. - 6. tetapi hanya mengubah item 4. dalam menggunakan persimpangan bukan penyatuan, kita mendapatkan subkelas yang tepat dari bahasa reguler. Sebagai contoh kita tidak bisa lagi menggambarkan bahasa karena akan melibatkan penyatuan { a } dan { b } (lihat bukti di bawah). Jika kita mengizinkan pelengkap, segalanya berubah karena kita memiliki penyatuan kembali oleh hukum DeMorgan.L.={Sebuah,b}{Sebuah}{b}

3) Ini sebagian saya jawab dalam 1), tetapi apa yang Anda maksud ketika Anda mengatakan bahwa definisi ini lebih disukai? Saya tahu definisi di mana 2. dihilangkan (seperti yang kita miliki dengan 6. bahwa ), atau 3. dihilangkan (seperti yang kita miliki = L ( ¯ X )), atau keduanya dihilangkan ; jadi ini bukan definisi seminimal mungkin (itu memberi kita juga beberapa gula sintaksis karena kita memiliki simbol tambahan untuk menggambarkan { ε } dan ).L.()={ε}=L.(X¯{ε}

EDIT : Komentar pertama saya yang disebutkan dalam 2) salah, bahasa dalam penutupan induktif di bawah , dan tidak selalu merupakan himpunan bagian dari x untuk beberapa x X , misalnya pertimbangkan L ( a b ) = { a b } . Namun demikian kita memiliki bahwa L = { a , b } tidak dapat dijelaskan dengan ungkapan seperti itu. Saya akan memberikan bukti, yaitu saya membuktikan bahwa jika L = L ( R )xxXL.(Sebuahb)={Sebuahb}L.={Sebuah,b}L.=L.(R)untuk beberapa ekspresi dengan item-4 diubah, maka jika (dan karenanya a b ) { a , b } L a b L . Buktinya berjalan dengan induksi pada ekspresi R . Untuk kasing pangkalan kosong, sekarang anggap berlaku untuk L ( R 1 ) , L ( R 2 ) . Jika L = L ( R 1X={Sebuah,b}Sebuahb

{Sebuah,b}L.SebuahbL..
RL.(R1),L.(R2) dan { a , b } L , maka { a , b } L ( R i ) , i = 1 , 2 maka dengan hipotesis induksi kita memiliki sebuah b L ( R 1 ) L ( R 2 ) . JikaL.=L.(R1R2)=L.(R1)L.(R2){Sebuah,b}L.{Sebuah,b}L.(Rsaya),saya=1,2SebuahbL.(R1)L.(R2) kemudian sebagai suatu = a ε = ε a kita harus memiliki sebuah L ( R 1 ) dan ε L ( R 2 ) atau sebaliknya. Misalkan kasus pertama. Jika b L ({Sebuah,b}L.(R1R2)=L.(R1)L.(R2)Sebuah=Sebuahε=εSebuahSebuahL.(R1)εL.(R2) , maka a b L ( R 1 ) dengan hipotesis induksi, maka a b = a b ε L ( R 1 ) L ( R 2 ) . Sekarang anggaplah b L ( R 2 ) , maka kita memiliki sebuah b L ( R 2 ) L ( R 2 ) dengan definisi daribL.(R1)SebuahbL.(R1)Sebuahb=SebuahbεL.(R1)L.(R2)bL.(R2)SebuahbL.(R2)L.(R2) . Terakhir jika a , b L ( R 1 ) , maka a L ( R 1 ) n dan b L ( R 2 ) m untuk beberapa n , m > 0 . Jika n = m = 1 kita menemukan sebuah b L ( RL.(R1)L.(R2)Sebuah,bL.(R1)SebuahL.(R1)nbL.(R2)mn,m>0n=m=1 oleh hipotesis induksi, sehingga kira n > 1 , tapi ini memberikan sebuah L ( R 1 ) , mirip baik m = 1 atau m > 1 memberikan b L ( R 1 ) dan hipotesis induksi memberikan sebuah b L ( R 1 ) L ( R 1 ) . SebuahbL.(R1)n>1SebuahL.(R1)m=1m>1bL.(R1)SebuahbL.(R1)L.(R1)

Keterangan: Satu kesimpulan yang umum digunakan: Jika , maka u = a atau w = a . Ini mengikuti sebagai 1 = | a | = | u w | = | kamu | + | w | , karenanya | kamu | = 0 dan | w | = 1 atau | kamu | = 1 dan | w | =Sebuah=kamuwkamu=Sebuahw=Sebuah1=|Sebuah|=|kamuw|=|kamu|+|w||kamu|=0|w|=1|kamu|=1 . Dalam kasus pertama kita memiliki u = ε dan karenanya a = w .|w|=0kamu=εSebuah=w


2
Memang tidak dalam set bahasa "tidak teratur", tetapi { a , b } adalah karena { a , b } = ( a b ) . {Sebuah,b}{Sebuah,b}{Sebuah,b}=(Sebuahb)
rici

Ya, kadang-kadang agak sulit untuk melihat apa yang bisa diekspresikan dan apa yang tidak seperti dengan kombinasi bintang yang pintar dan lainnya yang bisa Anda dapatkan cukup jauh.
StefanH

10

Laporan teknis yang memperkenalkan bahasa reguler, ekspresi reguler, dan automata terbatas menanyakan pertanyaan Anda di halaman 70:

Pertanyaan mungkin muncul pada pembaca, mengapa kami memilih tiga operasi tertentu EF , EF , dan EF ?

(Segera setelah itu, dicatat bahwa E adalah operator yang lebih nyaman daripada EF dan setara dalam kekuasaan. Jadi hari ini, kami menggunakan E sebagai gantinya.)

Jawabannya menempati beberapa halaman. Pertama, dikatakan bahwa jawabannya harus dicari apakah bahasa yang dihasilkan membentuk kelas yang menarik dan bagaimana mereka membandingkan dengan bahasa yang dijelaskan dengan cara lain. Pada halaman 72, dikatakan bahwa negasi dan konjungsi itu berlebihan: mereka tidak menambah kekuatan ekspresif. Pada halaman 80 dan selanjutnya, terbukti bahwa bahasa reguler adalah bahasa yang dikenali oleh mesin negara hingga.

Dengan kata lain: Jawaban Stefan dapat dengan aman dianggap konklusif, seperti yang sudah diberikan dalam laporan yang pertama kali memperkenalkan konsep-konsep ini.


Terima kasih untuk tautannya. Saya selalu menjelaskan kepada siswa saya bahwa operasi adalah abstraksi alami dari urutan pilihan (seperti jika-maka-lain) (instruksi mengikuti satu sama lain) dan iterasi (seperti saat-lakukan). Namun ternyata itu tidak disebutkan oleh Kleene?
Hendrik Jan

Saya hanya seorang lelaki yang mencari artikel Kleene dan terkejut bahwa semua jawaban saya sudah ada di sana. Saya tidak tahu apa-apa lagi. Jadi saya kira jawabannya adalah membaca artikel dan mungkin mencari apa pun yang ditulis Kleene sebelumnya.
reinierpost

4

Dari pemilihan operator ini (penyatuan, gabungan, dan bintang) orang dapat membangun NFA dengan ukuran linier dengan ukuran ekspresi. Di sisi lain, jika Anda menambahkan persimpangan dan komplementasi, ukuran otomat setara dapat meledak secara non-elemen, yang biasanya tidak diinginkan.

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.