Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 11 PUSH DOWN AUTOMATA (PDA) Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009."— Transcript presentasi:

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

2 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 3 PUSH DOWN AUTOMATA (PDA) PUSHPOP Check : state, input symbol, stack symbol

4 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, , , , q 0, Z 0, F)

5 5 PUSH DOWN AUTOMATA (PDA) dimana : Q : Himpunan state  : Alphabet input  : Alphabet Stack q 0  Q : State awal Z 0   : Start symbol stack F  Q : Himpunan final state  : Fungsi transisi : Q  (   {  })    Subset Q   *

6 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) = (q 1,  ). 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

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 : 8

9 Example PDA(2) 9 Dapat ditulis  (q, a, Z) = (q, AZ) Mesin dengan konfigurasi : State q 0 dan top stack Z membaca input’a’  konfigurasi menjadi State q 0,push A ke stack A, A menjadi top stack Dapat ditulis  (q 1,a, A) = (q 1,  ) Mesin dengan konfigurasi : State q 1 dan top stack A membaca input’a’  konfigurasi menjadi State q 1, 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. 10

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

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 12

13 Ilustrasi fungsi transisi PDA 13

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 : 14

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 15


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

Presentasi serupa


Iklan oleh Google