Back to IF2224 Teori Bahasa Formal dan Otomata

Topic

Questions/Cues

  • Bagaimana membuktikan closure untuk Irisan (Intersection)?

  • Apa itu Product Automaton?

  • Bagaimana membuktikan closure untuk Pembalikan (Reversal)?

  • Apa itu Homomorfisma?

  • Bagaimana membuktikan closure untuk Homomorfisma?

  • Apa itu Inverse Homomorphism?

Reference Points

  • 2021_Bab-4-Sifat-Sifat-Bahasa-Regular.pdf: 60-78

  • 2023_Properties of Regular Languages.pdf: 13-21

Closure di Bawah Operasi Irisan (L∩M)

Irisan (Intersection) dari dua bahasa L dan M adalah himpunan string yang ada di kedua bahasa tersebut.

  • Strategi Bukti: Bukti ini paling mudah dilakukan dengan membangun sebuah DFA baru yang disebut Product Automaton. Idenya adalah mensimulasikan kedua DFA (satu untuk L, satu untuk M) secara bersamaan (paralel).

Metode Konstruksi (Product Automaton):

  1. Ambil DFA untuk bahasa L dan DFA untuk bahasa M.

  2. Kita bangun DFA baru, .

    • State (Q): Himpunan state baru adalah produk Kartesian dari state-state lama: . Setiap state baru adalah pasangan (p,r) di mana ​ dan .

    • Start State (​): Pasangan dari kedua start state lama: .

    • Fungsi Transisi (δ): Untuk setiap state pasangan (p,r) dan input a, transisi barunya adalah pasangan dari hasil transisi masing-masing DFA: .

    • Final State (F): Sebuah state pasangan (p,r) adalah final state jika kedua komponennya adalah final state di DFA masing-masing: ​.

Karena kita berhasil membangun sebuah DFA untuk , maka terbukti regular.

Closure di Bawah Operasi Pembalikan ()

Pembalikan (Reversal) dari sebuah string w adalah string yang sama namun dibaca dari belakang, ditulis . Bahasa adalah himpunan semua string yang pembalikannya ada di L.

  • Strategi Bukti: Ambil sebuah DFA (atau NFA) untuk , lalu modifikasi untuk menerima .

Metode Konstruksi:

  1. Ambil sebuah FA untuk .

  2. Balikkan semua panah transisi.

  3. Tukar Peran State: Jadikan start state yang lama sebagai satu-satunya final state yang baru.

  4. Buat Start State Baru: Jadikan semua final state yang lama sebagai start state. Cara terbaik untuk melakukan ini adalah dengan membuat satu start state baru lalu membuat ϵ-transition darinya ke semua final state yang lama.

Hasil dari konstruksi ini adalah sebuah ϵ-NFA. Karena setiap ϵ-NFA ekuivalen dengan sebuah DFA, maka terbukti bahwa LR adalah regular.

Closure di Bawah Homomorfisma

Homomorfisma adalah sebuah fungsi substitusi, h, yang mengganti setiap simbol dalam sebuah alfabet dengan sebuah string. Contoh: jika dan , maka .

  • Strategi Bukti: Paling mudah dibuktikan menggunakan Ekspresi Reguler.

Metode Konstruksi:

  1. Ambil bahasa regular . Pasti ada sebuah RE, , yang mendefinisikan .

  2. Untuk mendapatkan RE baru untuk bahasa , kita cukup terapkan fungsi homomorfisma h pada setiap simbol di dalam RE .

Hasilnya adalah sebuah RE yang valid, sehingga terbukti regular.

Closure di Bawah Inverse Homomorphism

Inverse Homomorphism dari sebuah bahasa L, ditulis , adalah himpunan semua string sedemikian sehingga hasil homomorfismanya, , ada di dalam .

  • Strategi Bukti: Ambil sebuah DFA untuk L, lalu modifikasi untuk menerima .

Metode Konstruksi:

  1. Ambil DFA untuk bahasa .

  2. Bangun DFA baru B yang komponennya sama dengan A, kecuali fungsi transisinya.

  3. Fungsi Transisi Baru (​): Untuk menghitung , kita lihat apa yang terjadi pada DFA jika ia memproses string .

Karena kita berhasil membangun DFA untuk , maka terbukti regular.

Summary

Kelas Bahasa Regular juga tertutup di bawah operasi yang lebih kompleks. Penutupan untuk Irisan (Intersection) dibuktikan dengan membangun {product} Automaton yang mensimulasikan dua DFA secara paralel. Penutupan untuk Pembalikan (Reversal) dibuktikan dengan membalik semua transisi pada sebuah FA. Terakhir, penutupan untuk Homomorfisma (substitusi simbol) dan Inverse Homomorphism dibuktikan dengan memodifikasi Ekspresi Reguler atau DFA dari bahasa aslinya.