1. Top stack
Top stack
Top stack
PDA
(PUSH DOWN AUTOMATA)
PDA merupakan perluasan dari non-deterministic finite automaton yang merupakan
suatu cara untuk mendefinisikan bahasa regular. PDA digambarkan sebagai tempat
penyimpanan yang tidak terbatas, yaitu berupa stack/ tumpukan. Stack digunakan untuk
menyimpan sejumlah symbol yang diakses dengan aturan LIFO (Last In First Out). Stack
tersebut dapat dibaca, di-push (pemasukan elemen), dan di-pop (pengambilan elemen) hanya
pada bagian atas dari stack (top stack).
Perbedaan PDA dengan Otomata Hingga (FSA) :
• FSA mempunyai memori yang terbatas,
• PDA mempunyai memori yang tidak terbatas, berupa stack.
Contoh stack :
Stack
B
E
O
Pop
E
O
Push ‘L’
L
E E
O O
7-tuple dalam PDA dinyatakan sebagai berikut :
P = (Q, ∑∑∑∑, ΓΓΓΓ, δδδδ, q0, Z0, F)
Keterangan :
Q : himpunan state
Σ : himpunan simbol input
Γ : simbol-simbol tumpukan / stack
2. δ : fungsi transisi
S : state awal, S ∈ Q
F : himpunan final state, F ⊆ Q
Z : simbol awal tumpukan / top stack, Z ∈ Γ
Ada beberapa jenis transisi pada PDA :
1. Membaca simbol input
2. Tanpa membaca simbol input.
Jenis-jenis Push Down Automata :
1. PDA null stack
PDA yang melakukan penerimaan input dengan stack kosong.
2. PDA final state
PDA yang melakukan penerimaan input yang pilihan transisinya menyebabkan PDA
mencapai final state.
Contoh :
Sebuah PDA
Q : {q1, q2}
Σ : {a, b}
Γ : {A, B, Z}
δ : q1
Z : Z
F : {q2}
PDA tersebut memiliki fungsi transisi:
∆(q1, ε, Z) = {(q2, Z)}
∆(q1, a, Z) = {(q1, AZ)}
∆(q1, b, Z) = {(q1, BZ)}
∆(q1, a, A) = {(q1, AA)}
3. ∆(q1, b, A) = {(q1, ε)}
∆(q1, a, B) = {(q1, ε)}
∆(q1, b, B) = {(q1, BB)}
1. ∆(q1, a, Z) = {(q1, AZ)}
Mesin dengan konfigurasi: State q1 dan top-stack Z membaca input ‘a’
Z
Konfigurasi menjadi:
State q1 , push A ke stack, A menjadi top-stack
A
Z
2. ∆(q1, b, A) = {(q1, ε)}
Mesin dengan konfigurasi: State q1 dan top-stack A membaca input ‘b’
A
Konfigurasi menjadi:
State q1 , pop A dari stack, elemen di bawah A menjadi top-stack.
3. ∆(q1, ε, Z) = {(q2, Z)}
Mesin dengan konfigurasi: State q1 dan top-stack Z tanpa membaca input.
Z
Konfigurasi menjadi:
State q2, stack tidak berubah
Z