Teori Bahasa Formal dan Automata

Please download to get full document.

View again

of 20
5 views
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.

Download

Document Related
Document Description
Teori Bahasa Formal dan Automata Pertemuan 11 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Konversi antar 2 Jenis PDA Ekivalensi PDA dan CFG HUBUNGAN
Document Share
Document Transcript
Teori Bahasa Formal dan Automata Pertemuan 11 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Konversi antar 2 Jenis PDA Ekivalensi PDA dan CFG HUBUNGAN L(M) & N(M) L(M) Bahasa State Final N(M) Bahasa State Kosong Jika L = N(M), untuk beberapa PDA Bahasa Stack Kosong, maka terdapat terdapat PDA Bahasa State Final yang mana L = L(M). Begitu juga sebaliknya. Jika L = L(M), untuk beberapa PDA State Final, maka terdapat PDA Stack Kosong yang mana L = N(M). KONVERSI L(M) KE N(M) Ide : Jika diberikan M 1 = (Q,, Γ, δ, q 0, Z 0, F), maka akan dibangun M 2 = (Q 2,, Γ 2, δ 2, p 0, X 0, ) Dengan Q 2 = Q U {p 0, r} dan Γ 2 = Γ U {X 0 } Ide Penambahan Transisi: Mulai dari p 0 dengan X 0 di stack Pindah ke q 0 dengan Z 0 X 0 di stack Melakukan proses yang ada di M 1 Dari setiap state final yang ada di M 1, tambahkan transisi ke r yang berfungsi untuk mengosongkan stack. KONVERSI L(M) KE N(M) X 0 akan mencegah penerimaan tak terduga dari M 2 jika stack M 1 tiba-tiba kosong karena penolakan. Catatan : * pada gambar mengartikan sembarang simbol stack LATIHAN 1 Diberikan PDA P = ({q 0, q 1, q 2, q 3, f }, {a, b}, {Z 0, A, B}, δ, q 0, Z 0, { f }) δ(q 0, a, Z 0 ) = (q 1, AAZ 0 ) δ(q 0, b, Z 0 ) = (q 2, BZ 0 ) δ(q 0, ε, Z 0 ) = (f, ε) δ(q 1, a, A) = (q 1, AAA) δ(q 1, b, A) = (q 1, ε) δ(q 1, ε, Z 0 ) = (q 0, Z 0 ) δ(q 2, a, B) = (q 3, ε) δ(q 2, b, B) = (q 2, BB) δ(q 2, ε, Z 0 ) = (q 0, Z 0 ) δ(q 3, ε, B) = (q 2, ε) δ(q 3, ε, Z 0 ) = (q 1, AZ 0 ) Bangunlah sebuah PDA Stack Kosong dari PDA State Final di atas! KONVERSI N(M) KE L(M) Ide : Jika diberikan M 2 = (Q,, Γ, δ, q 0, Z 0, ), maka akan dibangun M 1 = (Q 1,, Γ 1, δ 1, p 0, X 0, F 1 ) Dengan Q 1 = Q U {p 0, f }, Γ 1 = Γ U {X 0 } dan F 1 = { f } Ide Penambahan Transisi: Mulai dari p 0 dengan X 0 di stack Pindah ke q 0 dengan Z 0 X 0 di stack Melakukan proses yang ada di M 2 Ketika M 2 sudah mulai mengosongkan stack, maka X 0 akan terlihat Dari setiap state yang ada di M 2, tambahkan ε-move ke f ketika X 0 sudah berada di puncak stack. KONVERSI N(M) KE L(M) LATIHAN 2 Diberikan PDA M = (Q,, Γ, δ, q 0, Z 0, F) dengan Q = {q 0, q 1, q 2 }, = {a, b}, Γ = {Z0, A, B}, F = serta δ sebagai berikut: δ(q 0, a, Z 0 ) = (q 1, BBZ 0 ) δ(q 1, ε, Z 0 ) = (q 0, ε) δ(q 2, ε, Z 0 ) = (q 0, ε) δ(q 0, b, Z 0 ) = (q 2, AAZ 0 ) δ(q 1, b, B) = (q 1, ε) δ(q 2, a, A) = (q 2, ε) δ(q 1, a, Z 0 ) = (q 1, BBZ 0 ) δ(q 2, a, Z 0 ) = (q 1, BBZ 0 ) δ(q 1, b, Z 0 ) = (q 2, AAZ 0 ) δ(q 2, b, Z 0 ) = (q 2, AAZ 0 ) Bangunlah sebuah PDA State Final dari PDA Stack Kosong di atas! EKIVALENSI : CFL KE PDA Untuk menyimulasikan CFG/CFL di PDA, akan digunakan N(M), bahasa stack kosong, karena proses akan lebih mudah. Teorema : Jika L adalah CFL maka L = N(M) untuk suatu PDA M Ide : PDA M menyimulasikan derivasi leftmost di G untuk input w, sedemikian hingga pada setiap langkah derivasi sentential form direpresentasikan oleh: Barisan simbol yang dikonsumsi dari input w oleh M Diikuti oleh isi dari stack M EKIVALENSI : CFL KE PDA Diberikan CFG G = (V, T, P, S) maka dapat dibangun PDA M = (Q,, Γ, δ, q 0, Z 0, ) dengan Q = {q}, q 0 = q, = T, Γ = V U T dan Z 0 = S. Transisi δ dapat didefinisikan dalam dua tipe: Jika terminal a di puncak stack, maka diharapkan melihat a di input dan mengonsumsi keduanya. (akibat: tidak ada perubahan di sentential form) Jika variabel A di puncak stack, maka ganti ia dengan RHS dari semua kemungkinan aturan produksi. (akibat: tidak ada perubahan pada string) Maka akan ada 2 macam transisi: a T δ q, a, a = { q, ε } A V δ q, ε, A = { q, α 1,, q, α k } di mana A α 1 α k ada di P EKIVALENSI : CFL KE PDA Contoh : perhatikan grammar G berikut S AS ε A 0A1 A1 01 PDA M = ({q}, {0, 1}, {0, 1, A, S}, δ, q, S, ) dengan : δ(q, ε, S) = {(q, AS), (q, ε)} δ(q, ε, A) = {(q, 0A1), (q, A1), (q, 01)} δ(q, 0, 0) = {(q, ε)} δ(q, 1, 1) = { (q, ε)} Buktikan apakah w = 011 diterima oleh CFG dan PDA tersebut Catatan : lakukan derivasi leftmost pada CFG LATIHAN 3 Ubahlah grammar berikut S 0S1 A A 1A0 S ε Menjadi suatu PDA yang dapat menerima bahasa yang sama dengan PDA stack kosong. Buktikan apakah string w = diterima dengan CFG ataupun PDA yang terbentuk! EKIVALENSI : PDA KE CFL Teorema : Jika L = N(M) untuk suatu PDA M, maka L adalah CFL. Ide : akan dimati kejadian mendasar dari pemrosesan PDA : Ketika PDA mengkonsumsi suatu simbol input, maka akan ada proses POP ke satu simbol stack Selanjutnya PDA memungkinkan untuk berpindah ke state lain Maka itu akan diusulkan suatu format penulisan variabel dalam CFG yang dapat menggambar proses transisi dari suatu PDA [pxq] mengambarkan proses transisi dengan berpindah dari suatu state p ke state q, dengan melakukan POP simbol X di stack EKIVALENSI : PDA KE CFL Secara Formal : Jika diberikan PDA M = (Q,, Γ, δ, q 0, Z 0, F), dapat dibangun G = (V, T, P, S), dimana V = { [pxq] : {p, q} Q, X Γ} U {S} P = {S [q 0 Z 0 p] : p Q} U { [qxr k ] a [ry 1 r 1 ] [r k-1 Y k r k ] } Dimana a U {ε}, {r 1,,r k } Q, δ(q, a, X) = (r, Y 1 Y 2 Y k ). EKIVALENSI : PDA KE CFL Contoh : Jika diberikan PDA berikut dan diminta untuk merubah ke CFG Ingat bahwa kita harus menyusun CFG yang terdiri (V, T, P, S) T = {i, e} V = {[qzq], S] Aturan produksi (P) meliputi: Rumusan formal S [qzq] δ(q, i, Z) = (q, ZZ) [qzq] i [qzq] [qzq] δ(q, e, Z) = (q, ε) [qzq] e EKIVALENSI : PDA KE CFL LATIHAN BERSAMA : Jika diberikan PDA P = ({p, q}, {0, 1}, {X, Z 0 }, δ, q, Z 0 ) yang mana transisi adalah: 1. δ(q, 1, Z 0 ) = {(q, XZ 0 )} 2. δ(q, 1, X) = {(q, XX)} 3. δ(q, 0, X) = {(p, X)} 4. δ(q, ε, X) = {(q, ε)} 5. δ(p, 1, X) = {(p, ε)} 6. δ(p, 0, Z 0 ) = {(q, Z 0 )} Ubahlah PDA tersebut ke dalam bentuk CFG EKIVALENSI : PDA KE CFL PUSTAKA John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction To Automata Theory, Languages, and Computation Dr.-Ing. Reza Pulungan, M.Sc. Bahan Ajar Teori Komputasi. JIKE UGM. Terima Kasih!
Search Related
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks