Pushdown Automata (PDA)

Slides:



Advertisements
Presentasi serupa
Review Materi Widodo.com
Advertisements

Teori Bahasa dan Automata
Teori Bahasa dan Automata
Pertemuan 4 Finite Automata
Pertemuan 11 PUSH DOWN AUTOMATA (PDA)
Oleh: BAGUS ADHI KUSUMA, ST
Session 12 Pushdown Automata
Ekivalensi -move pada Non Deterministik FSO ke Deterministik FSO
Push Down Automata (PDA)
BAB II FINITE STATE AUTOMATA.
14. PUSH DOWN AUTOMATA.
Teori Bahasa & OTOMATA.
Pertemuan 3 Finite Automata
Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏
OTOMATA HINGGA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
PUSH DOWN AUTOMATA & MESIN TURING
PUSHDOWN AUTOMATA & TURING MACHINE
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
TEORI BAHASA DAN AUTOMATA
Teori Bahasa dan Otomata 2 sks
PENDAHULUAN.
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
BAB XIV MESIN TURING.
14. PUSH-DOWN AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
PENDAHULUAN.
Pertemuan 3 FINITE AUTOMATA
BAB 13 PUSH DOWN AUTOMATA.
PUSH DOWN AUTOMATA.
Pushdown Automata PDA.
PUSH DOWN AUTOMATA ( PDA )
Teori Bahasa dan Automata
Non Deterministic Finite Automata dengan є – Move
PUSH DOWN AUTOMATA (PDA)
FINITE STATE AUTOMATA (FSA)
Teori-Bahasa-dan-Otomata
BAB II FINITE STATE AUTOMATA.
Teori Bahasa Otomata D. Sinaga, M.Kom.
FINITE STATE AUTOMATA (FSA)
Teori Bahasa dan Automata
Teori-Bahasa-dan-Otomata
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
2. Review Teori Bahasa Formal dan Otomata
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
PENDAHULUAN.
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
Pertemuan 11 PUSH DOWN AUTOMATA (PDA)
ATURAN PRODUKSI TATA BAHASA REGULER
MESIN TURING Kuliah Teori Bahasa dan Otomata S1 Teknik Informatika
OTOMATA DAN TEORI BAHASA FORMAL
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
OTOMATA DAN TEORI BAHASA FORMAL
BAB II FINITE STATE AUTOMATA.
Bab VII FINITE STATE AUTOMATA DENGAN OUTPUT.
Finite State Automata ♦ model matematika yang dapat menerima input dan mengeluarkan output ♦ Memiliki state yang berhingga banyaknya dan dapat berpindah.
Otomata & Teori Bahasa ( Week 4 )
Pertemuan 4 Non Deterministic Finite Automaton (NFA)
Ekuivalensi NFA KE DFA *YANI*.
Mesin Turing HP
Teori Bahasa dan Automata
Pertemuan4.
OTOMATA DAN TEORI BAHASA 8.
Otomata & Teori Bahasa Finite State Automata: - Non Deterministic Finite Automata dengan -move - Penggabungan dan Konkatenasi FSA.
Otomata & Teori Bahasa ( Week 4 )
Otomata & Teori Bahasa ( Week 4 )
MESIN TURING. TEST KOMPETENSI Ni nomor berapakah mobil ini parkir?
Transcript presentasi:

Pushdown Automata (PDA) HP – 9 Dec 2015

Review: Finite Automata Buatlah otomata utk mengenali bahasa: L = {0i1j | i,j > 0} DFA: 1 Q3 Q0 Q1 1 Q2 start 1 Q3 0,1 TBO - PDA 9/20/2018

Finite Automata  Regular Language Sebuah mesin finite automata (DFA dkk) sudah cukup utk merepresentasikan bahasa tersebut. Setelah membaca simbol kedua (‘1’), selanjutnya tidak ada hubungannya lagi dengan simbol pertama (‘0’) TBO - PDA 9/20/2018

