Anda di halaman 1dari 5

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA

Non-deterministic Finite Automata Dengan -Move

IF

IV.1 Non-deterministic Finite Automata (NFA) Dengan -Move


Di sini kita mempunyai jenis otomata baru yang disebut Non-deterministic Finite Automata dengan -move (-move disini bisa dianggap sebagai empty). Pada NFA dengan -move (transisi ), diperbolehkan merubah state tanpa membaca input. Disebut dengan transisi karena tdak bergantung pada suatu input ketika melakukan transisi. Contoh:

q0
a b

q1

q2

q3
b

q4

Dari q0 tanpa membaca input dapat berpindah ke q1 Dari q1 tanpa membaca input dapat berpindah ke q2 Dari q4 tanpa membaca input dapat berpindah ke q1 Salah satu kegunaan dari transisi ini adalah memudahkan kita untuk mengkombinasikan Finite State Automata.

IV.2 -Closure untuk Suatu deterministic Finite Automata dengan -Move

Non(NFA)

-Closure adalah himpunan state-state yang dapat dicapai dari suatu state tanpa membaca input. Misalkan saja -closure(q0) = himpunan state-state yang dapat dicapai dari state q0 tanpa membaca input.Maka dengan melihat contoh diatas -closure(q0) = { q0, q1, q2}, artinya dari state q0 tanpa membaca input dapat mencapai state q0, q1, q2. -closure(q0) = { q0, q1, q2}, -closure(q1) = { q1, q2}, -closure(q2) = { q2}, -closure(q3) = { q3}, -closure(q4) = { q1, q2, q4} *Perhatikan: Pada suatu state yang tidak memiliki transisi , maka -closure-nya adalah state itu sendiri.

IV.3 Ekivalensi NFA dengan -Move ke NFA tanpa -Move


Dari sebuah NFA dengan -move dapat kita peroleh NFA tanpa -move yang ekivalen. Contoh: a

q0

q1

q2

q3

Tabel transisi dari NFA -move diatas adalah: q0 q1 q2 q3 a q2 b q3

State akhir (F) adalah state q3 -closure untuk setiap state nya: -closure(q0) = { q0, q1}, -closure(q1) = { q1}, -closure(q2) = { q2}, -closure(q3) = { q3} kemudian kita cari dengan memanfaatkan tabel transisi dan -closure yang kita peroleh sebelumnya,sebagai berikut: (q0,a) = -closure ((-closure (q0),a)) = -closure ( ({ q0, q1},a)) = -closure (q2) = {q2} (q0,b) = -closure ((-closure (q0),b)) = -closure (({ q0, q1},b)) = -closure (q3) = {q3}

(q1,a) = -closure ((-closure (q1),a)) = -closure (({ q1},a)) = -closure (q2) = {q2} (q1,b) = -closure ((-closure (q1),b)) = -closure (({q1},b)) = -closure (q3) = {q3} (q2,a) = -closure ((-closure (q2),a)) = -closure (({q2},a)) = -closure () = (q2,b) = -closure ((-closure (q2),b)) = -closure (({q2},b)) = -closure () = (q3,a) = -closure ((-closure (q3),a)) = -closure (({ q3},a)) = -closure () = (q3,b) = -closure ((-closure (q3),b)) = -closure (({ q3},b))

= -closure () = Bisa kita lihat tabel transisi untuk NFA tanpa -move dari hasil di atas: q0 q1 q2 q3 a q2 q2 b q3 q3

Terakhir kita tentukan state akhir untuk NFA tanpa -move ini. Himpunan state akhir semula adalah {q3}.Karena tidak ada state lain yang -closurenya memuat q3, maka himpunan state akhir sekarang tetap {q3}.