Anda di halaman 1dari 14

Non-Deterministic Finite State

Automata dengan ε-move


Pertemuan ke-6
NFA dengan ε-Move

• Pada NFA dengan ε-Move (transisi ε), diperbolehkan


mengubah state tanpa membaca input.
• Disebut ε-Move karena tidak tergantung pada suatu
input ketika melakukan transisi. ε –closure(q0)=(q0,q1,q2),
artinya dari state q0 tanpa
harus membaca input dapat
mencapai state q0,q1 dan q2

ε –closure(q1) = {q1,q2}
ε –closure(q2) = {q2}
ε –closure(q3) = {q3}
ε –closure(q4) = {q1,q2,q4}
Ε-Closure untuk suatu NFA dengan
ε-Move
• ε-closure adalah himpunan state-state yang dapat
dicapai dari suatu state tanpa membaca input.
• Misalnya : ε-closure(q0)= himpunan2 state yang dapat
dicapai tanpa membaa input.
Ekuivalensi NFA dengan ε-move ke
NFA tanpa ε-move
• NFA dengan ε-move dapat diperoleh dari NFA tanpa
ε-move yang ekuivalen.
• NFA dengan ε-move. Dan NFA tanpa ε-move

1 2
Perubahan NFA ε-move ke NFA
tanpa ε-move
1. Buat table transisi NFA ε-move semula
2. Tentukan e-closure untuk setiap state
3. Carilah setiap fungsi transisi perubahan dari NFA ε-move ke
NFA tanpa ε-move. Yang disebut juga dengan δ’ dimana δ’
diperoleh dari rumus :
• δ (state, input)= ε-closure(δ(ε-closure(state),input)
4. Dari langskah 3 buat table transisidan diagram transisi dari NFA
tanpa ε-moveyang ekuivalen deengan NFA ε-move
5. Tentukan state-state yang mengandung akhir untuk NFA tanpa ε-
move,yaitu state2 akhir semula ditambah dengan state-state yang
ε-closurenya menuju ke salah satu dari state akhir semula. Dalam
Bahasa formalnya ditulis : F’=F ᴗ {q| (ε-closure(q) ᴖ F) ≠ ᴓ
Misalnya : F={q0,q3), ε-closure(q1)={q0,q2}, maka F’ = {q0,q1,q3}
Contoh dari gambar 1
δ a b
• Tabel transisi :
Q0 ᴓ ᴓ
q1 q2 q3
q2 ᴓ ᴓ
q3 ᴓ ᴓ
• Mencari ε-closure untuk setiap state:
• Ε-cl(q0) ={q0,q1}
• ε-cl(q1)= {q1}
• ε-cl(q1)= {q1}
• ε-cl(q1)= {q2}
• Mencari δ’ dengan memanfaatkan table transisi dari
ε-closure yang diperoleh sebelumnya.
• δ’(q0,a) = ε-cl(δ(ε-closure(qo),a)
= ε-closure(δ({q0,q1},a)
= ε-closure((q2)
={q2}
• δ’(q0,b) = ε-cl(δ(ε-closure(q0),b)
= ε-closure(δ({q0,q1},b)
= ε-closure((q3)
={q3}
• δ’(q1,a) = ε-cl(δ(ε-closure(q1),a)
= ε-closure(δ({q1},a)
= ε-closure((q2)
={q2}
• δ’(q1,b) = ε-cl(δ(ε-closure(q1),b)
= ε-closure(δ({q1},b)
= ε-closure((q3)
={q3}

• δ’(q2,a) = ε-cl(δ(ε-closure(q2),a)
= ε-closure(δ({q2},a)
= ε-closure((ᴓ)
={ᴓ}

• δ’(q2,b) = ε-cl(δ(ε-closure(q2),b)
= ε-closure(δ({q2},b)
= ε-closure((ᴓ)
={ᴓ}
• δ’(q3,a) = ε-cl(δ(ε-closure(q3),a)
= ε-closure(δ({q3},b)
= ε-closure((ᴓ)
={ᴓ}

• δ’(q3,b) = ε-cl(δ(ε-closure(q3),b)
= ε-closure(δ({q3},b)
= ε-closure((ᴓ)
={ᴓ}

• Membuat table transisi NFA tanpa E-move


δ’ a b
q0
q1
q2
q3
• Menentukan stae akhir yang baru untuk NFA tanpa
e-move.
• Himpunan akhir semula adalah {q3}. Karena tidak ada state lain
yang e-cloure-nya mengandung {q3}, maka himpunan state akhir
sekarang tetap q3 saja.
• Lalu buat NFA tanpa e-move.
Penggabungan dan concatnation

• Pada mesin FA dapat dilakukan penggabungan antara


2 FA yang berbeda, hal tersebut disebut union serta
konkatenation.
• Misalnya kita memiliki 2 mesin NFA yaitu M1 dan
M2 berikut

M1 M2
Cara :
• Tambahkan state awal untuk M3, hubungkan dengan
state awal M1 dan state awal M2 menggunakan
transisi ε.
• Tambahkan state akhir untuk m3, hubungkan dengan
ste –ste akhir m1 dan stae2 akhir m2 menggunakan
transisi ε
• Ditentukan L(M4)=L(M1) L(M2). Kita dapat
membuat L(m4) yang dapat menerima Bahasa yang
sama, dengna cara:
• State awal M1 menjadi stae awal M4
• State-stae akhir m2menjadi state akhir m4
• Hubungkan state-state akhir M1 dengan state M2
menggunakan transsi ε.
Latihan :

• Ada pada lampiran tugas di smart

Anda mungkin juga menyukai