Matakuliah Tahun Versi T 0162Teori Bahasa dan Automata
Matakuliah Tahun Versi : T 0162/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) 5
PUSH DOWN AUTOMATA (PDA) • PDA dapat mengenal set yang tidak regular seperti : L = { wcw. R w dalam (0+1)*} • Konstruksi dan mekanisme kerja PDA yang menerima : L = { wcw. R w dalam (0+1)*} 6
PUSH DOWN AUTOMATA (PDA) Grammar : S 0 S 0 1 S 1 c § Finite Control (FC) 2 state : q 1, q 2 § 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 q 1 2. Input : 0, FC : q 1 Input : 1, FC : q 1 Untuk kedua input 3. Input Push : B Push : H FC tetap di q 1 : c, FC : q 1, FC : masuk q 2 8
PUSH DOWN AUTOMATA (PDA) 4. Input : 0, FC dalam state : q 2 top stack : B Pop : B Input : 1, FC : q 2, top stack : H Pop : H untuk kedua input : FC tetap di q 2 5. FC dalam q 1, 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, , q 0, Z 0, F) 11
PUSH DOWN AUTOMATA (PDA) dimana : Q : Himpunan state : Alphabet input t : Alphabet Stack q 0 Q : State awal Z 0 t : Start symbol stack F Q : Himpunan final state : Mapping : Q ( { }) t Subset Q t* 12
PUSH DOWN AUTOMATA (PDA) Move : • Langkah (move) PDA didefinisikan sebagai : 1. (q, a, z) = {(p 1, Y 1), ( p 2, Y 2), …, ( pm, Ym)} dimana : q, pi, 1 i m, state a z : stack symbol Yi t*, 1 i m 2. (q, , z) = {( p 1, Y 1), ( p 2, Y 2), …, ( 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 = { wcw. R w dalam (0+1)*} dengan empty stack, sebagai berikut : M = ({q 1, q 2}, {0, 1, c}, {M, B, H}, , q, M, ) 15
PUSH DOWN AUTOMATA (PDA) dimana didefinisikan sbb : 1. ( q 1, 0, M) = {( q 1, BM)} 2. ( q 1, 0, B) = {( q 1, BB)} 3. ( q 1, 0, H) = {( q 1, BH)} 4. ( q 1, c, M) = {( q 2, M)} 5. ( q 1, c, B) = {( q 2, B)} 6. ( q 1, c, H) = {( q 2, H)} 16
PUSH DOWN AUTOMATA (PDA) 7. ( q 2, 0, B) = {( q 2, )} 8. ( q 2, , M) = {( q 2, )} 9. ( q 1, 1, M) = {( q 1, HM)} 10. ( q 1, 1, B) = {( q 1, HB)} 11. ( q 1, 1, H) = {( q 1, HH)} 12. ( q 2, 1, H) = {( q 2, )} 17
PUSH DOWN AUTOMATA (PDA) Misalkan string input : 001 c 100 Langkah-langkah PDA : (q 1, 001 c 100, M) (q 1, 01 c 100, BM) (q 1, 1 c 100, BBM) (q 1, c 100, HBBM) (q 2, 00, BBM) (q 2, 0, BM) (q 2, , ) accept 18
PUSH DOWN AUTOMATA (PDA) Accepted Languages : Untuk suatu PDA M = (Q, , t, , q 0, Z 0, F), L(M) adalah language yang diterima dengan final state didefinisikan sebagai : * { w ( q 0, w, Z 0) ├ (p, , ) untuk suatu p F dan dalam *} N(M) language yang diterima dengan “empty stack” (null stack) didefinisikan sebagai : * { w (q 0, w, Z 0) ├ (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, , q 0, Z 0, 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 = { ww. R w dalam (0+1)*} M = ({q 1, q 2}, {0, 1}, {M. B, H}, , q, R, ) dengan sebagai berikut : 1. (q 1, 0, M) = {(q 1, BM)} 2. (q 1, 1, M) = {(q 1, HM)} 21
PUSH DOWN AUTOMATA (PDA) 3. (q 1, 0, B) = {(q 1, BB), (q 2, )} 4. (q 1, 0, H) = {(q 1, BH)} 5. (q 1, 1, B) = {(q 1, HB)} 6. (q 1, 1, H) = {(q 1, HH), (q 2, )} 7. (q 1, 0, B) = {(q 2, )} 8. (q 1, 1, H) = {(q 2, )} 9. (q 1, , M) = {(q 2, )} 10. (q 2, , M) = {(q 2, )} 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
- Slides: 25