Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Push Down Automata Versi 1.

Presentasi serupa


Presentasi berjudul: "Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Push Down Automata Versi 1."— Transcript presentasi:

1 Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Push Down Automata Versi 1

2 Pendahuluan PDA merupakan mesin berbasis CFG FSA mempunyai memori yg terbatas sebaliknya PDA mempunyai memori yang tak terbatas disebut stack Stack adalah suatu tempat penyimpanan yang berlaku sifat LIFO (last in first out)

3 Bentuk umum PDA Kalau di FSA kita mengenal 5 tupel, akan tetapi untuk PDA ada 7 tupel : M=(Q,∑,δ,г,S,F,Z), dengan Q: kumpulan state ∑: input δ: tabel transisi Г: simbol kumpulan stack S: initial state F: final state Z: stack awal

4 Cara kerja stack PDA Top Stack Di pop Di push D A B C B C D B C

5 Gambaran awal Contoh transisi PDA: δ: δ(q1, ɛ,Z )={(q2,Z)} δ(q1,a,Z )={(q1,AZ)} δ(q1,b,Z )={(q1,BZ)} δ(q1,a,A )={(q1,AA)} δ(q1,b,A )={(q1, ɛ )} δ(q1,a,B )={(q1, ɛ )} δ(q1,b,B )={(q1,BB)}

6 δ: δ(q1, ɛ,Z)={(q2,Z)}  state q1 dgn stack awal Z, membaca input ɛ menghasilkan state q2 dengan top stack Z δ(q1,a,Z)={(q1,AZ)}  state q1 dgn stack awal Z, membaca input a menghasilkan state q1 dgn top stack AZ (push A) δ(q1,b,Z)={(q1,BZ)} (push B) δ(q1,a,A)={(q1,AA)} δ(q1,b,A)={(q1, ɛ )}  state q1 dgn stack awal A, membaca input b, menghasilkan state q1 dgn stack di pop δ(q1,a,B)={(q1, ɛ )} δ(q1,b,B)={(q1,BB)}

7 Contoh simple : Contoh PDA: Q ={q1,q2} ∑={a,b} Г={A,B,Z} S=q1 F=q2 Z=Z δ: 1.δ(q1, ɛ,Z )={(q2,Z)} 2.δ(q1,a,Z )={(q1,AZ)} 3.δ(q1,b,Z )={(q1,BZ)} 4.δ(q1,a,A )={(q1,AA)} 5.δ(q1,b,A )={(q1, ɛ )} 6.δ(q1,a,B )={(q1, ɛ )} 7.δ(q1,b,B )={(q1,BB)}

8 Buktikan string ‘abba’ diterima PDA ini.. δ(q1,abba,Z) =(q1,bba,AZ)---(2) =(q1,ba,Z)---(5) =(q1,a,BZ)---(3) =(q1, ɛ,Z)---(6) =(q2,Z)---(1) State terakhir ada di q2, sehingga string ‘abba’ di terima PDA diatas, dgn top stack Z.

9 Diagram state q1q2 a,Z/AZ b,Z/BZ a,A/AA b,A/ ɛ a,B/ ɛ b.B/BB ɛ,Z/Z

10 PDA deterministik PDA : M = (Q, , ,S, Z, , F) Q = {q0, q1, q2 }, S={q0}, F = { q2 },  = {a, b, c},  = {A, B, Z }, Z={Z}, dan fungsi transisi  : NoStateInputTop stack Hasil 1q0aZ(q0,AZ) 2q0bZ(qo,BZ) 3q0aA(q0,AA) 4q0bA(qo,BA) 5q0aB(q0,AB) 6q0bB(q0,BB) NoStateInputTop stack Hasil 7q0cZ(q1,Z) 8q0cA(q1,A) 9q0cB(q1,B) 10q1aA (q1, ɛ ) 11q1bB (q1, ɛ ) 12q1 ɛ Z(q2,Z)

11 Diterima atau tidak? Bagaimana untuk string ‘acb’? Bagaimana untuk string ‘abab’? Bagaimana untuk string ‘bbaacc’?

12 Apakah string ‘abcba’ di terima? Let’s try  (q0,abcba,Z)  (q0,bcba,AZ)  (q0,bcba,AZ)  (q0,cba,BAZ)  (q0,cba,BAZ)  (q1,ba,BAZ)  (q1,ba,BAZ)  (q1,a,AZ)  (q1,a, AZ)  (q1, ɛ, Z)  (q1, ɛ,Z)  (q2,Z) Karena state terakhir di q2, maka ‘abcba’ di terima, dgn top stack Z

13 PDA Non-deterministik NPDA : M = (Q, , ,S, Z, , F) Q = {q0, q1, q2 }, S={q0}, F = { q2 },  = {a, b},  = {A, B, Z }, Z= {Z}, dan fungsi transisi  : NoNo StateInpTop stack Hasil 1q0aZ(q0,AZ),(q1,Z) 2q0bZ(qo,BZ),(q1,Z) 3q0aA(q0,AA),(q1,A) 4q0bA(qo,BA),(q1,A) 5q0aB(q0,AB),(q1,B) 6q0bB(q0,BB),(q1,B) NoStateInpTop stack Hasil 7q0 ɛ Z(q1,Z) 8q0 ɛ A(q1,A) 9q0 ɛ B(q1,B) 10q1aA (q1, ɛ ) 11q1bB (q1, ɛ ) 12q1 ɛ Z (q2, ɛ )

14 Diterima atau tidak? String ‘aba’? String ‘baab’? Sting ‘abc’?

15 Jawab: ‘aba’ (q0,aba,Z)  (q0,ba,AZ) (1.kiri) (q0,ba,AZ)  (q0,a,BAZ) (4.kiri) (q0,a,BAZ)  (q0, ɛ,ABAZ) (5.kiri) (q0, ɛ,ABAZ) ditolak ‘aba’ (q0,aba,Z)  (q0,ba,AZ) (1.kiri) (q0,ba,AZ)  (q1,a,AZ) (4.kanan) (q1,a,AZ)  (q1, ɛ,Z) (10) (q1, ɛ,Z)  (q2, ɛ ) finish di q2 (diterima)


Download ppt "Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Push Down Automata Versi 1."

Presentasi serupa


Iklan oleh Google