Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Presentasi serupa


Presentasi berjudul: "Pertemuan 11 PUSH DOWN AUTOMATA (PDA)"— Transcript presentasi:

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

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

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, , , , q0, Z0, F)

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

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) = (q1, ). 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 .

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 :

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

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)

12 (halt/crash  ditolak)
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

13 Ilustrasi fungsi transisi PDA

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 :

15 Nondeterministik PDA q0,aba,z = q0,ba,az (1 kiri) = q1, a, az (4 kanan) = q1, , z(10) =q2, , (12) diterima = q0, a, baZ (4 kiri) = q1, ,baZ (5 kanan) = halt


Download ppt "Pertemuan 11 PUSH DOWN AUTOMATA (PDA)"

Presentasi serupa


Iklan oleh Google