Session 5 Finite Automata Theory of Languages and Automata (KOM208) Credits: 3(3-0)
TIK dan Waktu Penyajian Tinjauan Instruksional Khusus: Mahasiswa akan dapat menjelaskan cara kerja Deterministic Finite Automata (DFA), Non-Deterministic Finite Automata (NDFA), Non deterministic Finite Automata (NFA) dengan transisi ε. Waktu penyajian: 3 x 150 menit
Subtopik DFA: Definisi DFA, Bagimana DFA memproses string, Notasi-notasi untuk DFA, Fungsi transisi yang diperluas, Bahasa dari DFA NFA: Definisi NFA, Bagimana NFA memproses string, Fungsi transisi yang diperluas, Bahasa dari NFA, Ekuivalensi DFA dan NFA ε-NFA: Penggunaan transisi-ε, Notasi formal untuk ε-NFA, Epsilon-Closure, Fungsi transisi yang diperluas dan bahasa untuk ε-NFA, Mengeliminasi Transisi -
Finite Automata dengan Transisi- FA dengan transisi- adalah FA yang memungkinkan sebuah transisi pada (string kosong). Dengan kata lain, sebuah NFA dimungkinkan membuat transisi tanpa menerima sebuah simbol input. NFA dengan transisi- dinotasikan -NFA
Contoh 9 Sebuah -NFA menerima bilangan desimal yang terdiri dari: Tanda atau (optional) Sebuah string dari digit-digit Sebuah titik desimal Sebuah string yang lain dari digit-digit. String dari digit-digit ini atau string (2) dapat kosong, tetapi sedikitnya satu dari 2 string dari digit harus tak kosong.
Contoh 9 (lanjutan) Diagram transisi -NFA yang dimaksud:
Notasi Formal untuk sebuah -NFA Secara formal, kita menyatakan -NFA A dengan A = (Q, , , q0, F) dimana semua elemen merepresentasikan hal yang sama dengan NFA, kecuali adalah fungsi transisi dengan argumen sebagai berikut: Sebuah state dalam Q, dan Sebuah elemen dari {}, yaitu simbol input atau . Simbol untuk string kosong, , tak dapat manjadi anggota dari , sehingga tidak ada hasil-hasil yang membingungkan.
Contoh 10 -NFA dalam Contoh 9 direpresentasikan secara formal sebagai berikut : E = ({q0, q1, q2, q3, q4, q5}, {., +, , 0, 1, ...,9}, , q0 , {q5}) dimana didefinisikan dalam tabel transisi berikut: +, . 0,1,2,...,9 q0 {q1} q1 {q2} {q1, q4} q2 {q3} q3 {q5} q4 q5
Epsilon-Closure (ECLOSE) (1) ECLOSE digunakan dalam menentukan fungsi transisi yang diperluas untuk -NFA. ECLOSE dari state q ditentukan dengan mengikuti semua transisi yang keluar dari q yang diberi label . Ketika mendapat state lain, dengan mengikuti kita mengikuti transisi keluar dari state-state tersebut, dan seterusnya, akhirnya menemukan setiap state yang dapat dicapai dari q sepanjang path yang memiliki arc-arc yang semuanya diberi label .
Epsilon-Closure (ECLOSE) (2) Definisi formal -closure ECLOSE(q) Basis: state q adalah dalam ECLOSE(q) Induksi: Jika state p adalah dalam ECLOSE(q), dan terdapat sebuah transisi dari state p ke state r yang diberi label , maka r adalah dalam ECLOSE(q). Dapat dinyatakan bahwa jika adalah fungsi transisi dari -NFA, dan p adalah dalam ECLOSE(q), maka ECLOSE(q) juga mengandung semua state dalam (p, ).
Contoh 11 Untuk -NFA pada Contoh 9, setiap state adalah -closure-nya sendiri, kecuali ECLOSE(q0) = {q0, q1} ECLOSE(q3) = {q3, q5} Perhatikan bahwa hanya dua transisi , salah satu yang menambahkan q1 ke ECLOSE(q0) dan yang lain menambahkan q5 ke ECLOSE(q3).
Contoh lain Untuk -NFA sebagai berikut ECLOSE(1) = {1,2,3,4,6}
Fungsi Transisi yang Diperluas dan Bahasa untuk -NFA Anggaplah E = (Q, , , q0, F) adalah -NFA. Definisi untuk fungsi transisi yang diperluas ( ) pada -NFA adalah Basis: bahwa, jika label dari path adalah , maka kita hanya dapat mengikuti arc perluasan yang diberi label dari state q. Induksi: Anggap bahwa w adalah bentuk xa dimana a adalah simbol terakhir dari w. Perhatikan bahwa a adalah anggota dari ; a bukanlah yang tidak dalam .
Menghitung Misal {p1, p2, ..., pk} adalah . Bahwa pi untuk semua i adalah state-state dan hanya state-state yang dapat dicapai dari q mengikuti path yang diberi label x. Path ini dapat berakhir dengan 1 atau lebih transisi yang diberi label dan juga dapat memiliki transisi-transisi yang lain.
Menghitung Misalkan adalah himpunan {r1, r2, ..., rm}. Artinya bahwa ikuti semua transisi yang diberi label a dari state-state yang dapat dicapai dari q sepanjang path yang diberi label x. rj adalah state-state yang dapat dicapai dari q sepanjang path yang diberi label w. State-state tambahan yang dapat dicapai ditemukan dari rj dengan mengikuti arc-arc yang diberi label pada langkah (3) berikut.
Menghitung Langkah closure tambahan ini meliputi semua path dari q yang diberi label w, dengan mempertimbangkan kemungkinan bahwa terdapat arc-arc tambahan berlabel yang dapat kita ikuti setelah membuat sebuah transisi pada simbol final a.
Contoh 12 Karena Maka 5.6 diterima oleh -NFA pada Contoh 9.
Bahasa dari sebuah -NFA Bahasa dari sebuah -NFA E = (Q, , , q0, F), adalah
Mengeliminasi Transisi - (1) Misalkan E = (QE, , E, q0, FE). Maka DFA yang ekuivalen D = (QD, , D, q0, FD) didefinisikan sebagai berikut: QD adalah himpunan dari subset-subset dari QE. Akan ditentukan bahwa semua state yang dapat diakses dari D adalah subset-subset -closed dari QE, dengan kata lain, himpunan-himpunan S QE sedemikian sehingga S = ECLOSE(S). Himpunan-himpunan -closed dari state-state S adalah himpunan-himpunan sedemikian sehingga suatu transisi- yang keluar dari satu state dalam S menuju ke sebuah state yang juga dalam S. adalah himpunan -closed.
Mengeliminasi Transisi - (2) qD = ECLOSE(q0), yaitu kita mendapatkan start state dari D dengan menutup himpunan yang mengandung hanya start state dari E. Hal ini berbeda dengan konstruksi start state dalam NFA. FD adalah himpunan-himpunan dari state yang mengandung sedikitnya satu accepting state dari E. Dengan kata lain, FD = {S| S adalah dalam QD dan SFE }.
Mengeliminasi Transisi - (3) D(S, a) dihitung sebagai berikut, untuk semua a dan himpunan-himpunan S QD Misal S = {p1, p2, ..., pk} Hitung Misalkan himpunan tersebut adalah {r1, r2, ..., rm}. Maka
Contoh 13 Diperoleh DFA yang mengeliminasi transisi dari NFA pada Contoh 9:
Daftar Pustaka John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 2001. Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley.