Matakuliah Tahun Versi : T0162/Teori Bahasa dan Automata : 2005 : 1/0 Pertemuan 13 PUSH DOWN AUTOMATA (PDA) 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • << TIK-99 >> • << TIK-99>> 2 Outline Materi • • • • • Materi 1 Materi 2 Materi 3 Materi 4 Materi 5 3 PUSH DOWN AUTOMATA (PDA) • Mesin “counter part” dari CFG • Finite automation yang terdiri dari : finite control input tape stack 4 PUSH DOWN AUTOMATA (PDA) Input tape Finite Control Stack 5 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)*} 6 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 7 PUSH DOWN AUTOMATA (PDA) Mekanisme kerja : 1. M di stack, FC dalam state q1 2. Input : 0, FC : q1 Input : 1, FC : q1 Untuk kedua input 3. Input Push : B Push : H FC tetap di q1 : c, FC : q1, FC : masuk q2 8 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 9 PUSH DOWN AUTOMATA (PDA) • Mekanisme kerja di atas digambarkan dalam tabel berikut : 10 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) 11 PUSH DOWN AUTOMATA (PDA) dimana : Q : Himpunan state : Alphabet input t : Alphabet Stack q0 Q : State awal Z0 t : Start symbol stack FQ : Himpunan final state : Mapping : Q ( {}) t Subset Q t* 12 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)} 13 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 14 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, ) 15 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)} 16 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, )} 17 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 18 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 } 19 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. 20 PUSH DOWN AUTOMATA (PDA) Contoh : PDA yang menerima : L = { wwRw 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)} 21 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 : 22 PUSH DOWN AUTOMATA (PDA) 23 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. 24 << CLOSING>> 25
© Copyright 2024 Paperzz