Anda di halaman 1dari 17

Teori Bahasa Formal dan Automata

Pertemuan 4

Semester Genap T.A. 2017/2018


Rahman Indra Kesuma, S.Kom., M.Cs.
T. Informatika - ITERA
REVIEW

✘ Apa perbedaan antara DFA dan NFA


✘ Lakukanlah konversi NFA berikut ke bentuk mesin DFA!

1,0

Start 1 0
q0 q1 q2

1
POKOK BAHASAN

✘ ϵ - Non Deterministic FA (ϵ - NFA)


✘ Kegunaaan ϵ - NFA
✘ ϵ - NFA secara Formal
✘ Extended Transition Function
✘ Eliminasi ϵ (Ekivalensi ϵ-NFA dengan DFA)
ϵ - NON DETERMINISTIC FA (ϵ - NFA)

✘ Menambahkan fitur Non-Deterministic tidak dapat mengubah


power/kemampuan dari DFA
✘ Dicoba untuk menambahkan fitur yang disebut dengan ϵ-move

Yaitu sebuah transisi tanpa mengkonsumsi simbol input


apapun.
✘ ϵ-NFA sama dengan NFA, namun terdapat perbedaan yaitu
diperbolehkannya melakukan ϵ-move
Kegunaan ϵ - NFA

✘ Sebagai alat deskripsi yang lebih berguna


✘ Berguna untuk komposisi dan penggabungan NFA
✘ Tetap dapat dikonversikan ke DFA dan diimplementasikan
Contoh Kegunaan ϵ - NFA

✘ Jika diberikan dua NFA dengan bahasa


L1 = {w | w berakhir dengan 01}

L2 = {w | w berakhir dengan 10}

✘ Maka dapat dibangun sebuah ϵ- NFA untuk menggabungan kedua


NFA tersebut, jika ingin dibangun FA yang dapat menerima bahasa
L = {w | w berakhir 01 atau 10}
ϵ - NFA Secara Formal

Memiliki definisi formal yang hampir mirip dengan NFA:

A = (Q, ∑, δ, q0, F)

✘ Q merupakan sekumpulan state yang terhingga


✘ ∑ merupakan sejumlah terhingga dari alfabet/simbol/input
✘ δ merupakan fungsi transisi dari Q x ∑ U {ϵ} pada powerset dari Q
✘ q0 ∈ Q merupakan start state
✘ F ⊆ Q merupakan final state
LATIHAN 1

✘ Jika diberikan ϵ - NFA secara formal sebagai berikut


({q0, q1, …,q5}, { . , +, -, 0, 1, …, 9}, δ, q0, {q5})

✘ Dimana fungsi transisinya adalah

✘ Gambarkan diagram transisi dari ϵ - NFA tersebut!


ϵ - Closure

✘ Untuk setiap q ∈ Q, ECLOSE (q) merupakan himpunan semua state


yang dapat dicapai dari q dengan menggunakan sembarang barisan
ϵ-move, termasuk barisan kosong.
✘ q ∈ ECLOSE (q)
Extended Transition Function

✘ ∀𝑞 ∈ 𝑄, ∀𝑎 ∈ Σ, ∀𝑥 ∈ Σ ∗
✘ Basis : 𝛿መ 𝑞, 𝜖 = 𝐸𝐶𝐿𝑂𝑆𝐸(𝑞)
✘ Induksi : መ
𝛿 𝑞, 𝑥𝑎 = 𝐸𝐶𝐿𝑂𝑆𝐸 ራ 𝛿(𝑝𝑖 , 𝑎)

𝑝𝑖 ∈𝛿(𝑞,𝑥)

= ራ 𝐸𝐶𝐿𝑂𝑆𝐸 𝛿(𝑝𝑖 , 𝑎)

𝑝𝑖 ∈𝛿(𝑞,𝑥)

𝛿መ 𝑞, 𝑥 adalah himpunan semua state yang dapat dicapai dari q di


sepanjang path dengan transisi yang mengonsumsi x.
Extended Transition Function

✘ 𝑞 ∈ 𝛿(𝑞,
መ 𝜖)

✘ 𝛿መ 𝑞, 𝑎 ≠ 𝛿 𝑞, 𝑎
✘ 𝛿መ 𝑞, 𝑎 = 𝐸𝐶𝐿𝑂𝑆𝐸(𝛿 𝐸𝐶𝐿𝑂𝑆𝐸 𝑞 , 𝑎 )
✘ Contoh
❖ 𝛿መ 𝑞0 , 𝜖 = 𝑞0 , 𝑞1 , 𝑞3
❖ 𝛿 𝑞0 , 𝜖 = {𝑞1 }
❖ 𝛿መ 𝑞0 , 0 = {𝑞1 , 𝑞3 }

Yang membedakan ϵ-NFA dengan NFA adalah cara dalam mendefisikan


Extended Transition Function.
LATIHAN 2

✘ Berdasarkan desain ϵ-NFA yang terdapat pada latihan 1,


lakukanlah pembuktian dengan menggunakan Extended
Transition Function, apakah string ‘-3.17’ diterima oleh
bahasa ϵ-NFA tersebut?
Ekivalensi ϵ-NFA dan DFA

✘ Diberikan sebuah ϵ-NFA


E = (QE, ∑, δE, q0, FE)
✘ Maka dapat dibangun DFA dengan kemampuan penerimaan
bahasa yang sama
D = (QD, ∑, δD, qD, FD) dimana L(D) = L(E)
✘ Menggunakan detail konstruksi sebagai berikut
❖ 𝑄𝐷 = {𝑆: 𝑆 ⊆ 𝑄𝐸 𝑑𝑎𝑛 𝑆 = 𝐸𝐶𝐿𝑂𝑆𝐸 𝑆 }
❖ 𝑞𝐷 = 𝐸𝐶𝐿𝑂𝑆𝐸(𝑞0 )
❖ 𝐹𝐷 = {𝑆: 𝑆 ∈ 𝑄𝐷 𝑑𝑎𝑛 𝑆 ∩ 𝐹𝐸 ≠ ∅}
Ekivalensi ϵ-NFA dan DFA

✘ Menggunakan detail konstruksi sebagai berikut



𝛿𝐷 𝑆, 𝑎 = ራ 𝐸𝐶𝐿𝑂𝑆𝐸 𝑝
𝑝∈𝛿 𝑡,𝑎 , 𝑡 ∈𝑆

Contoh

𝑞𝐷 = 𝐸𝐶𝐿𝑂𝑆𝐸 𝑞0 = {𝑞0 , 𝑞1 , 𝑞3 }

𝛿𝐷 𝑞0 , 𝑞1 , 𝑞3 , 0 = ራ 𝐸𝐶𝐿𝑂𝑆𝐸 𝑝 = 𝐸𝐶𝐿𝑂𝑆𝐸 𝑞1 = { 𝑞1 , 𝑞3 }
𝑝∈𝛿 𝑡,0 , 𝑡 ∈{𝑞0 ,𝑞1 ,𝑞3 }
LATIHAN 3

✘ Lanjutkan proses konversi dari desain ϵ-NFA ke suatu desan 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!

Anda mungkin juga menyukai