Dua buah FSA dikatakan Ekivalen walaupun jumlah state
• Dua buah FSA dikatakan Ekivalen walaupun jumlah state nya berbeda • Jumlah state mempunyai pengaruh besar dalam suatu proses • Oleh karenanya perlu direduksi jika memungkinkan
• Ada dua Istilah dalam proses mereduksi State 1. Berbeda (distinguishable) 2. Tidak Berbeda (indistinguishable)
1. Berbeda (distinguishable) jika A dan B sebuah state, dan F himpunan state akhir dan w sebuah input , maka : (A, w) F dan (B, w) F
2. Tidak Berbeda (indistinguishable) jika A dan B sebuah state, dan F himpunan state akhir dan w sebuah input , maka : (A, w) F dan (B, w) F
Langkah Mereduksi State : 1. Hapus State yg tidak dapat dicapai dari state awal 2. Buat semua fungsi transisinya dan semua kemungkinan pasang state 3. Tentukan pasang state yang berbeda
4. Diperoleh sisa pasang state yang tidak berbeda yg bisa digabung 5. Buat graph transisi dengan state yang sudah digabung 6. Catatan : state akhir hanya bisa digabung dengan state akhir juga 7. Catatan : State awal sebaiknya tidak digabung
Contoh 1 : Diketahui DFA berikut : B 0 A 0 1 0 C 0 D 1 1 E 0
DFA hasil Reduksi : A 0 0 1 BCD 1 1 B 0
Soal 1 : A B C D E F S=A F = {D, E} Reduksi DFA tersebut 0 B C C D E F 1 C D E E
Soal 2 : A B C D E F G S=A F = {B, C, D, G} Reduksi DFA tersebut 0 B D E D F F E 1 C G E E E
Soal 3 : A B C D E F G S=A F = {F} Reduksi DFA tersebut 0 B C B E D F F 1 D D E F F F C
Soal 4 : S=A F = {G, H} Reduksi DFA tersebut A B C D E F G H 0 B D F E D C H G 1 B C G H H G G H
• Simbol diartikan empty artinya tidak ada inputan atau tanpa membaca inputan tetapi state tersebut dapat berpindah ke state lain
• Diket NFA A 0 D B 1 1 E C
• State A tanpa membaca input ke state B • State B tanpa membaca input ke state C • State E tanpa membaca input ke state B
• Bentuk Tabel Transisinya A B C D E {B} {C} {} {} {B} 0 {D} {} {} 1 {E} {} {} {E} {}
• Ada istilah : -Closure(Q)={Q} • Himpunan state yang dapat dicapai dari suatu state tanpa membaca input • -Closure(A) = {A, B, C} • -Closure(D) = {D}
• Tentukan -Closure setiap state A 0 D B 1 1 E C
• • • -Closure(A) = {A, B, C} -Closure(B) = {B, C} -Closure(C) = {C} -Closure(D) = {D} -Closure(E) = {E, B, C} State yang tidak memiliki maka Closure nya dirinya sendiri
• Tentukan -Closure setiap state A B E 0 1 D C
• • • -Closure(A) = {A, B, E} -Closure(B) = {B, E} -Closure(C) = {C, D} -Closure(D) = {D} -Closure(E) = {E}
• Komputer tidak dapat memproses sebuah sistem yang mengikuti sistem NFA, apalagi NFA dengan move • Karena itu harus dibuat NFA tanpa move yang ekivalen dengan NFA dengan -move • Untuk itu harus di ubah
• Langkah 1. Buat Tabel Transisi NFA dengan move 2. Tentukan -Closure setiap state 3. Tentukan fungsi Transisi baru : ’(Q, )= -Cl( ( -Cl(Q), ))
4. Buat Tabel Transisi NFA tanpa Move berdasarkan (3) 5. State akhir diambil dari state akhir semula di tambah state yang Closure nya menuju ke state akhir F=F {Q/ -Cl(Q) F } 6. Gambar graph transisi tanpa -move
• Contoh 1 A 0 B 1 D C
1. Buat Tabel Transisi NFA dengan move A B C D {B} {} {} {} 0 {} {C} {} {} 1 {} {D} {} {}
2. Tentukan -Closure setiap state -Closure (A) = {A, B} -Closure (B) = {B} -Closure (C) = {C} -Closure (D) = {D}
3. Tentukan fungsi Transisi baru : ’(Q, )= -Cl( ( -Cl(Q), )) ’(A, 0) = -Cl( ( -Cl(A), 0)) = -Cl( ({A, B}, 0)) = -Cl(C) ={C}
4. Buat Tabel Transisi NFA tanpa Move berdasarkan (3) A B C D 0 {C} {} {} 1 {D} {} {}
5. State akhir baru F=F {Q/ -Cl(Q) F } A : -Cl(A) {D} = {A, B} {D}= , A F B : -Cl(B) {D} = {B} {D}= , B F C : -Cl(C) {D} = {C} {D}= , C F D: -Cl(D) {D} = {D} , D F Jadi F={D}
• hasil A 0 0 B 1 1 D C
• Soal 1 B A 0 1 C 1
• Soal 2 B A 0 1
• Soal 3 B A 0 1 C 1
• Soal 4 B A 0 1 C 1
- Slides: 42