OTOMATA DAN TEORI BAHASA FORMAL SEMESTER PENDEK 2015/2016 OTOMATA DAN TEORI BAHASA FORMAL Betha Nurina Sari,M.Kom
PERTEMUAN 4 Ekuivalensi Non DFA ke DFA Non DFA dengan -move
Ekuivalensi NFA → DFA Dari sebuah mesin Non-deterministic Finite Automata (NFA) dapat dibuat mesin Deterministic Finite Automata (DFA)-nya yang ekuivalen (bersesuaian). Ekuivalen disini artinya mampu menerima bahasa yang sama.
Ekuivalensi Non DFA ke DFA Definisi Simulasi algoritma Tahap Pengubahan Contoh soal
Ekivalensi DFA dan NFA : Suatu DFA dapat dipandang sebagai kasus khusus (subset) dari NFA. Jelas bahwa kelas bahasa yang diterima oleh DFA juga akan diterima oleh NFA Namun ternyata DFA juga dapat mensimulasikan NFA; yaitu untuk setiap NFA kita dapat membuat DFA yang ekivalen. Dapat dibuktikan bahwa DFA dan NFA adalah ekivalen, sehingga dapat disebut FA saja.
Simulasi NFA oleh DFA : Cara simulasi NFA oleh DFA adalah dengan membuat state DFA berkorespondensi dengan set state di NFA DFA yang dibentuk mencatat semua state yang mungkin pada NFA setelah membaca input tertentu
Algoritma 1. Buat semua state yang merupakan subset dari state semula. jumlah state menjadi 2Q 2. Telusuri transisi state–state yang baru terbentuk, dari diagram transisi. 3. Tentukan state awal : {q0} 4. Tentukan state akhir adalah state yang elemennya mengandung state akhir. 5. Reduksi state yang tak tercapai oleh state awal.
Tahap pengubahan Diketahui NFA sebagai berikut
Tahap pengubahan (1)
Tahap pengubahan
Tahap pengubahan
Tahap pengubahan
Tahap pengubahan
1 q0 {q0, q1} {q1} q1 Ø NFA
Jawaban Pada DFA hasil perubahan state-state akhir adalah semua state yg mengandung {q1}. Maka, state akhirnya sekarang adalah : state {q1} dan state {q0,q1}, atau secara formal: F = {{q1}, {q0,q1}} DFA yang ekuivalen
CONTOH
Jawaban akhir
Non DFA dengan -move
Non DFA dengan -move Pada NFA dengan Ԑ-move diperbolehkan suatu status berubah secara spontan tanpa membaca input / berpindah ke suatu state tanpa membaca input ε (epsilon) ----» string kosong / Empty Kegunaan dari transisi Ԑ ini adalah : memudahkan untuk mengkombinasikan Finite State Automata Dari state q0 tanpa membaca input dapat pindah ke q1
ε-closure ε-closure adalah himpunan state yang dapat dicapai dari suatu state tanpa membaca input. Contohnya : (dari gambar di atas) ε-closure (qo) = {qo ,q1 } ε-closure (q1) = {q1} ε-closure (q2) = {q2}
Ekuivalensi NFA dengan ε-move ke NFA tanpa ε-move Buat tabel transisi NFA dengan ε-move Tentukan ε-closure setiap state Carilah fungsi transisi /tabel transisi yang baru (δ’), rumus : δ’(state,input)=ε-closure(δ(ε-closure(state),input)) Tentukan state akhirnya: State-state akhir semula ditambah dengan state-state yang ε-closure nya menuju ke salah satu dari state akhir semula, rumusnya : F’ = F ∪ {q | (ε-closure(q) ∩ F ≠ ∅}
Contohnya : qo q1 q2 q3 Tabel Transisi δ a b qo Ø q1 q2 q3 ε q1 a q2 Tabel Transisi b δ a b qo Ø q1 q2 q3 q3 ε-closure setiap state ε-closure (qo) = {qo ,q1} ε-closure (q1) = {q1} ε-closure (q2) = {q2} ε-closure (q3) = {q3}
Tabel Transisi yang baru (δ’) q0 ε-cl(δ(ε-cl(q0),a)) ε-cl(δ({q0,q1},a)) ε-cl(q2) {q2} ε-cl(δ(ε-cl(q0),b)) ε-cl(δ({q0,q1},b)) ε-cl(q3) {q3} q1 ε-cl(δ(ε-cl(q1),a)) ε-cl(δ({q1},a)) ε-cl(δ(ε-cl(q1),b)) ε-cl(δ({q1},b)) q2 ε-cl(δ(ε-cl(q2),a)) ε-cl(δ({q2},a)) ε-cl(∅) ∅ ε-cl(δ(ε-cl(q2),b)) ε-cl(δ({q2},b)) q3 ε-cl(δ(ε-cl(q3),a)) ε-cl(δ({q3},a)) ε-cl(δ(ε-cl(q3),b)) ε-cl(δ({q3},b))
NFA tanpa Ԑ-move yang ekuivalen dengan NFA Ԑ-move gambar (2) a q2 a qo q1 b b q3
NEXT >> UTS : Bahan pertemuan 1-3 Sifat Open Note : buat note di 1 lembar A4 (tulis tangan/printed)