210 likes | 1.13k Views
Ekuivalensi NDFA ke DFA dan NDFA dengan E-move. TEORI BAHASA DAN AUTOMATA. Ekuivalensi NFA-DFA. Ada apa dengan NFA ? konsep yang sulit diimplemen-tasikan . Komputer sepenuhnya deterministic. Kenapa dipelajari ? Lebih dekat ke sistem nyata ?
E N D
Ekuivalensi NDFA ke DFA dan NDFA dengan E-move TEORI BAHASA DAN AUTOMATA
Ekuivalensi NFA-DFA Adaapadengan NFA ? konsep yang sulitdiimplemen-tasikan. Komputersepenuhnyadeterministic. Kenapadipelajari ? Lebihdekatkesistemnyata? Contoh: permainancatur, banyakalternatifpadasuatuposisitertentu = nondeterministic Non deterministikdapatmenyelesaikan problem tanpa backtrack, namundapatdiekuivalensikanke DFA.
Algoritma Buatsemua state yang merupakan subset dari state semula. jumlah state menjadi2Q. Telusuritransisi state–state yang baruterbentuk, dari diagram transisi. Tentukanstate awal : {q0} Tentukanstate akhiradalah state yang elemennyamengandung state akhir. Reduksistate yang taktercapaioleh state awal.
CONTOH M={{q0,q1}, {0,1}, δ, q0,{q1}} dengantabeltransisi: ContohUbahlah NFA berikutmenjadiDFA
State yang akandibentuk : {}, {q0} {q1},{q0,q1} Telusuri state : State awal : {q0} State akhir yang mengandung q1, yaitu {q1},{q0,q1}
NFA DENGAN E-MOVE Def 1. ε-move adalahsuatutransisiantara 2 status tanpaadanya input. Contohgambar: transisiantara status q1 ke q3
CONT’ Def 2. ε-closure adalahhimpunan state yang dapatdicapaidarisuatu state tanpaadanya input. Contohgambar : ε-closure(q0) = [q0,q1,q3] ε-closure(q1) = [q1,q3] ε-closure(q3) = [q3]
Ekuivalensi NFA denganε-move ke NFA tanpaε-move • Buattabeltransisi NFA denganε-move • Tentukanε-closure setiapstate • Carilahfungsitransisi /tabeltransisi yang baru, rumus: δ’(state,input)=ε-closure(δ(εclosure(state,input)) • Tentukanstate akhirditambahdengan state yang ε-closure nyamenuju state akhir, rumusnya: F’ = F ∪ {q | (ε-closure(q) ∩ F ≠ ∅}
CONTOH ε-closure dari FSA tersebut ε-closure(q0) = [q0,q1] ε-closure(q1) = [q1] ε-closure(q2) = [q2] ε-closure(q3) = [q3] Contoh
CONT’ Hasilnyamenjadi
Penggabungan FSA Biladiketahui L1 adalahbahasa yang diterimaoleh M1 dan L2 adalahbahasayang diterimaoleh M2 maka: 1. FSA M3 yang dapatmenerima L1+L2 dibuatdengancara: ♦ Tambahkan state awaluntuk M3, hubungkandengan state awal M1 danstate awal M2 menggunakan transisi ε ♦ Tambahkan state akhiruntuk M3, hubungkandengan state-state akhirM1 danstate-state akhir M2 menggunakantransisi ε
2. FSA M4 yang dapatmenerima L1L2 dibuatdengancara: ♦ State awal M1 menjadi state awal M4 ♦ State-state akhir M2 menjadi state-state akhir M4 ♦Hubungkanstate-state akhir M1 dengan state awal M2 menggunakantransisiε.