1 / 15

Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Pertemuan 11 PUSH DOWN AUTOMATA (PDA). Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2009. PUSH DOWN AUTOMATA (PDA).

Download Presentation

Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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) 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 stack F  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 symbol Y  * 2. (q,,z) = (p,Y)

  7. 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 .

  8. Example PDA • PDA : M = (Q, , , q , Z , , F) • pengenal palindrome L = {xcxx  (ab)*}, 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 :

  9. Example PDA(2) 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

  10. 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.

  11. 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)

  12. 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

  13. Ilustrasi fungsi transisi PDA

  14. Nondeterministik PDA • PDA M = (Q, , , q, Z, , F) pengenal palindrome L = {xxx  (ab)*} mempunyai komponen tuple berikut : • Q = {q, q, q}, F = { q},  = {a, b},  = {a, b, Z}, dan fungsi transisi  terdefinisi melalui tabel berikut :

  15. 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) = halt

More Related