teori bahasa dan otomata - · pdf filejenis fsa deterministic finite automata ... pada...

18
PERTEMUAN 4 TEORI BAHASA DAN OTOMATA [TBO]

Upload: vonhan

Post on 28-Feb-2018

299 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

PERTEMUAN 4

TEORI BAHASA DAN OTOMATA

[TBO]

Page 2: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Jenis FSA

Deterministic Finite Automata (DFA)

Dari suatu state ada tepat satu state berikutnyauntuk setiap simbol masukan yang diterima

Non-deterministic Finite Automata (NFA)

Dari suatu state ada 0, 1 atau lebih state berikutnyauntuk setiap simbol masukan yang diterima

Page 3: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

DFA[Deterministic Finite Automata]

Semua FA yang telah kita lihat sampai sekarangadalah DFA

Pada Deterministic Finite Automata, dari satu stateada tepat satu state berikutnya untuk setiap simbolmasukan yang diterima

Apapun state saat itu (current state) ataumasukan/input nya, selalu terdapat satu dan hanyasatu state berikutnya

Page 4: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Catatan Penting !!

δ(q, a) unik; setiap state q memiliki satu (dan hanya

satu) transisi keluar untuk setiap simbol a ∈ Σ

Untuk setiap string input tertentu w, eksekusi benar-benar dapat diprediksi dan dapat diulangi. Olehkarena itu hasil dari eksekusi yang sama mesti sama.Sifat ini disebut dengan determinisme

Catt: δ Greek lowercase Delta; Σ Greek uppercase Sigma

Page 5: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh DFA

State a b

Start x y z

y x z

Final z z za

b b

a

a

b

x y

z

Page 6: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

NFANon-Deterministic Finite Automata

Pada Non-Deterministic Finite Automata, dari suatustate bisa terdapat 0, 1 atau lebih busur keluar(transisi) berlabel simbol input yang sama

Pada setiap pasangan state-input, dapat memiliki 0(nol) atau lebih pilihan untuk state berikutnya

Page 7: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

NFA Lanjt..

δ(q, a) adalah himpunan state-state: bisa jadi himpunan kosong, atau

lebih dari satu state

Dengan demikian, q bisa memiliki beberapa(atau tidak ada sama sekali) transisi keluaruntuk setiap a ∈ Σ

NFA dapat “menebak” langkah yang tepat,tanpa harus ditentukan (di dalam struktur NFAitu) terlebih dahulu. Tebakan ini muncul karenaadanya beberapa pilihan. Sifat ini disebut dengannon-determinisme.

Page 8: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 1 : NFA

L = {w ∈ {0, 1}*| w berakhir dengan 01}

Ide: Di suatu state NFA “menebak” bahwa akhir dariinput sudah akan dimulai dan oleh karena itu NFAkemudian menunggu 01, dengan menggunakannon-determinisme.

Page 9: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 2 : NFA

State a b

Start x {x,y} {y}

Final

y{y} Ø

x y

a, b

a

a

Page 10: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Non-deterministic FA [NFA] Menerima: jika terdapat paling sedikit satu path yang

berakhir di state Final di pohon trace eksekusi

Menolak: jika semua path yang mungkin “terhenti”(stuck, halt) atau berakhir di state yang bukan Final

Interpretasi:

NFA selalu mengambil pilihan yang benar untukmemastikan penerimaan (asumsi: path yang berakhir distate Final memang ada)

NFA membuat copy dirinya sendiri untuk menelusurisemua path yang mungkin

NFA menjelajahi semua path secara parallel.

Page 11: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

PENTING!

Semua NFA dengan bahasa L harus memastikan:

∀x L : semua path yang mungkin di pohon

trace eksekusi menolak

∀x L : paling sedikit satu path di pohon trace

eksekusi menerima

Meskipun NFA bebas “menebak”, NFA harusmemastikan bahwa salah satu dari tebakannyabenar. Caranya adalah dengan menebak semuatebakan yang mungkin.

Page 12: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Secara Formal

NFA N = (Q,Σ,δ,q0,F) memiliki struktur yang

sama dengan DFA kecuali untuk fungsi transisi δ

δ : Q × Σ → 2Q

⇒ δ(q, a) adalah himpunan bagian dari Q.

Catt.

Ingat : 2Q

adalah powerset dari Q

Page 13: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 3 : Penggabungan 2 FA

Berikut diperlihatkan sebuah NFA yang merupakangabungan dari 2 buah FA, yaitu dengan caramenumpuk start state

Dua FA berikut ini (FA1 dan FA2) masing-masingmenerima language yang didefinisikan oleh regularexpression r1 dan r2

Page 14: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 3 : Penggabungan 2 FA Lanjt..

+

a

a

a

a

b

bb

b

a, b

b

a

a

b

a

b

a, b

Page 15: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh Penggabungan 2 FALanjt..

NFA yang akan dibuat untuk bisa mendefinisikankedua language yang diterima oleh masing-masingFA terlihat seperti berikut ini:

b

a

a

+a

a

a

b

b

b

a, b

b

a

a

b

b

a, b

Page 16: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 4

Perbedaan dengan NFA: fungsi transisi dapatmemiliki 0 atau lebih fungsi transisi

G = ({q0,q1,q2,q3,q4}, {0,1}, δ, q0, {q2, q4}}

δ 0 1

q0 { q0,q3} {q0,q1}

q1 ε {q2}

q2 {q2} {q2}

q3 {q4} ε

q4 {q4} {q4}

Page 17: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 4 Lanjt..

String diterima NFA bila terdapat suatu urutan transisiberdasar input, dari state awal ke state akhir.

harus mencoba semua kemungkinan.

Contoh : string 01001

Page 18: TEORI BAHASA DAN OTOMATA - · PDF fileJenis FSA Deterministic Finite Automata ... Pada Non-Deterministic Finite Automata, dari suatu state bisa ... Berikut diperlihatkan sebuah NFA

Contoh 4 : string 01001