Back to IF2224 Teori Bahasa Formal dan Otomata

Topic

Questions/Cues

  • Apa saja hukum untuk operasi Union?

  • Apa saja hukum untuk operasi Konkatenasi?

  • Apa peran himpunan kosong (∅)?

  • Apa peran himpunan epsilon ({ϵ})?

  • Apa hukum distributifnya?

  • Apa saja hukum untuk operasi Closure (*)?

  • Bagaimana cara membuktikan identitas umum regex?

  • Apa itu metode ‘freezing’?

Reference Points

  • 2023_Algebraic Law of Language.pdf

Hukum-Hukum Aljabar untuk Bahasa

Operasi-operasi pada bahasa (seperti Union, Konkatenasi, dan Closure) memiliki sifat-sifat aljabar yang mirip dengan operasi aritmetika. Sifat-sifat ini memungkinkan kita untuk memanipulasi dan menyederhanakan ekspresi bahasa.

1. Hukum untuk Union (∪)

  • Komutatif:

  • Asosiatif:

  • Idempoten:

2. Hukum untuk Konkatenasi (Concatenation)

  • Asosiatif:

  • TIDAK Komutatif: Konkatenasi secara umum tidak komutatif. Artinya, ada bahasa L dan M di mana .

3. Hukum Identitas dan Anihilator

  • Identitas untuk Union: Himpunan kosong (∅) adalah elemen identitas untuk operasi union.

  • Identitas untuk Konkatenasi: Himpunan yang hanya berisi string kosong ({ϵ}) adalah elemen identitas untuk operasi konkatenasi.

  • Anihilator untuk Konkatenasi: Himpunan kosong (∅) adalah elemen anihilator (pembuat nol) untuk operasi konkatenasi.

4. Hukum Distributif

  • Konkatenasi bersifat distributif terhadap union, baik dari kiri maupun kanan.

    • Distributif Kiri:

    • Distributif Kanan:

5. Hukum untuk Closure (*)

  • Idempoten:

  • Hubungan dengan Positive Closure (+):

Verifikasi Identitas untuk Ekspresi Reguler

Seringkali kita ingin membuktikan sebuah identitas umum berlaku untuk semua ekspresi reguler, bukan hanya untuk contoh spesifik. Misalnya, membuktikan (L+M)∗=(L∗M∗)∗ berlaku untuk L dan M apa pun.

Metode Pembekuan (Freezing Substitution)

Metode ini adalah cara untuk menguji identitas umum tersebut:

  1. “Bekukan” Variabel: Ganti setiap variabel ekspresi reguler umum (seperti L dan M) dengan simbol-simbol alfabet baru yang berbeda (misalnya, a1​ dan a2​).

  2. Uji Identitas Konkret: Uji apakah bahasa yang dihasilkan oleh kedua sisi ekspresi yang sudah “dibekukan” itu ekuivalen.

Contoh: Untuk membuktikan :

  • Ganti L dengan ​ dan M dengan ​.

  • Kita cukup menguji apakah .

Teorema Kunci: Jika identitas tersebut terbukti benar untuk versi “beku”-nya, maka identitas tersebut juga pasti benar untuk versi umumnya. Metode ini berfungsi untuk semua identitas yang hanya menggunakan operasi union (+), konkatenasi (.), dan star (*).

Summary

Operasi pada bahasa, seperti Union, Konkatenasi, dan Closure, mengikuti serangkaian hukum aljabar yang formal (misalnya, komutatif, asosiatif, distributif) yang memungkinkan manipulasi ekspresi. Untuk membuktikan sebuah identitas umum pada ekspresi reguler (yang berlaku untuk bahasa apa pun), dapat digunakan sebuah teknik ampuh yang disebut Metode Pembekuan (Freezing), di mana variabel bahasa diganti dengan simbol unik dan identitasnya diuji pada level konkret tersebut.