Teori Bahasa Formal dan Automata Pertemuan 3 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA
MENDESAIN DFA Jika di definisikan = {0, 1}, bangunlah sebuah DFA yang dapat menerima bahasa yang merepresentasikan bilangan biner untuk suatu bilangan desimal kelipatan 3. Contoh: 10101 L 100101 L 100111 L
REVIEW DFA memiliki δ(q, a) yang unik, dimana setiap q memiliki satu (dan hanya satu) transisi keluar untuk setiap simbol a. Sifat deterministik mengartikan: Untuk setiap string input tertentu w, eksekusi dan hasilnya dapat dengan jelas diprediksi dan dapat diulangi. Sehingga hasil dari eksekusi yang sama, walaupun dilakukan secara berulang maka akan tetap menghasilkan yang sama.
POKOK BAHASAN Non - Deterministic Finite Automata (NFA) NFA secara formal Pohon Trace Eksekusi Extended Transition Function Penerapan NFA Ekivalensi DFA dan NFA
Non-Deterministic Finite Automata (NFA) δ(q, a) adalah himpunan state-state: Bisa jadi himpunan kosong, atau Lebih dari satu state Maka, q bisa memiliki beberapa atau tidak sama sekali, transisi keluar untuk a. NFA dapat menebak langkah yang tepat, dikarenakan terdapat beberapa pilihan (Ciri dari Non-Deterministic)
CONTOH NFA Ide : L = {w {0, 1}* w berakhir dengan 01} Di suatu state NFA menebak bahwa akhir dari input sudah akan dimulai. Pada permasalahan ini NFA akan menunggu 01, dengan menggunakan non-deterministic.
POHON EKSEKUSI Trace eksekusi dari non-deterministic adalah tidak unik. Trace eksekusi dapat membentuk pohon trace eksekusi yang mungkin dapat diproses. Berikut contoh ketika NFA memproses input 00101 (dengan desain mesin NFA pada slide sebelumnya)
ACCEPTING CONDITION Menerima : Jika terdapat paling sedikit satu path yang berakhir di Final State pada pohon trace eksekusi. Menolak : jika semua path yang mungkin terhenti (Stuck/Halt) atau berakhir di state yang bukan Final State. Interpretasi: NFA selalu mengambil pilihan yang benar untuk memastikan penerimaan (asumsi: path yang berakhir pada Final State memang ada). NFA membuat copy dirinya sendiri untuk menelusuri semua path yang mungkin. NFA menjelajahi semua path secara pararel
ACCEPTING CONDITION Meskipun NFA bebas menebak, NFA tetap harus memastikan bahwa salah satu dari tebakannya adalah benar. Hal tersebut dilakukan dengan cara menebak semua tebakan yang mungkin dan mengarah pada Final State.
NFA SECARA FORMAL Memiliki definisi formal yang hampir mirip dengan DFA: A = (Q,, δ, q 0, F) Q merupakan sekumpulan state yang terhingga merupakan sejumlah terhingga dari alfabet/simbol/input δ merupakan fungsi transisi dari Q x pada powerset dari Q q 0 Q merupakan start state F Q merupakan final state
NFA SECARA FORMAL Contoh NFA secara formal dari desain mesin pada slide sebelumnya ({q 0, q 1, q 2 }, {0, 1}, δ, q 0, {q 2 }) Dimana fungsi transisinya dapat digambarkan sebagai berikut
LATIHAN 1 Bangunlah desain diagram transisi jika diberikan NFA secara formal dan tabel transisi sebagai berikut! ({p, q, r, s}, {0, 1}, δ, p, {s}) Lakukanlah trace eksekusi untuk string 01001!
Extended Transition Function δ q, w : himpunan state-state yang dapat dicapai dari q pada string input w. Definisi induktif : Basis : δ q, ε = q, Induksi : δ q, xa = δ p i, a p i δ q,x Contoh: dengan menggunakan desain mesin pada slide sebelumnya, buktikan apakah string 00101 dapat diterima.
Extended Transition Function Contoh: dengan menggunakan desain mesin pada slide sebelumnya, buktikan apakah string 00101 dapat diterima. 1. δ q 0, ε = *q 0 + 2. δ q 0, 0 = δ p i, 0 p i δ q 0,ε 3. δ q 0, 00 = δ p i, 0 p i δ q 0,0 = δ q 0, 0 = *q 0, q 1 + = δ q 0, 0 δ q 1, 0 = q 0, q 1 = q 0, q 1 4. Lanjutkan
LATIHAN 2 Definisikanlah bahasa yang diterima oleh mesin NFA berikut! Buktikan apakah string 231123 diterima oleh mesin tersebut!
EKIVALENSI DFA DAN NFA Untuk setiap NFA terdapat DFA yang dapat menerima bahasa yang sama. Power(DFA) Power(NFA) Kepentingan terhadap ekivalensi: DFA dapat diimplementasikan dengan mudah menggunakan komputer NFA lebih mudah dibangun, dimengerti dan dibuat spesifikasinya
SECARA FORMAL Diberikan : N = (Q N,, δ N, q 0, F N ), Bangun : A = (Q A,, δ A, {q 0 }, F A ), Sedemikian sehingga : Q A = 2 Q N F A = *S Q N S F N + Dan untuk setiap state baru S : δ A S, a = δ N (p i, a) p i S
Simulasi Ekivalensi DFA & NFA Semua state yang tidak bisa dicapai dari Start State dapat dihilangkan karena tidak esensial untuk perilaku DFA yang diperoleh.
LATIHAN 3 Lakukanlah konversi dari desain NFA pada Latihan 1 ke bentuk desain mesin DFA!
PUSTAKA John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction To Automata Theory, Languages, and Computation Dr.-Ing. Reza Pulungan, M.Sc. Bahan Ajar Teori Komputasi. JIKE UGM.
Terima Kasih!