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

Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Embed Size (px)

DESCRIPTION

Pertemuan 11 PUSH DOWN AUTOMATA (PDA). Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009. PUSH DOWN AUTOMATA (PDA). - PowerPoint PPT Presentation

Citation preview

Page 1: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

1

Pertemuan 11PUSH DOWN AUTOMATA

(PDA)

Matakuliah : T0162/Teori Bahasa dan Automata

Tahun : 2009

Page 2: 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

Page 3: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

3

PUSH DOWN AUTOMATA(PDA)

FiniteControl

Inputtape

Stack

PUSH POP

Check : state, input symbol, stack symbol

Page 4: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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)

Page 5: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

5

PUSH DOWN AUTOMATA(PDA)

dimana :Q : Himpunan state

: Alphabet input : Alphabet Stack

q0 Q : State awal

Z0 : Start symbol stackF Q : Himpunan final state : Fungsi transisi :

Q ( {}) Subset Q *

Page 6: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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 symbolY *

2. (q,,z) = (p,Y)

Page 7: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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 .

7

Page 8: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Example PDA

• PDA : M = (Q, , , q , Z , , F)

• pengenal palindrome L = {xcx x (ab)*}, 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

Page 9: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Example PDA(2)

9

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

Page 10: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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

Page 11: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

• 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

Page 12: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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

Page 13: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Ilustrasi fungsi transisi PDA

13

Page 14: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

Nondeterministik PDA

• PDA M = (Q, , , q , Z , , F) pengenal palindrome L = {xx x (ab)*} mempunyai komponen tuple berikut :

• Q = {q , q , q }, F = { q }, = {a, b}, = {a, b, Z }, dan fungsi transisi terdefinisi melalui tabel berikut :

14

Page 15: Pertemuan 11 PUSH DOWN AUTOMATA (PDA)

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)

= halt15