Algoritma CYK CockeYoungerKasami Otomata dan Peng Kompilasi Algoritma

  • Slides: 13
Download presentation
Algoritma CYK (Cocke-Younger-Kasami) Otomata dan Peng. Kompilasi

Algoritma CYK (Cocke-Younger-Kasami) Otomata dan Peng. Kompilasi

Algoritma CYK untuk Tata Bahasa Bebas Konteks • Algoritma parsing dan keanggotaan ( membership)

Algoritma CYK untuk Tata Bahasa Bebas Konteks • Algoritma parsing dan keanggotaan ( membership) untuk tata bahasa bebas konteks. • Diciptakan oleh J. Cocke, DH. Younger, dan T. Kasami. • Syarat : tata bahasa harus berada dalam bentuk normal Chomsky. • Obyektif : untuk menunjukkan apakah suatu string dapat diperoleh dari suatu tata bahasa. Teknik Informatika UPNVY 2

Bentuk CNF (Chomsky Normal Form) Aturan produksi dalam bentuk normal Chomsky ruas kanannya tepat

Bentuk CNF (Chomsky Normal Form) Aturan produksi dalam bentuk normal Chomsky ruas kanannya tepat berupa sebuah terminal atau dua variable (non terminal). Misalkan: A BC A b B a C BA | d

Kasus 1 : Diberikan aturan produksi P sbb : S AB | BC A

Kasus 1 : Diberikan aturan produksi P sbb : S AB | BC A BA | a B CC | b C AB | a Ditanyakan “baaba” dpt dihasilkan dari P tidak? S BC b. AB ba. CC ba. ABC baaba (terbukti bisa dihasilkan dari P dgn cara derivasi)

Alternatif algoritma CYK • Langkah-langkah CYK : 1. Siapkan tabel segitiga atas sesuai persoalannya

Alternatif algoritma CYK • Langkah-langkah CYK : 1. Siapkan tabel segitiga atas sesuai persoalannya (baaba punya 5 digit/satuan) 1 2 3 4 5 b a a b a 1 2 3 4 5

Alternatif algoritma CYK 2. Utk baris 1, Lihat ruas kiri pada aturan P dari

Alternatif algoritma CYK 2. Utk baris 1, Lihat ruas kiri pada aturan P dari persoalan “baaba” 1 2 3 4 5 b a a b a 1 2 3 4 5 B A, C

Alternatif algoritma CYK 3. Utk baris 2 dan seterusnya, gunakan tabel bantuan berikut ini.

Alternatif algoritma CYK 3. Utk baris 2 dan seterusnya, gunakan tabel bantuan berikut ini. Gabung R. Kiri

4. Lakukan langkah turun dan naik kanan untuk menelusuri string/kalimat 2 b 1 1

4. Lakukan langkah turun dan naik kanan untuk menelusuri string/kalimat 2 b 1 1 B 2 A, S 3 4 5 Ø a 2 a 3 b 4 A, C B B S, C A, S B B a 5 A, C R. Kiri B A, C BA, BC A, S A, C AA, AC, CA, CC B A, C B AB, CB S, C B 3 Gabung A, C BA, BC B B A, S A, C BB AA, AC, SA, SC A, C S, C B B A, C A, S S, C AS, AC, CS, CC BB AA, AS, CA, CC SA, SC, CA, CC A, S Ø B B

5. Lanjutan sebelumnya b a 1 2 3 4 5 1 B A, C

5. Lanjutan sebelumnya b a 1 2 3 4 5 1 B A, C 2 A, S B S, C A, S 3 Ø B B 4 Ø S, C, A 5 A, S, C Gabung 4 5 B B A, S S, C Ø B A, C B B A, S B A, C BB AS, AC, SS, SC B AB, CB BA, BS BA, BC B S, C, A A, S B Ø A, S Ø A, C BS, BC, BA AB, SB A, S A, C R. Kiri Ø S, C, A A, S, C

Memastikan diterima atau tidak… Cara memastikan sebuah string/kalimat itu dihasilkan dari sebuah aturan produksi

Memastikan diterima atau tidak… Cara memastikan sebuah string/kalimat itu dihasilkan dari sebuah aturan produksi P adalah dengan melihat baris terakhir kolom pertama. Jika pada field tsb ada S (initial state) maka string/kalimat tsb diterima atau dihasilkan dari aturan produksi P. b a a b a 1 2 3 4 5 1 B A, C 2 A, S B S, C A, S 3 Ø B B 4 Ø S, A, C 5 A, S, C Ada S Teknik Informatika UPNVY 10

Algoritma CYK begin for i: = 1 to n do Vi 1 : =

Algoritma CYK begin for i: = 1 to n do Vi 1 : = {A| A a aturan produksi dimana simbol ke- i adalah a }; for j: = 2 to n do for i: = 1 to (n-j+1) do begin Vij: =Ø; for k: =1 to (j – 1) do Vij: = Vij υ ( A | A BC adalah suatu produksi, dimana B di Vik dan C di Vi+k, j-k } end Teknik Informatika UPNVY 11

Renungkan, cermati, kerjakan dikumpulkan GRUP NIM GANJIL GRUP NIM GENAP S AB | b

Renungkan, cermati, kerjakan dikumpulkan GRUP NIM GANJIL GRUP NIM GENAP S AB | b A BA | a B AS | b S AB | BC A BA | a B CC | b C AB | a Ditanyakan “aaab” Ditanyakan “aabab” Jika memang diterima/dihasilkan dari aturan produksi tsb, buktikan juga secara derivasi Teknik Informatika UPNVY 12

Referensi Utama Firrar Utdirartatmo, Teori Bahasa dan Otomata, JJ Learning, 2001 Firrar Utdirartatmo, Teknik

Referensi Utama Firrar Utdirartatmo, Teori Bahasa dan Otomata, JJ Learning, 2001 Firrar Utdirartatmo, Teknik Kompilasi, JJ Learning, 2001 Pendamping Aho, Ulman. The Teory of Parsing Translation And Compiling. Prentice-Hall. 1972 Grune , Modern Compiler Design, John Wiley and Sons , 2002 Peter Linz, An Introduction to Formal Language and Automata, DC Healt & Co, 1990 S AB -> a. AS -> aa. AB -> aaab S AB -> a. CC -> a. ABC -> aab. AB -> aabab Teknik Informatika UPNVY 13