Non Regular Language Buatlah otomata utk mengenali bahasa: L = {0i1j | i > j > 0} DFA ?? Tidak ada mekanisme dalam FA utk menyimpan berapa banyak suatu simbol yg telah dibaca.  CFL  Solusi: PDA TBO - PDA 9/20/2018

PDA: PushDown Automata Mesin otomata yg dilengkapi dg storage tak terhingga (in-finite) dlm struktur Stack. Mampu menyimpan sejumlah informasi pd pembacaan simbol2 awal string & digunakan pd saat pembacaan simbol2 berikutnya. NFA- + Stack Meningkatkan kemampuan baca mesin Kelas bahasa yg dikenali meningkat TBO - PDA 9/20/2018

PDA Tuple PDA: (Q, , , , q0, Z0, F) Q q0, , F  Z0,  stack otomata TBO - PDA 9/20/2018

StackAwal / StackAkhir State 1 State 2  input StackAwal / StackAkhir stack stack (State 1, Input, Stack Awal)  (State 2, Stack Akhir) 9/20/2018 TBO - PDA

PDA Sample Buatlah otomata utk mengenali bahasa: L = {wwR | wR adalah kebalikan dari w} Palindrom dg banyak karakter genap PDA: 0, Z0/0Z0 1, Z0/1Z0 0, 0/00 0, 1/01 1, 0/10 1, 1/11 0, 0/ 1, 1/ Q3 Q0 Q1 Q2 start , Z0/Z0 , 0/0 , 1/1 , Z0/Z0 TBO - PDA 9/20/2018

PDA Sample (2) PDA: (Q, , , , q0, Z0, F) Q = {Q0, Q1, Q2}  = {0, 1}  = {0, 1, Z0} F = {Q2} (Q0, 0, Z0) = (Q0, 0Z0) (Q0, 1, Z0) = (Q0, 1Z0) (Q0, 0, 0) = (Q0, 00) (Q0, 0, 1) = (Q0, 01) (Q0, 1, 0) = (Q0, 10) (Q0, 1, 1) = (Q0, 11) (Q0, , Z0) = (Q1, Z0) (Q0, , 0) = (Q1, 0) (Q0, , 1) = (Q1, 1) (Q1, 0, 0) = (Q1, ) (Q1, 1, 1) = (Q1, ) (Q1, , Z0) = (Q2, Z0) TBO - PDA 9/20/2018

(Q0, 0, Z0) = (Q0, 0Z0) Kondisi (Q0, 0w, Z0): sedang berada di state Q0, memiliki input string “0w” dan stack masih kosong (Z0). Dapat berubah menjadi (Q0, w, 0Z0): tetap di Q0 dg mengkonsumsi input 0 (string menjadi hanya “w”) dengan kondisi stack bertambah menjadi 0Z0 Contoh: String “010” menjadi “10” Stack menjadi: TBO - PDA 9/20/2018

(Q0, , 1) = (Q1, 1) Kondisi (Q0, w, 1): sedang berada di state Q0, memiliki input string w dan stack dg TOP=1 Dapat berubah menjadi (Q1, w, 1): menuju Q1 dg tanpa mengkonsumsi input (-move) dengan kondisi stack juga tetap (TOP=1) TBO - PDA 9/20/2018

PDA Solution Contoh string: 1001 Q3 Q0 Q1 Q2 start Stack: TBO - PDA 9/20/2018

PDA Solution: Step 1 1001 Q3 Q0 Q1 Q2 start 1 Stack: 1, Z0/1Z0 TBO - PDA 9/20/2018

PDA Solution: Step 2 1001 Q3 Q0 Q1 Q2 start 1 Stack: 0, 1/01 TBO - PDA 1 Stack: TBO - PDA 9/20/2018

PDA Solution: Step 3 1001 Q3 Q0 Q1 Q2 start , 0/0 1 Stack: TBO - PDA 1 Stack: TBO - PDA 9/20/2018

