PERTEMUAN 7
TEORI BAHASA DAN OTOMATA
[TBO]
Ekivalensi NFA ke DFA
Dari sebuah mesin Non-deterministic FiniteAutomata dapat dibuat mesin Deterministic FiniteAutomata-nya yang ekivalen (bersesuaian).
Ekivalen disini artinya mampu menerima bahasayang sama
Meskipun yang satu deterministik dan lainnya non-deterministik, kedua-duanya menerima bahasa yangsama, dimana mempunyai ekspresi regular yangsama juga
Perhatikan Gambar 1 dan 2Gambar 1
Gambar 2
Tahapan Perubahan
1. Buat table transisi Non-deterministic FiniteAutomata
2. Penelusuran state-state awal dan state-stateyang terbentuk karena penelusuran
3. Menentukan state-state akhir untuk DFA, yaitustate-state akhir semula ditambah dengan state-state hasil penelusuran yang mengandung state-state akhir semula
4. Menganti nama state-state hasil penelusuran
Tahapan 1
Pertama-tama yang dilakukan adalah membuat tabletransisi NFA tersebut. Bila diketahui = 0,1, makatable transisinya adalah:
δ 0 1
q0 {q0,q1} {q1}
q1 {q0,q1}
Dengan adanya table transisi tersebut akanmempermudah untuk melakukan langkah selanjutnya.
Di mulai dari state awal, kemudian mengikuti transisinyauntuk membentuk state-state baru, untuk setiap stateyang terbentuk diikuti lagi transisinya sampai ter’cover’semua.
Tahapan 2 (1)
Dengan mengikuti transisinya dibentuk state-statebaru, untuk setiap state yang terbentuk diikuti lagitransisinya sampai ter’cover’ semua.
Buat penelusuran untuk state {q0} dan {q1}
Untuk lebih jelasnya kita lihat contoh pengerjaanberikut. Dimulai dengan state awal {q0}
Tahapan 2 (2)
Penelurusan state {q0} dengan memanfaatkan tabletransisi:
State q0 bila memperoleh input 0 menjadi stateq0, q1
State q0 bila memperoleh input 1 menjadi stateq1
Hasil dari penelusuran:
Terbentuk state {q1} dan
state {q0,q1}
Tahapan 2 (3)
Penelusuran state {q1} denganmemanfaatkan table transisi:
State q1 bila memperolehinput 0 menjadi state
State q1 bila memperolehinput 1 menjadi state q0, q1
Hasil dari penelusuran:
Terbentuk state {} dan
state {q0,q1}
Tahapan 2 (4)
Penelusuran state {q0,q1} dengan memanfaatkan tabletransisi:
State q0, q1 bila memperoleh input 0 menjadi stateq0, q1
Diperoleh dari (q0, q1, 0) = (q0,0) + (q1,0)
= q0, q1 +
= q0, q1
State q0, q1 bila memperoleh input 1 menjadi stateq0, q1
Diperoleh dari (q0, q1, 1) = (q0,1) + (q1,1)
= q1 + q0, q1
= q0, q1
Tahapan 2 (5)
Hasil dari penelusuran: Terbentuk state {q0,q1}
Hasil penelusuran state {q1} menerima input 0 menjadi state{}
{} digambarkan juga sebagai sebuah state
State {} bila memperoleh input 0 menjadi state {}
State {} bila memperoleh input 1 menjadi state {}
Tahapan 2 (6)
Gabungkan semua state yang terbentuk mengadi satudiagram.
Tahapan 3 (1)
Pada mesin Non-deterministic Finite Automatasemula, himpunan state akhir adalah q1, makapada Deterministic Finite Automata hasilperubahannya state-state akhir adalah semua stateyang mengandung q1.
Maka state akhirnya sekarang adalah state q1 danstate q0, q1, atau secara formal:
F=q1,q0, q1
Tahapan 3 (2)
Deterministic Finite Automata hasil ekivalensidengan Non-deterministici Finite Automata padagambar 1 adalah:
Tahapan 4
Pada DFA yang terbentuk, ganti nama state-statehasil penelusuran, teruskan penamaan dari stateyang telah ada sebelumnya
Latihan
Buatlah Deterministic Finite Automata yang ekivalendengan Non-deterministic Finite Automata berikut:
Q={p,q,r,s}; ={0,1}; S={p}; F={s}
Fungsi transisinya dinyatakan dalam tabel transisi:
δ 0 1
p {p,q} {p}
q {r} {r,p}
r {s} {}
s {} {s}