✖

Penutup bahasa reguler

Misalkan ada bahasa reguler L. Kita akan membuktikan bahwa penutup bahasa L juga merupakan bahasa reguler.

Apa itu penutup bahasa

Penutup bahasa L dilambangkan dengan L∗. Penutup memuat semua string yang dapat disusun dengan konkatenasi sejumlah berhingga string dari bahasa L. Penutup dapat didefinisikan sebagai:

L∗={a1∘a2∘⋯∘an|ai∈L,n∈N0},

dengan ∘ menyatakan operasi konkatenasi. Penutup juga memuat string kosong, yaitu ϵ.

Prosedur formal

Prosedurnya sangat mirip dengan konkatenasi bahasa. Bedanya, alih-alih menyambung dua otomaton yang berbeda, kita menyambung satu otomaton dengan dirinya sendiri — dari state akhir otomaton kita buat transisi epsilon ke state awal otomaton. Namun, penutup juga harus memuat string kosong. Bagaimana caranya? State awal bisa saja kita jadikan state akhir. Otomaton seperti itu memang akan menerima string kosong, tetapi mungkin juga menerima string lain yang tidak seharusnya. Karena itu, sebagai gantinya kita buat state awal baru, dan dari state awal baru ini kita buat transisi epsilon ke state awal semula.

Ada bahasa reguler L1 dan otomaton yang menerima bahasa tersebut:

A1=⟨Q1,Σ1,δ1,q0,F1⟩

Kita konstruksi otomaton nondeterministik A = ⟨Q, Σ, δ, qs, F⟩ dengan:

  • Q = Q1 ∪ {qs}
  • Σ= Σ1
  • F = F1 ∪ {qs}

Fungsi transisi δ didefinisikan sebagai berikut:

δ(q,a)={δ1(q,a)jikaq∈Q1∧q∉F1δ1(q,a)jikaq∈F1∧a≠ϵδ1(q,a)∪{q0}jikaq∈F1∧a=ϵ{q0}jikaq=qs∧a=ϵ∅jikaq=qs∧a≠ϵ

Contoh

Misalkan ada otomaton A1 berikut, yang menerima string 00 atau 11:

Jadi, penutup bahasa L(A1) adalah bahasa semua string yang tersusun atas pasangan 00 dan 11, misalnya 0000, 110011, 11110000, dan seterusnya. Otomaton yang menerima penutup ini kita susun dengan membuat state awal baru qs yang memiliki transisi epsilon ke bekas state awal q0, lalu menambahkan transisi epsilon dari state q3 dan q4 ke state q0:

Kita dapat memeriksa bahwa otomaton ini memang menerima string 0000, 110011, 11110000, tetapi tidak menerima, misalnya, string 1010.

Sumber

Daftar isi: Sifat ketertutupan bahasa reguler, Gabungan bahasa reguler, Irisan bahasa reguler, Selisih bahasa reguler, Komplemen bahasa reguler, Konkatenasi bahasa reguler, Penutup bahasa reguler