PDA Solution: Step 4 1001 Q3 Q0 Q1 Q2 0, 0/ start 1 Stack: TBO - PDA 9/20/2018

PDA Solution: Step 5 1001 Q3 Q0 Q1 Q2 1, 1/ start Stack: TBO - PDA 9/20/2018

PDA Solution: Step 6 1001 Q3 Q0 Q1 Q2 start , Z0/Z0 Stack: TBO - PDA 9/20/2018

PDA Solution: Finish 1001  Diterima Q3 Q0 Q1 Q2 Note: PDA  NFA-, maka terdapat berbagai alternatif di setiap input, sehingga tinggal dipilih alternatif yg menuju final. Q3 Q0 Q1 Q2 start Stack: TBO - PDA 9/20/2018

Instantaneous Description (ID) ID: Tuple 3 elemen (q, w, ): q = state saat ini w = input tersisa  = TOP, isi teratas dari stack Contoh: (Q1, 011, X) Kondisi saat ini sedang berada di Q1 dengan input “011” dan isi stack berupa X Akan bisa menjadi (Q2, 11, 0X) jika terdapat fungsi transisi dari Q1 ke Q2 dengan alfabet 0 dan syarat stack berisi X. (Q1, 0, X) = (Q2, 0X) Dapat ditulis: (Q1, 011, X) ⊦ (Q2, 11, 0X) TBO - PDA 9/20/2018

Langauge of PDA Jenis PDA dari cara mengenal bahasa: Diterima oleh Final State: suatu string diterima jika akhirnya mencapai final state. Diterima oleh Empty Stack: suatu string diterima jika akhirnya stack kosong. Dapat saling ditransformasi Jika P adalah sebuah PDA: L(P) adalah himpunan string yang dapat mencapai final state  (q0, w, Z0) ⊦* (f, , ),  dapat berupa bagaimanapun kondisi stack. N(P) adalah himpunan string yang dapat mengosongkan stack  (q0, w, Z0) ⊦* (q, , ), q dapat berupa state manapun. TBO - PDA 9/20/2018

Exercise (1) Jika PDA P = ({q,r}, {0,1}, {Z0, X}, , q, Z0, {r}) dengan fungsi transisi: (q, 0, Z0) = (q, XZ0) // push X (q, 0, X) = (q, XX) // push X (q, 1, X) = (q, X) // no stack ops (q, , X) = (r, ) // pop X (r, , X) = (r, ) // pop X (r, 1, X) = (r, XX) // push X (r, 1, Z0) = (r, ) // pop anything TBO - PDA 9/20/2018

Gambarlah PDA-nya. Berawal dari ID = (q, w, Z0), tunjukkan semua ID yang dapat dijangkau ketika: w = 0 contoh: ID = (q, , XZ0) w = 01 w = 0011 w = 010 TBO - PDA 9/20/2018

Exercise (2) Rancanglah sebuah PDA untuk menerima bahasa L = {0n1n | n>0} L = {aibjck | i = j atau j = k} TBO - PDA 9/20/2018

Exercise (3) (q0, b, Z0) = (q1, BZ0) (q0, , Z0) = (f, BZ0) PDA P: ({q0, q1, q2, q3, f}, {a,b}, {Z0, A, B}, , q0, Z0, {f}) dengan fungsi transisi: (q0, a, Z0) = (q1, AAZ0) (q0, b, Z0) = (q1, BZ0) (q0, , Z0) = (f, BZ0) (q1, a, A) = (q1, AAA) (q1, b, A) = (q1, ) (q1, , Z0) = (q0, Z0) (q2, a, B) = (q3, ) (q2, b, B) = (q3, BB) (q2, , Z0) = (q0, Z0) (q3, , B) = (q2, ) (q3, , Z0) = (q2, AZ0) TBO - PDA 9/20/2018

Tentukan langkah eksekusi (ID) yang menunjukkan bahwa string “bab” ada dalam L(P). Tentukan L(P) Tentukan N(P) TBO - PDA 9/20/2018