1 / 25

Pertemuan 13 PUSH DOWN AUTOMATA (PDA)

Pertemuan 13 PUSH DOWN AUTOMATA (PDA). Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2005 Versi : 1/0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : << TIK-99 >> << TIK-99>>. Outline Materi. Materi 1 Materi 2 Materi 3 Materi 4 Materi 5.

lis
Télécharger la présentation

Pertemuan 13 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 13PUSH DOWN AUTOMATA(PDA) Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2005 Versi : 1/0

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • << TIK-99 >> • << TIK-99>>

  3. Outline Materi • Materi 1 • Materi 2 • Materi 3 • Materi 4 • Materi 5

  4. PUSH DOWN AUTOMATA(PDA) • Mesin “counter part” dari CFG • Finite automation yang terdiri dari : • finite control • input tape • stack

  5. PUSH DOWN AUTOMATA(PDA)

  6. PUSH DOWN AUTOMATA(PDA) • PDA dapat mengenal set yang tidak regular seperti : L = { wcwR w dalam (0+1)*} • Konstruksi dan mekanisme kerja PDA yang menerima : L = { wcwR w dalam (0+1)*}

  7. PUSH DOWN AUTOMATA(PDA) Grammar : S  0S0 1S1 c • Finite Control (FC) 2 state : q1, q2 • Stack Symbol : piring biru (B), piring hijau (H), piring merah (M). • Input symbol : 0, 1

  8. PUSH DOWN AUTOMATA(PDA) Mekanisme kerja : 1. M di stack, FC dalam state q1 2. Input : 0, FC : q1 Push : B Input : 1, FC : q1 Push : H Untuk kedua input  FC tetap di q1 3. Input : c, FC : q1, FC : masuk q2

  9. PUSH DOWN AUTOMATA(PDA) 4. Input : 0, FC dalam state : q2 top stack : B  Pop : B Input : 1, FC : q2, top stack : H  Pop : H untuk kedua input : FC tetap di q2 5. FC dalam q1, top : M  pop : M 6. Di luar ketentuan di atas : PDA tidak bergerak

  10. PUSH DOWN AUTOMATA(PDA) • Mekanisme kerja di atas digambarkan dalam tabel berikut :

  11. PUSH DOWN AUTOMATA(PDA) Definisi : PDA menerima language dengan dua cara : 1. Stack menjadi kosong 2. Finite Automaton masuk final state Secara formal, PDA : M = (Q, , t, , q0, Z0, F)

  12. PUSH DOWN AUTOMATA(PDA) dimana : Q : Himpunan state  : Alphabet input t : Alphabet Stack q0 Q : State awal Z0t : Start symbol stack F  Q : Himpunan final state  : Mapping : Q  ( {}) t Subset Q t*

  13. PUSH DOWN AUTOMATA(PDA) Move : • Langkah (move) PDA didefinisikan sebagai : 1. (q,a,z) = {(p1,Y1),( p2,Y2), …,( pm,Ym)} dimana : q, pi, 1  i m, state a  z : stack symbol Yit*, 1  i m 2. (q,,z) = {( p1,Y1),( p2,Y2), …,( pm,Ym)}

  14. PUSH DOWN AUTOMATA(PDA) Instantenuous Description (ID) : ID adalah triple : (q,w,Y) di mana (q,aw,z) ├ (p, w, b) jika  (q, a, z) berisi (p, b) Catatan : ‘a’ dapat sama dengan 

  15. PUSH DOWN AUTOMATA(PDA) • Contoh : Langkah-langkah PDA untuk menerima language : L = { wcwR w dalam (0+1)*} dengan empty stack, sebagai berikut : M = ({q1, q2}, {0, 1, c}, {M, B, H}, , q, M, )

  16. PUSH DOWN AUTOMATA(PDA) dimana  didefinisikan sbb : 1. ( q1, 0, M) = {( q1, BM)} 2. ( q1, 0, B) = {( q1, BB)} 3. ( q1, 0, H) = {( q1, BH)} 4. ( q1, c, M) = {( q2, M)} 5. ( q1, c, B) = {( q2, B)} 6. ( q1, c, H) = {( q2, H)}

  17. PUSH DOWN AUTOMATA(PDA) 7. ( q2, 0, B) = {( q2, )} 8. ( q2, , M) = {( q2, )} 9. ( q1, 1, M) = {( q1, HM)} 10. ( q1, 1, B) = {( q1, HB)} 11. ( q1, 1, H) = {( q1, HH)} 12. ( q2, 1, H) = {( q2, )}

  18. PUSH DOWN AUTOMATA(PDA) Misalkan string input : 001c100 Langkah-langkah PDA : (q1, 001c100, M)  (q1, 01c100, BM)  (q1, 1c100, BBM)  (q1, c100, HBBM)  (q2, 100, HBBM)  (q2, 00, BBM)  (q2, 0, BM)  (q2, , M)  (q2, , )  accept

  19. PUSH DOWN AUTOMATA(PDA) Accepted Languages : Untuk suatu PDA M = (Q, , t, , q0, Z0, F), L(M) adalah language yang diterima dengan final state didefinisikan sebagai : * { w ( q0, w, Z0) ├ (p, , ) untuk suatu p  F dan  dalam *} N(M) language yang diterima dengan “empty stack” (null stack) didefinisikan sebagai : * { w(q0,w,Z0)├ (p, , ) untuk p  Q }

  20. PUSH DOWN AUTOMATA(PDA) Deterministic PDA : Hanya ada satu kemungkinan move dari suatu ID, atau dengan kata lain suatu PDA M = (Q, ,y,,q0,Z0,F) deterministic bila : 1. untuk semua q  Q dan Z y, jika (q,,z)tidak empty untuk semua a . 2. tidak ada q  Q, Z y, dan a U{}, di mana (q,a,Z) berisi lebih dari satu elemen.

  21. PUSH DOWN AUTOMATA(PDA) Contoh : PDA yang menerima : L = { wwRw dalam (0+1)*} M = ({q1,q2},{0,1},{M.B,H},,q,R,) dengan  sebagai berikut : 1. (q1,0,M) = {(q1,BM)} 2. (q1,1,M) = {(q1,HM)}

  22. PUSH DOWN AUTOMATA(PDA) 3. (q1,0,B) = {(q1,BB),(q2,)} 4. (q1,0,H) = {(q1,BH)} 5. (q1,1,B) = {(q1,HB)} 6. (q1,1,H) = {(q1,HH), (q2,)} 7. (q1,0,B) = {(q2,)} 8. (q1,1,H) = {(q2,)} 9. (q1,,M) = {(q2,)} 10. (q2,,M) = {(q2,)} Misalkan string input : 001100 Langkah-langkah PDA :

  23. PUSH DOWN AUTOMATA(PDA)

  24. PUSH DOWN AUTOMATA(PDA) Theorem : Jika L suatu CFL, maka ada suatu PDA sehingga L = N(M). Theorem : Jika L adalah N(M) untuk suatu PDA M, maka L adalah CFL.

  25. << CLOSING>>

More Related