OTOMATA DAN TEORI BAHASA 3 Oleh Bowo nurhadiyono
Materi : Reduksi State NFA dngn Move
REDUKSI 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
REDUKSI STATE Ada dua Istilah dalam proses mereduksi State 1. Berbeda (distinguishable) 2. Tidak Berbeda (indistinguishable)
REDUKSI STATE 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 (A,w)F dan (B,w)F
REDUKSI STATE 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 (A,w)F dan (B,w)F
REDUKSI STATE Langkah Mereduksi State : Hapus State yg tidak dapat dicapai dari state awal Buat semua fungsi transisinya dan semua kemungkinan pasang state Tentukan pasang state yang berbeda
REDUKSI STATE 4. Diperoleh sisa pasang state yang tidak berbeda yg bisa digabung 5. Buat graph transisi dengan state yang sudah digabung Catatan : state akhir hanya bisa digabung dengan state akhir juga Catatan : State awal sebaiknya tidak digabung
REDUKSI STATE Contoh 1 : Diketahui DFA berikut : B 1 1 C 1 A E 1 1 D
REDUKSI STATE DFA hasil Reduksi : A 1 BCD 1 1 B
REDUKSI STATE Soal 1 : S = A F = {D, E} Reduksi DFA tersebut 1 A B C D 1 A B C D E F
REDUKSI STATE Soal 2 : S = A F = {B,C,D,G} Reduksi DFA tersebut 1 A B 1 A B C D G E F
REDUKSI STATE Soal 3 : S = A F = {F} Reduksi DFA tersebut 1 A B D C E 1 A B D C E F G
REDUKSI STATE Soal 4 : S = A F = {G, H} Reduksi DFA tersebut 1 A B D C 1 A B D C F G E H
Nfa dengan move Simbol diartikan empty artinya tidak ada inputan atau tanpa membaca inputan tetapi state tersebut dapat berpindah ke state lain
Nfa dengan move Diket NFA A B C 1 1 D E
Nfa dengan move State A tanpa membaca input ke state B State B tanpa membaca input ke state C State E tanpa membaca input ke state B
Nfa dengan move Bentuk Tabel Transisinya 1 A {B} {D} {E} B {C} { } 1 A {B} {D} {E} B {C} { } C D E
Nfa dengan move -Closure(Q)={Q} Ada istilah : Himpunan state yang dapat dicapai dari suatu state tanpa membaca input -Closure(A) = {A, B, C} -Closure(D) = {D}
Nfa dengan move Tentukan -Closure setiap state A B C 1 1 D E
Nfa dengan move -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
Nfa dengan move Tentukan -Closure setiap state A B C 1 E D
Nfa dengan move -Closure(A) = {A, B, E} -Closure(B) = {B, E} -Closure(C) = {C, D} -Closure(D) = {D} -Closure(E) = {E}
Ekivalensi Nfa dg move 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
Ekivalensi Nfa dg move Langkah 1. Buat Tabel Transisi NFA dengan move 2. Tentukan -Closure setiap state 3. Tentukan fungsi Transisi baru : ’(Q,)=-Cl((-Cl(Q),))
Ekivalensi Nfa dg move 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
Ekivalensi Nfa dg move Contoh 1 A B C 1 D
Ekivalensi Nfa dg move 1. Buat Tabel Transisi NFA dengan move 1 A {B} { } B {C} {D} C D
Ekivalensi Nfa dg move 2. Tentukan -Closure setiap state -Closure (A) = {A, B} -Closure (B) = {B} -Closure (C) = {C} -Closure (D) = {D}
Ekivalensi Nfa dg move 3. Tentukan fungsi Transisi baru : ’(Q,)=-Cl((-Cl(Q),)) ’(A,0) =-Cl((-Cl(A),0)) =-Cl(({A,B},0)) =-Cl(C) ={C}
Ekivalensi Nfa dg move ’(A,1) =-Cl((-Cl(A),1)) =-Cl(({A,B},1)) =-Cl(D) ={D} ’(B,0) =-Cl((-Cl(B),0)) =-Cl(({B},0)) =-Cl(C) ={C}
Ekivalensi Nfa dg move ’(B,1) =-Cl((-Cl(B),1)) =-Cl(({B},1)) =-Cl(D) ={D} ’(C,0) =-Cl((-Cl(C),0)) =-Cl(({C},0)) =-Cl({ }) ={ }
Ekivalensi Nfa dg move ’(C,1) =-Cl((-Cl(C),1)) =-Cl(({C},1)) =-Cl({ }) ={ } ’(D,0) =-Cl((-Cl(D),0)) =-Cl(({D},0))
Ekivalensi Nfa dg move ’(D,1) =-Cl((-Cl(D),1)) =-Cl(({D},1)) =-Cl({ }) ={ } Didapat fungsi transisi baru yaitu : ’(A,0)= {C}, ’(B,0)= {C}, ’(C,0)={ } ’(A,1)= {D}, ’(B,1)= {D}, ’(C,1)={ } ’(D,0)= { }, ’(D,1)= { }
Ekivalensi Nfa dg move 4. Buat Tabel Transisi NFA tanpa Move berdasarkan (3) 1 A {C} {D} B C { } D
Ekivalensi Nfa dg move 5. State akhir baru F=F{Q/-Cl(Q)F} A : -Cl(A){D} = {A, B}{D}= , AF B : -Cl(B){D} = {B}{D}= , BF C : -Cl(C){D} = {C}{D}= , CF D: -Cl(D){D} = {D}{D} , DF Jadi F={D}
Ekivalensi Nfa dg move hasil A B C 1 1 D
Ekivalensi Nfa dg move Soal 1 B 1 A C 1
Ekivalensi Nfa dg move Soal 2 B 1 A
Ekivalensi Nfa dg move Soal 3 B 1 C A 1
Ekivalensi Nfa dg move Soal 4 B 1 C A 1
Trims