MODUL IV TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami teknik translasi NFA ke DFA dan daat menerakannya. Materi : Pengertian ekivalensi Langkah-langkah engubahan
EKIVALENSI NON-DETERMINISTIC FINITE AUTOMATA KE DETERMINISTIC FINITE AUTOMATA Dari sebuah mesin Non-deterministic Finite Automata daat dibuat mesin Deterministic Finite Automata-nya yang ekivalen (bersesuaian). Ekivalen disini artinya mamu menerima bahasa yang sama. Lihat finite state automata ada gambar dan gambar 2. Gambar adalah Deterministic Finite Automata sedangkan gambar 2 adalah Non deterministic Finite Automata. Meskiun yang satu deterministic dan lainnya non-deterministik, kedua-duanya menerima bahasa yang sama, yang dalam eksresi regular = ( )* q q q 2 Gambar. Mesin DFA q q Gambar 2. Mesin NFA
q q Gambar 3. Mesin otomata NFA Tahaan Pengubahan Sekarang kita lihat bagaimana membuat suatu Deterministic Finite Automata yang ekivalen dengan sebuah Non-deterministic Finite Automata. Misalkan kita ingin membuat mesin Deterministic Finite Automata dari mesin Non-deterministic Finite Automata ada gambar 3. Pertama-tama yang kita lakukan adalah membuat table transisi NFA tersebut. Bila diketahui =, maka table transisinya adalah: q q, q q q q, q Dengan adanya table transisi tersebut akan memermudah kita melakukan langkah selanjutnya. Kita akan mulai dari state awal, kemudian mengikuti transisinya untuk membentuk state-state baru, untuk setia state yang terbentuk diikuti lagi transisinya samai ter cover semua. Untuk lebih jelasnya kita lihat contoh engerjaan berikut. Kita mulai dengan state awal q, seerti terlihat ada gambar 4. q
Gambar 4. Mulai dengan state awal Selanjutnya kita telusuri state berikutnya yang dieroleh dengan memanfaatkan table transisinya: state q bila memeroleh inut menjadi state q, q state q bila memeroleh inut menjadi state q Kita lihat hasilnya ada gambar 5 q q q, q Gambar 5.Hasil dari enelusuran q Perhatikan disini gambar setia state kita tuliskan sebagai himunan state. Selanjutnya kita telusuri state-state baru yang terbentuk: state q bila memeroleh inut menjadi state state q bila memeroleh inut menjadi state q, q state q, q bila memeroleh inut menjadi state q, q, ini di eroleh dari (q,)= q, q di gabung dengan (q,) =, maka hasilnya (q, q, ) =q, q state q, q bila memeroleh inut menjadi state q, q, ini di eroleh dari (q,)= q di gabung dengan (q,) = q, q, maka hasilnya (q, q, ) = q, q *Perhatikan state yang sama cuku ditulis sekali saja. Kita lihat hasilnya ada gambar 6.
q q q, q Gambar 6.Hasil setelah enelusuran q dan q, q *Perhatikan state q menerima inut menjadi state, disini kita gambarkan juga sebagai sebuah state. Selanjutnya kita lihat semua state sudah kita telusuri/runut, tinggal state. State menerima inut atau menjadi state, atau (,)=. Hasilnya daat kita lihat ada gambar 7. q q q, q
Gambar 7.Hasil setelah semua di telusuri Kita ingat ada mesin Non-deterministic Finite Automata semula, himunan state akhir adalah q, maka ada Deterministic Finite Automata hasil erubahannya state-state akhir adalah semua state yang mengandung q. Maka state akhirnya sekarang adalah state q dan state q, q, atau secara formal: F=q,q, q Sehingga Deterministic Finite Automata hasil ekivalensi dengan Non-deterministici Finite Automata ada gambar 3 daat kita lihat ada gambar 8. q q q, q Gambar 8. Mesin DFA yang ekivalen dengan NFA ada gambar 3 Kita bisa memeriksa aakah kedua otomata tersebut ekivalen. Untuk membuktikannya kita erlu memerlihatkan bahwa suatu bahasa yang diterima oleh Non-deterministic Finite Automata juga diterima oleh Deterministic Finite Automata ekivalennya tersebut. Bila diketahui Non-deterministic Finite Automata semula gambar menerima string, maka seharusnya Deterministic Finite Automata ada gambar juga menerima string tersebut. Kita lihat: (q,) =(q, q,)= (q, q,)= q, q Karena state q, q termasuk state akhir, maka berarti string tersebut diterima. Contoh-contoh ekivalensi NFA ke DFA
Kita lihat contoh-contoh lain ekivalensi Non-deterministic Finite Automata ke Deterministic Finite Automata. a q q Gambar 9. Mesin NFA Tabel transisi untuk NFA ada gambar, bila diketahui =: a B q q, q q q Mesin Deterministic Finite Automata ekivalensi dari Non-deterministic Finite Automata tersebut bisa dilihat ada gambar. b q q b a q, q a Gambar. DFA yang ekivalen dengan NFA ada gambar 9
q Gambar. Mesin NFA Tabel transisi untuk Non-deterministic Finite Automata ada gambar, bila diketahui =: a b q Mesin Deterministic Finite Automata ekivalensi dari Non-deterministic Finite Automata tersebut bisa dilihat ada gambar 2. q Gambar 2. DFA yang ekivalen dengan NFA ada gambar r q q q 2 Gambar 3. Mesin NFA Tabel transisi untuk Non-deterministic Finite Automata ad gambar, bila diketahui =,r: r
q q, q 2 q q q 2 q q Mesin Deterministic Finite Automata ekivalensi dari Non-deterministic Finite Automata tersebut bisa dilihat ada gambar 4. r q q, q 2 q,r r r q 2,r Gambar 4. DFA yang ekivalen dengan NFA ada gambar 3