Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Push Down Automata (PDA)
Pertemuan 11 Mahasiswa mampu menerapkan konsep & definisi mekanisme Kerja Push Down Automata (PDA)
2
Materi Mekanisme Kerja Push Down Automata (PDA)
Push Down Automata (PDA) untuk suatu tata Bahasa Bebas Konteks
3
Mekanisme Kerja Push Down Automata (PDA)
Agar dapat menggunakan model automata pada bahasa context free, maka diperlukan: Sebuah stack atau memori push down yang dapat menyimpan sederetan simbol dengan panjang yang sebarang dan tak berhingga. Selama proses pembacaan simbol pada stack, simbol teratas pada sebuah stack PDA memiliki kemungkinan sebagai berikut: Stack tidak dapat diubah, atau Simbol pada stack teratas akan dihapus (pop) dan digantikan dengan simbol yang lain (push).
4
Pushdown Automaton -- PDA
String Masukan Tumpukan Keadaan
5
Simbol Tumpukan Awal Tumpukan Tumpukan Kepala Tumpukan atas
Simbol khusus penanda posisi dasar Sudah ada saat waktu ke-0
6
7 tupel pada PDA M = (Q, ∑, Г, Δ, S, F, Z) Q = himpunan state ∑ = himpunan simbol input Г = simbol – simbol tumpukan / stack Δ = fungsi transisi S = state awal F = state akhir Z = simbol awal tumpukan
7
Contoh Q ={ q1, q2} ∑ ={a,b} Г = {A, B, Z} S = q1 F ={ q2} Z = Z Apakah string “abba” diterima? Δ( 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)}
8
Penyelesaian A Z 1. State awal q1, Top Stack Z, Input String “a” Δ( q1, a, z) = {( q1, Az)} push A 2. Input string “b” dengan tumpukan A Δ( q1, b, A) = {( q1, ε)} pop A 3. Input string “b” dengan tumpukan Z Δ( q1, b, z) = {( q1, Bz)} push B 4. Input string “a” dengan tumpukan B Δ( q1, a, B) = {( q1, ε)} pop B 5. Semua input telah selesai dibaca Δ( q1, ε, z) = {( q2, z)} Kesimpullan diterima : berakihir di state akhir {( q2, z)} Z B Z Z
9
Push Down Automata (PDA) untuk suatu tata Bahasa Bebas Konteks
Contoh : D → aDA | bDb | c Dapatkah menerima string “aca” Dapat dikontruksikan PDA- nya : Terdapat 3 produksi : D → aDA D → bDb D → c Sehingga ada 3 state, maka : Q = {q0, q1, q2} S = q0 F= {q3 } ∑ = {a, b, c} Г = { D, a, b, c, Z} Fungsi transisi Г = { D, a, b, c, Z} : Transisi D : D → aDA | bDb | c Δ( q0, ε, z) = {( q1, Dz)} Δ( q1, ε, D) = {( q1, aDa)}, {( q1, bDb)}, {( q1, c)} 3. Transisi a, b, c Δ( q1, a, a) = Δ( q1, b, b)=Δ( q1, c, c) = {( q1, ε )} 4. Transisi Z Δ( q1, ε, z) = {( q2, z)}
10
Menerima string “aca” D → aDA ⟹ aca Δ( q0, ε, z) = {( q1, Dz)}
Δ( q1, ε, D) = {( q1, aDa)} Δ( q1, a, a) = {( q1, ε )} Δ( q1, ε, D) = {( q1, c)} Δ( q1, c, c) = {( q1, ε )} Δ( q1, ε, z) = {( q2, z)} String di terima
11
Deskripsi Instan / Seketika
Isi tumpukan saat ini Keadaan saat ini Input tersisa
12
deskripsi seketika untuk string “aca”
( q0, aca, z) |- ( q1, aca, Dz) |- ( q1, aca, aDaz) |- ( q1, ca, Daz) |- ( q1, ca, caz) |- ( q1, a, az) |- ( q1, ε, z) |- ( q2, ε, z)
13
Contoh PDA yang lain The States
Simbol ‘pop’ Simbol Masukan Simbol ‘push’
14
Masukan atas Tumpukan Gantikan
15
Masukan Tumpukan atas Push
16
Masukan Tumpukan atas Pop
17
Masukan Tumpukan atas No Change
18
Tidak ada transisi setelah
Tumpukan Kosong Masukan Tumpukan atas kosong Pop Keadaan HALTS Tidak ada transisi setelah
19
Transisi seperti ini dapat terjadi:
Masukan Tumpukan Pop atas
20
PDA adalah non-deterministik
21
Contoh PDA PDA
22
Ide pokok: 2. Cocokkan ‘b’ sbg input dg ‘a’ dlm tumpukan
1. Push ‘a’ ke dalam tumpukan 3. Cocok!
23
Contoh Eksekusi: Waktu ke-0 Masukan Tumpukan Keadaan saat ini
24
Waktu ke-1 Masukan Tumpukan
25
Waktu ke-2 Masukan Tumpukan
26
Waktu ke-3 Masukan Tumpukan
27
Waktu ke-4 Masukan Tumpukan
28
Waktu ke-5 Masukan Tumpukan
29
Waktu ke-6 Masukan Tumpukan
30
Waktu ke-7 Masukan Tumpukan
31
Waktu ke-8 Masukan Tumpukan diterima
32
Suatu string diterima jika:
Semua Masukan selesai dieksekusi DAN Keadaan terakhir merupakan keadaan yang diterima Pada keadaan akhir, isi tumpukan tidak diperdulikan (isi tumpukan dapat kosong)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.