Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Session 5 Finite Automata

Presentasi serupa


Presentasi berjudul: "Session 5 Finite Automata"— Transcript presentasi:

1 Session 5 Finite Automata
Theory of Languages and Automata (KOM208) Credits: 3(3-0)

2 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

3 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 -

4 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

5 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.

6 Contoh 9 (lanjutan) Diagram transisi -NFA yang dimaksud:

7 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.

8 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

9 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 .

10 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, ).

11 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).

12 Contoh lain Untuk -NFA sebagai berikut ECLOSE(1) = {1,2,3,4,6}

13 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 .

14 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.

15 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.

16 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.

17 Contoh 12 Karena Maka 5.6 diterima oleh -NFA pada Contoh 9.

18 Bahasa dari sebuah -NFA
Bahasa dari sebuah -NFA E = (Q, , , q0, F), adalah

19 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.

20 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 SFE  }.

21 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

22 Contoh 13 Diperoleh DFA yang mengeliminasi transisi  dari NFA pada Contoh 9:

23 Daftar Pustaka John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley.


Download ppt "Session 5 Finite Automata"

Presentasi serupa


Iklan oleh Google