FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013
Teori Bahasa dan Automata
Semester Ganjil 2013 Jum’at, 15.11.2013 Dosen pengasuh:
Kurnia Saputra ST, M.Sc
Email: [email protected]Jurusan Informatika
Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Syiah Kuala
Relasi Ekuivalensi
Pengertian Relasi Ekuivalensi
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 3
Definisi Relasi
Sebuah
relasi
𝑅 yang homogen atau unary pada himpunan 𝑀
adalah subset dari 𝑅 ⊆ 𝑀 × 𝑀.
Relasi 𝑅 selain dapat ditulis dengan 𝑚
1, 𝑚
2∈ 𝑅 dapat juga ditulis
dengan 𝑚
1𝑅 𝑚
2.
Contoh Relasi:
Pengertian Relasi Ekuivalensi
Relasi Ekuivalensi
Relasi ekuivalensi 𝑅 pada himpunan 𝑀 adalah relasi dari 𝑅 ⊆ 𝑀 × 𝑀 yang
memiliki properti sebagai berikut:
•
Relasi 𝑅 dikatakan
reflexive
jika (𝑎, 𝑎) ∈ 𝑅, dimana 𝑎 ∈ 𝑀.
•
Relasi 𝑅 dikatakan
symmetric
jika (𝑎, 𝑏) ∈ 𝑅 dan (𝑏, 𝑎) ∈ 𝑅.
•
Relasi 𝑅 dikatakan
transitive
jika (𝑎, 𝑏) ∈ 𝑅 dan (𝑏, 𝑐) ∈ 𝑅 dan
dapat direlasikan juga dengan (𝑎, 𝑐) ∈ 𝑅.
Pengertian Relasi Ekuivalensi
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 5
Reflexive: 𝑎 𝑎 𝑏 Symmetric: Transitive: 𝑎 𝑏 𝑐 (𝑎, 𝑎) ∈ 𝑅 (𝑎, 𝑏) ∈ 𝑅 dan (𝑏, 𝑎) ∈ 𝑅 (𝑎, 𝑏) ∈ 𝑅 dan (𝑏, 𝑐) ∈ 𝑅 dan (𝑎, 𝑐) ∈ 𝑅
Kelas Ekuivalensi
(Equivalence Classes)
Kelas Ekuivalensi
Diketahui 𝑅 adalah relasi ekuivalensi pada himpunan 𝑀 dan 𝑚 ∈ 𝑀. Kelas
ekuivalensi [𝑚]
𝑅dari 𝑚 adalah himpunan:
[𝑚]
𝑅= 𝑛 ∈ 𝑀 (𝑛, 𝑚) ∈ 𝑅}
Kelas ekuivalensi di atas dapat juga ditulis dengan [𝑚] jika relasi yang
dimaksud sudah jelas.
Kelas Ekuivalensi
(Equivalence Classes)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 7
Properti Kelas Ekuivalensi
Diketahui 𝑅 adalah relasi ekuivalensi pada himpunan 𝑀 dan 𝑚 ∈ 𝑀.
Maka akan berlaku kondisi:
[𝑚
1]
𝑅= [𝑚
2]
𝑅atau
[𝑚
1]
𝑅∩ [𝑚
2]
𝑅= ∅
dimana untuk 𝑀 berlaku kondisi:
𝑀 = � [𝑚]
𝑅𝑚∈𝑀
Dua buah kelas ekuivalensi bisa akan sama atau bisa juga terpisah. Kedua kelas ekuivalensi terdapat di dalam himpunan 𝑀.
Acceptance Equivalence
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Acceptance Equivalence
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 9
1
2/3
4/5
𝑎 𝑏 𝑏 𝑎 𝑎, 𝑏 𝑎, 𝑏6
State 2 dan 3 adalah acceptance equivalence. Sama halnya pada state 4 dan 5, state-state tersebut dapat digabungkan.
Acceptance Equivalence
Definisi Acceptance Equivalence
Diketahui sebuah DFA dengan 𝑀 = (𝑍, Σ, 𝛿, 𝑧
0, 𝐸) . Dua buah state
𝑧
1, 𝑧
2∈ 𝑍 dikatakan
acceptance equivalence
jika semua word 𝑤 ∈ Σ
∗dan
kondisi berikut harus terpenuhi:
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 11
Definisi Ekuivalensi Myhill-Nerode
Diketahui sebuah bahasa 𝐿, dimana word 𝑥, 𝑦 ∈ Σ
∗.
Relasi ekuivalensi ≡
𝐿dapat didefinisikan dengan 𝑥 ≡
𝐿𝑦 if and only if (iff)
untuk semua 𝑧 ∈ Σ
∗harus memenuhi kondisi (𝑥𝑧 ∈ 𝐿 ⟺ 𝑦𝑧 ∈ 𝐿)
Selain pada state, acceptance equivalence juga dapat dilakukan pada word. Hal ini dapat dilakukan dengan menggunakan ekuivalensi Myhill-Nerode.
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
Diketahui 𝐿 = 𝑎𝑘𝑏𝑘 𝑘 ∈ ℕ}.
Apakah kondisi di bawah ini memenuhi bahasa 𝐿 di atas? • 𝑎4𝑏3 ≡𝐿 𝑎3𝑏2 ?
• 𝑎2𝑏2 ≡𝐿 𝑎3𝑏2 ? • 𝑎4𝑏2 ≡𝐿 𝑎3𝑏2 ? • 𝑎𝑏𝑏 ≡𝐿 𝑏𝑎𝑏𝑎 ?
Spesifikasikan kelas ekuivalensi Myhill-Nerode pada bahasa berikut ini: • 𝐿1 = 𝑤 ∈ 𝑎, 𝑏 ∗ #𝑎 𝑤 𝑔𝑔𝑛𝑎𝑔}
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 13
Ekuivalensi Myhill-Nerode dan Bahasa Regular
Sebuah bahasa 𝐿 ⊆ Σ
∗dikatakan regular, iff ≡
𝐿memiliki kelas ekuivalensi
berhingga/finite.
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
𝐿 regular ⟹ ≡𝐿 memiliki kelas ekuivalensi berhingga/finite.Diketahui bahasa 𝐿 dan automata 𝑀 = (𝑍, Σ, 𝛿, 𝑧0, 𝐸) adalah DFA, dimana 𝑇 𝑀 = 𝐿. Relasi ekuivalensi ≡𝑀 didefinisikan dengan:
𝑥 ≡𝑀 𝑦 ⟺ 𝛿̂ 𝑧0, 𝑥 = 𝛿̂ 𝑧0, 𝑦 dimana 𝑥, 𝑦 ∈ Σ∗
Jumlah kelas ekuivalensi ≡𝑀 sama dengan jumlah state yang mampu dicapai pada automata 𝑀, atau dapat juga disebut dengan berhingga/finite.
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 15
Selanjutnya, kita dapat membuktikan bahwa 𝑥 ≡𝑀 𝑦 akan sama dengan 𝑥 ≡𝐿 𝑦. Asumsikan 𝑥 ≡𝑀 𝑦 kemudian pilih sebarang 𝑧 ∈ Σ∗. Pastikan kondisi berikut ini terpenuhi: 𝑥𝑧 ∈ 𝐿 ⟺ 𝛿̂ 𝑧0, 𝑥𝑧 ∈ 𝐸 ⟺ 𝛿̂(𝛿̂ 𝑧0, 𝑥 , 𝑧) ∈ 𝐸 ⟺ 𝛿̂(𝑧0, 𝑦𝑧) ∈ 𝐸 ⟺ 𝛿̂(𝛿̂ 𝑧0, 𝑦 , 𝑧) ∈ 𝐸 ⟺ 𝑦𝑧 ∈ 𝐸
(Definisi bahasa yang bisa diterima) (Definisi 𝛿̂)
𝑥 𝑅𝑀 𝑦 (Definisi 𝛿̂)
(Definisi bahasa yang bisa diterima) Maka kondisi 𝑥 ≡𝐿 𝑦 dapat terpenuhi.
Dengan demikian, ≡𝑀 terhubung dengan semua word pada ≡𝐿 dan memiliki kelas ekuivalensi yang sama seperti ≡𝐿.
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
≡𝐿 memiliki kelas ekuivalensi berhingga/finite ⟹ 𝐿 regularDiasumsikan ≡𝐿 memiliki kelas ekuivalensi berhingga/finite. Automata finite 𝑀0 = (𝑍, Σ, 𝛿, 𝑧0, 𝐸) untuk 𝐿 dapat dikonstruksikan, dimana definisinya adalah sebagai berikut:
𝑍 = 𝑤 ≡𝐿 𝑤 ∈ Σ∗} 𝑧0 = [𝜀]≡𝐿
𝐸 = 𝑤 ≡𝐿 𝑤 ∈ 𝐿} 𝛿 𝑤 ≡ , 𝑎 = [𝑤𝑎]≡
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 17
Dari 𝛿 𝑤 ≡𝐿, 𝑎 = [𝑤𝑎]≡𝐿 diikuti oleh 𝛿̂ 𝑤 ≡𝐿, 𝑠 = [𝑤𝑠]≡𝐿. Maka kondisinya menjadi:
𝑥 ∈ 𝐿(𝑀0) ⟺ 𝛿̂ [𝜀], 𝑥 ∈ 𝐸 ⟺ [𝑥] ∈ 𝐸
⟺ 𝑥 ∈ 𝐸 Sehingga 𝑇 𝑀0 = 𝐿
(Definisi bahasa yang bisa diterima) (Definisi Final state)
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
Dengan metode MyHill-Nerode kita dapat membuktikan sebuah bahasa regular
atau tidak regular. Contoh:
• Bahasa 𝐿 = 𝑎𝑘𝑏𝑘 𝑘 ≥ 0} memiliki kelas ekuivalensi tak hingga dan tidak
regular.
• Bahasa 𝐿 = 𝑎𝑛𝑏𝑚𝑐𝑚 𝑛, 𝑚 ≥ 1} ∪ {𝑏𝑚𝑐𝑛 | 𝑛, 𝑚 ≥ 1} memiliki kelas ekuivalensi tak hingga dan tidak regular.
Ekuivalensi Myhill-Nerode
(Myhill-Nerode Equivalence)
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 19
Jika diketahui 𝑀0 adalah DFA yang dikonstruksi dari kelas ekuivalensi.
Untuk sebarang automata 𝑀 dimana 𝑇 𝑀 = 𝑇 𝑀0 , maka memenuhi kondisi berikut:
≡𝑀 ⊆ ≡𝐿 = ≡𝑀0
Artinya bahwa 𝑀0 bisa dikonstruksi dari 𝑀 dengan menggabungkan state kelas ekuivalensi.
Dengan kata lain, 𝑀0 adalah DFA minimal dari bahasa 𝐿.
Semua DFA minimal yang berasal dari satu bahasa yang sama maka DFA tersebut akan sama (walaupun dengan state yang berbeda).
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 21
Bagaimana caranya untuk mengetahui bahwa sebuah DFA
dikatakan minimal tanpa melakukan konstruksi kelas
ekuivalensi?
Solusi:
Dengan cara menggabungkan state yang memiliki
acceptance equivalence.
Sebelum melakukan penggabungan state, hal yang
pertama sekali dilakukan adalah menentukan terlebih
dahulu state yang tidak acceptance equivalence (state final
dan state non final), dan dilanjutkan dengan melakukan
pencarian state yang non acceptance equivalence.
Automata Minimal
Algoritma Automata Minimal
Input:
DFA 𝑀
Output:
Himpunan state acceptance equivalence
1. Hapus state yang tidak dapat dijangkau dari start state.
2. Buatlah tabel pasangan state {𝑧, 𝑧′}, dimana 𝑧 ≠ 𝑧′.
3. Beri tanda pasangan state 𝑧, 𝑧
′dimana 𝑧 ∈ 𝐸 dan 𝑧′ ∉ 𝐸.
Note: 𝑧, 𝑧
′tidak acceptance equivalence.
4. Untuk pasangan yang tidak diberi tanda {𝑧, 𝑧′} dan dimana 𝑎 ∈ Σ,
lakukan pengecekan apakah {𝛿 𝑧, 𝑎 , 𝛿(𝑧′, 𝑎)} sudah pernah
diberi tanda. Jika ya, tandai {𝑧, 𝑧′}.
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 23
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
Buat tabel untuk semua pasangan state
2
3
4
5
6
1 2 3 4 5
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 25
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
(2) Beri tanda {2, 4} karena 𝛿 2, 𝑎 = 1, 𝛿 4, 𝑎 = 6 dan {1, 6} sudah ditandai
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 27
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
(4) Beri tanda {2, 5} karena 𝛿 2, 𝑎 = 1, 𝛿 5, 𝑎 = 6 dan {1, 6} sudah ditandai
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 29
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
(6) Beri tanda {1, 5} karena 𝛿 1, 𝑎 = 3, 𝛿 5, 𝑎 = 6 dan {3, 6} sudah ditandai
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
7
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 31
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
(8) Beri tanda {1, 3} karena 𝛿 1, 𝑏 = 2, 𝛿 3, 𝑏 = 5 dan {2, 5} sudah ditandai
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
7
8
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
7
8
9
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 33
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
Pasangan state yang tersisa {2, 3} dan {4, 5} tidak bisa ditandai karena
acceptance equivalent.
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
7
8
9
Automata Minimal
1
2
3
4
5
6
𝑎 𝑏 𝑎 𝑎 𝑏 𝑏 𝑏 𝑏 𝑎 𝑎 𝑎, 𝑏Gunakan algoritma automata minimal pada automata berikut:
2
3
4
5
6
1 2 3 4 5
1 1 1 1 1
2
3
4
5
6
7
8
9
1
2/3
4/5
𝑎 𝑏 𝑏 𝑎 𝑎, 𝑏 𝑎, 𝑏6
Automata Minimal
FMIPA Informatika Universitas Syiah Kuala – Semester Ganjil 2013 35
Hint penggunaan algoritma automata minimal:
• Buatlah sebuah tabel dimana setiap pasangan state hanya ada satu. Secara vertikal 2, … , 𝑛 dan secara horizontal 1, … 𝑛 − 1.