Otomata Teori Bahasa Finite State Automata Non Deterministic
Otomata & Teori Bahasa Finite State Automata: - Non Deterministic Finite Automata dengan -move - Penggabungan dan Konkatenasi FSA
Non DFA dengan - move (transisi ) Dapat merubah state satu ke state lain tanpa membaca input Tidak bergantung pada suatu input ketika melakukan transisi q 0 a q 2 q 1 b q 3 q 4 b dari q 0 tanpa membaca input dapat berpindah ke q 1 dari q 1 tanpa membaca input dapat berpindah ke q 2 dari q 4 tanpa membaca input dapat berpindah ke q 1
-closure untuk NFA -move himpunan-himpunan state-state yang dapat dicapai dari sebuah state tanpa membaca input. Dari diagram NFA dengan -move maka dihasilkan: -closure (q 0)= q 0, q 1, q 2 -closure (q 1) = q 1, q 2 -closure (q 2) = q 2 -closure (q 3) = q 3 -closure (q 4) = q 1, q 2, q 4 q 0 a q 2 q 1 b q 3 q 4 b * State yg tidak memiliki transisi , maka -closurenya adalah state itu sendiri
Ekivalensi NFA -move ke NFA tanpa -move q 0 a q 1 q 2 q 0 a q 1 b b q 3 NFA dengan -move q 2 NFA tanpa -move ØGambar diatas menunjukkan bahwa keduanya mampu menerima bahasa yang sama (ekivalen) ØNFA dengan -move awal menerima bahasa yang memuat string ’b’, dan NFA tanpa -move pada gambar diatas juga mampu menerima bahasa yang memuat string ‘b’.
NFA -move ke NFA tanpa -move ü Buat tabel transisi NFA dengan -move awal ü Tentukan -closure untuk setiap state ü Carilah setiap fungsi transisi hasil perubahan dari NFA dengan ü move ke NFA tanpa -move (kita sebut saja sebagai ’) dimana ’ ü didapatkan dengan rumus: ’(state, input) = _closure ( ( _closure(state, input)) Berdasarkan hasil diatas, kita bisa membuat tabel transisi dan diagram transisi dari NFA tanpa -move yang ekivalen dengan NFA dengan -move tersebut. Jangan lupa menentukan state-state akhir untuk Non-deterministic Finite Automata tanpa -move tersebut, yaitu state-state akhir semula ditambah dengan state-state yang _closure –nya menuju ke salah satu dari state akhir semula. Dalam bahasa formalnya: F’ = F q ( -closure (q) F)
Ekivalensi NFA -move ke NFA tanpa -move Contoh: Buatlah NFA tanpa -move yang ekivalen dengan NFA -move dibawah ! a q 0 q 1 b q 2 b
NFA -move ke NFA tanpa -move 1. Buat Tabel Transisi a b q 0 q 1 q 2 q 2 2. Tentukan -closure untuk setiap state: Ø _ closure (q 0) = q 0, q 1 Ø _ closure (q 1) = q 1 Ø _ closure (q 2) = q 0, q 1, q 2
NFA -move ke NFA tanpa -move 3. Tentukan ’: q ’(q 0, a) = _closure ( ( _closure(q 0), a)) = _closure ( ( q 0, q 1 , a)) = _closure (q 0) = q 0, q 1 q ’(q 0, b) = _closure ( ( _closure(q 0), b)) = _closure ( ( q 0, q 1 , b)) = _closure (q 2)= q 0, q 1, q 2 q ’(q 1, a) = _closure ( ( _closure(q 1), a)) = _closure ( ( q 1 , a)) = _closure ( ) = q ’(q 1, b) = _closure ( ( _closure(q 1), b)) = _closure ( ( q 1 , b)) = _closure (q 2) = q 0, q 1, q 2 q ’(q 2, a) = _closure ( ( _closure(q 2), a)) = _closure ( ( q 0, q 1, q 2 , a)) = _closure (q 0) = q 0, q 1 q ’(q 2, b) = _closure ( ( _closure(q 2), b)) = _closure ( ( q 0, q 1, q 2 , b)) = _closure (q 2) = q 0, q 1, q 2
NFA -move ke NFA tanpa -move 4. Buat Tabel Transisi untuk NFA tanpa -move a b q 0, q 1, q 2 q 1 q 0, q 1, q 2 q 0, q 1, q 2 5. Tentukan State Akhir - Himpunan state akhir semula adalah q 0 - Cari _closure yang memuat state q 0 _closure (q 2) = q 0, q 1, q 2 F = {q 0, q 2}
NFA -move ke NFA tanpa -move Hasil akhir diagram NFA tanpa e-move b ab q 0 ab q 1 b b b ab q 2 b ab
Penggabungan dan Konkatenasi FSA Pada dua mesin Finite State Automata kita dapat melakukan penggabungan antar kedua mesin tersebut yaitu dengan union dan konkatensi. Union L(M’) = L(M 1) + L(M 2) Konkatenasi L(M’’) = L(M 1) L(M 2)
Penggabungan dan Konkatenasi FSA Contoh: 0 1 1 q. A 0 q. A 1 q. B 0 Mesin M 1 Tentukan : L(M’) = L(M 1) + L(M 2) dan L(M’’) = L(M 1) L(M 2) 1 Mesin M 2 q. B 1 0
Penggabungan dan Konkatenasi FSA 0 1 q. A 0 q. A 1 q. S q 1 1 1 q. B 0 L(M’) = L(M 1) + L(M 2) q. S q. B 1 0 0 1 q. A 1 1 1 q. B 0 qf 0 L(M’’) = L(M 1) L(M 2)
Terima Kasih
- Slides: 14