pertemuan 11 push down automata (pda)
Post on 30-Dec-2015
154 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Pertemuan 11PUSH DOWN AUTOMATA
(PDA)
Matakuliah : T0162/Teori Bahasa dan Automata
Tahun : 2009
2
PUSH DOWN AUTOMATA(PDA)
• The pushdown automaton is essentially an e-NFA with the addition of a stack. The stack can be read, pushed and poped only at the top just like the “stack” data structure
3
PUSH DOWN AUTOMATA(PDA)
FiniteControl
Inputtape
Stack
PUSH POP
Check : state, input symbol, stack symbol
4
PUSH DOWN AUTOMATA(PDA)
PDA menerima language dengan dua cara :
1. Stack menjadi kosong
2. Finite Automaton masuk final state
Definisi Secara formal, PDA :
M = (Q, , , , q0, Z0, F)
5
PUSH DOWN AUTOMATA(PDA)
dimana :Q : Himpunan state
: Alphabet input : Alphabet Stack
q0 Q : State awal
Z0 : Start symbol stackF Q : Himpunan final state : Fungsi transisi :
Q ( {}) Subset Q *
6
PUSH DOWN AUTOMATA(PDA)
Move :• Fungsi transisi (move) pada deterministic PDA
didefinisikan sebagai :
1. (q,a,z) = (p,Y) dimana : q, p : state
a z : stack symbolY *
2. (q,,z) = (p,Y)
Penting:(q , a, Z ) = (q , AZ ). Push/insert(q , a, A) = (q1, ). Pop /delete
• Untuk state q Q, simbol input a , dan simbol stack X , (q, a, X) = (p, ) berarti : PDA bertransisi ke state p dan mengganti X pada stack dengan string .
7
Example PDA
• PDA : M = (Q, , , q , Z , , F)
• pengenal palindrome L = {xcx x (ab)*}, dimana x adalah cermin(x), mempunyai tuple :
• Q = {qo , q1 , q2 }, F = { q }, = {a, b, c}, = {A, B, Z }, dan fungsi transisi terdefinisi melalui tabel berikut :
8
Example PDA(2)
9
Dapat ditulis (q, a, Z) = (q, AZ)
Mesin dengan konfigurasi :
State q0 dan top stack Z membaca input’a’ konfigurasi menjadi State q0 ,push A ke stack A, A menjadi top stack
Dapat ditulis (q1 ,a, A) = (q1 ,)
Mesin dengan konfigurasi :
State q1 dan top stack A membaca input’a’ konfigurasi menjadi State q1 , A di pop, elemen dibawah A menjadi top stack
Example PDA(3)
• Sebagai contoh, perhatikan bahwa fungsi transisi No. 1 dapat dinyatakan sebagai : (q , a, Z ) = (q , AZ ). Pada tabel transisi tersebut terlihat bahwa pada state q PDA akan melakukan PUSH jika mendapat input a atau b dan melakukan transisi state ke state q jika mendapat input c. Pada state q PDA akan melakukan POP.
10
• Berikut ini pengenalan string : abcba : (q , abcba, Z ) (q , bcba, AZ )
(1)
(q , cba, BAZ ) (4)
(q , ba, BAZ ) (9)
(q , a, AZ ) (11)
(q , , Z ) (10)
(q , , Z ) (12)(diterima)
11
acb : (q , acb, Z ) (q , cb, AZ )
(q , b, AZ )
(halt/crash ditolak)
• Penerimaan dan penolakan tiga string di atas dapat dijelaskan sebagai berikut :
• string abcba diterima karena tracing sampai di state penerima (q ) dan string “abcba” selesai dibaca (string yang belum dibaca = )
• string acb ditolak karena konfigurasi akhir (q , b, a Z ) sedangkan fungsi transisi (q , b, a) tidak terdefinsi
12
Ilustrasi fungsi transisi PDA
13
Nondeterministik PDA
• PDA M = (Q, , , q , Z , , F) pengenal palindrome L = {xx x (ab)*} mempunyai komponen tuple berikut :
• Q = {q , q , q }, F = { q }, = {a, b}, = {a, b, Z }, dan fungsi transisi terdefinisi melalui tabel berikut :
14
Nondeterministik PDA
q0,aba,z = q0,ba,az (1 kiri)
= q1, a, az (4 kanan)
= q1, , z(10)
=q2, , (12) diterima
q0,aba,z = q0,ba,az (1 kiri)
= q0, a, baZ (4 kiri)
= q1, ,baZ (5 kanan)
= halt15
top related