Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
11. BENTUK NORMAL CHOMSKY
2
11. 1 Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki: Produksi useless Produksi unit Produksi Bentuk normal Chomsky mempunyai ruas kanan sebuah terminal atau dua variabel, seperti: A BC A b B a C BA | d
3
11. 2 Pembentukan bentuk normal Chomsky
Langkah-langkah pembentukan bentuk normal Chomsky: Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa terminal yang panjangnya > 1 Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa variabel yang panjangnya > 2 Penggantian ii) dan iii) dapat dilakukan berkali-kali sampai aturan prosuksi mencapai bentuk normal Chomsky. Selama melakukan penggantian, kemungkinan akan diperoleh aturan produksi dan variabel baru.
4
Proses pembentukan bentuk normal Chomsky
CFG yang sudah disederhanakan Bila perlu, buat variabel dan aturan produksi baru Penggantian simbol terminal pada aturan produksi pada ruas kanan > 1 Biarkan yang sudah CNF variabel pada aturan kanan > 2 CFG
5
S bA | aB A bAA | aS | a B aBB | bS | b
Contoh 11.1 Berikut adalah tata bahasa bebas konteks yang sudah disederhanakan. S bA | aB A bAA | aS | a B aBB | bS | b Dari aturan produksi diatas, aturan produksi yang sudah dalam bentuk normal Chomsky (CNF) adalah: A a B b
6
Aturan produksi yang belum dalam CNF adalah:
S bA S P1A S aB S P2B A bAA A P1AA A P1P3 A aS A P2S B aBB B P2BB B P2P4 B bS B P1S Terbentu aturan produksi baru: P1 b P2 a P3 AA P4 BB
7
Hasil ahir aturan produksi dalam CNF adalah:
A a B b S P1A S P2B A P1P3 A P2S B P2P4 B P1S P1 b P2 a P3 AA P4 BB
8
S aB | CA A a | bc B BC | Ab C aB | b
Contoh 11.2 Berikut adalah tata bahasa bebas konteks yang sudah disederhanakan. S aB | CA A a | bc B BC | Ab C aB | b Dari aturan produksi diatas, aturan produksi yang sudah dalam bentuk normal Chomsky (CNF) adalah: S CA A a B BC C b
9
Aturan produksi yang belum dalam CNF adalah:
S aB S P1B A bc A P2P3 B Ab B AP2 C aB C P1B Terbentu aturan produksi baru: P1 a P2 b P3 c
10
Hasil ahir aturan produksi dalam CNF adalah:
S CA A a B BC C b S P1B A P2P3 B AP2 C P1B P1 a P2 b P3 c
11
Contoh 11.3 Tata bahasa bebas konteks S aAB | ch | CD A dbE | eEC B ff | DD C ADB |aS D i E jD Aturan produksi yang sudah dalam bentuk CNF adalah: S CD B DD
12
Aturan produksi baru: P1 a P2 AB P3 c P4 h P5 d P6 P7 E P7 b P8 e P9 EC P10 f P11 DB P12 j Penggantian aturan produksi: S aAB ⇒ S P1 P2 S ch ⇒ S P3 P4 A dbE ⇒ A P5 P6 A eEC ⇒ A P8 P9 B ff ⇒ B P10 P10 C ADB ⇒ C AP11 C aS ⇒ C P1 S E jD ⇒ E P12 D
13
Bentuk Normal Chomsky:
S CD B DD D i S P1 P2 S P3 P4 A P5 P6 A P8 P9 B P10 P10 C AP11 C P1 S E P12 D P1 a P2 AB P3 c P4 h P5 d P6 P7 E P7 b P8 e P9 EC P10 f P11 DB P12 j
14
11.3 Algoritma CYK Algotima CYK diciptakan oleh J. Cocke, D.H.Younger, dan T. Kasami. Syarat untuk menggunakan algoritma ini adalah tata bahasa harus sudah dalam bentuk Normal Chomsky.
15
Algoritma CYK begin for i := 1 to n do Vi1 := {A|A a aturan produksi dimana simbol ke i adalah a}; 3. for j := 2 to n do 4. for i := 1 to (n – j + 1) do 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
16
Penjelasan: n adalah panjang untai yang akan diperiksa, misal untai ‘baaba’, n = |baaba| = 5 i menyatakan kolom ke … j menyatakan baris ke …. Pernyataan no. 1 dan 2 untuk mengisi tabel baris pertama kolom ke (1 – n) 5. Pernyataan no 3 iterasi dari baris ke 2 sampai n 6. Pernyataan no. 4 iterasi untuk mengisi kolom 1 sampai (n baris +1) pada suatu baris 7. Pernyataan no 5 inisialisasi Vij dengan 8. Pernyataan no. 6 dan 7 iterasi untuk memeriksa mana saja yang menjadi anggota Vij.
17
Contoh 11.4 Diketahui tata bahasa bebas konteks: S AB | BC A BA | a B CC | b C AB | a Periksa, apakah untai ‘baaba’ termasuk ke dalam bahasa tersebut. Penyelesaian: Syarat agar sebuah untai termasuk ke dalam tata bahasa tertentu adalah V1n harus memuat simbol awal
18
i ( 1 – 5) j 1 – 5) b a i j 1 2 3 4 5 V11 V21 V31 V41 V51 V12 V22 V32 V42 V13 V23 V33 V14 V24 V15
19
b a i j 1 2 3 4 5 Untuk mengisi sel V11, periksa aturan produksi yang menghasilkan ‘b’ . Dari B b kita isi V11 = {B}
20
b a i j 1 2 3 4 5 B Untuk mengisi sel V11, perika aturan produksi yang menghasilkan ‘b’ . Dari B b kita isi V11 = {B}
21
b a i j 1 2 3 4 5 B Untuk mengisi sel V21, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V21 = {A,C}
22
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V21, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V21 = {A,C}
23
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V31, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V31 = {A,C}
24
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V31, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V31 = {A,C}
25
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V41, periksa aturan produksi yang menghasilkan ‘b’ . Dari B b kita isi V41 = {A,C}
26
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V41, periksa aturan produksi yang menghasilkan ‘b’ . Dari B b kita isi V41 = {A,C}
27
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V51, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V51 = {A,C}
28
b a i j 1 2 3 4 5 B A, C Untuk mengisi sel V51, periksa aturan produksi yang menghasilkan ‘a’ . Dari A a dan C a kita isi V51 = {A,C}
29
Pengisian baris selanjutnya.
Pengisian Vij , periksa Vik, Vi+k, j–k b a i j 1 2 3 4 5 B A, C
30
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C Pengisian V12 , periksa V11 -V1+1, 2–1 V11 -V21. Dari V11, V21 menghasilkan BA atau BC. Variabel yang dapat menurunkan BA atau BC adalah S dan A
31
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A Pengisian V12 , periksa V11 -V1+1, 2–1 V11 -V21. Dari V11, V21 menghasilkan BA atau BC. Variabel yang dapat menurunkan BA atau BC adalah S dan A
32
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A Pengisian V22 , periksa V21 -V2+1, 2–1 V21 -V31. Dari V21, V31 menghasilkan AA, AC, CA, atau CC. Variabel yg dapat menurunkan AA, AC, CA, atau CC adalah B
33
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A Pengisian V22 , periksa V21 -V2+1, 2–1 V21 -V31. Dari V21, V31 menghasilkan AA, AC, CA, atau CC. Variabel yg dapat menurunkan AA, AC, CA, atau CC adalah B
34
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A Pengisian V32 , periksa V31 -V 3+1, 2–1 V31 -V41. Dari V31, V41 menghasilkan AB, atau CB. Variabel yg dapat menurunkan AB atau CB adalah S dan C
35
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A S, C Pengisian V32 , periksa V31 -V 3+1, 2–1 V31 -V41. Dari V31, V41 menghasilkan AB, atau CB. Variabel yg dapat menurunkan AB atau CB adalah S dan C
36
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A S, C Pengisian V42 , periksa V41 -V 4+1, 2–1 V41 -V51. Dari V41, V51 menghasilkan BA, BC. Variabel yang dapat menurunkan BA atau BC S dan A
37
Pengisian baris ke 2 (k = 1).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V42 , periksa V41 -V 4+1, 2–1 V41 -V51. Dari V41, V51 menghasilkan BA, BC. Variabel yang dapat menurunkan BA atau BC S dan A
38
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V13 , periksa V11 -V22 dan V12 -V31, menghasilkan BB, SA, SC, AA, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada atau .
39
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V13 , periksa V11 -V22 dan V12 -V31, menghasilkan BB, SA, SC, AA, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada atau .
40
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V23 , periksa V21 -V32 dan V22 -V41, menghasilkan AS, AC, CS, CC, atau BB. Variabel yg dapat menurunkan variabel tsb. adalah variabel B
41
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V23 , periksa V21 -V32 dan V22 -V41, menghasilkan AS, AC, CS, CC, atau BB. Variabel yg dapat menurunkan variabel tsb. adalah variabel B
42
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V33 , periksa V31 -V42 dan V32 -V51, menghasilkan AS, AA, CS, CA, SA, SC, CA, atau CC. Variabel yg dapat menurunkan variabel tsb. Adalah B.
43
Pengisian baris ke 3 (k = 1 sampai 2).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V33 , periksa V31 -V42 dan V32 -V51, menghasilkan AS, AA, CS, CA, SA, SC, CA, atau CC. Variabel yg dapat menurunkan variabel tsb. Adalah B.
44
Pengisian baris ke 4 (k = 1 sampai 3).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V14 , periksa V1 1-V23, V12 -V32, dan V13 -V41 menghasilkan BB, SS, SC, AS, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada.
45
Pengisian baris ke 4 (k = 1 sampai 3).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V14 , periksa V1 1-V23, V12 -V32, dan V13 -V41 menghasilkan BB, SS, SC, AS, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada.
46
Pengisian baris ke 4 (k = 1 sampai 3).
j 1 2 3 4 5 B A, C S, A S, C S,A Pengisian V24 , periksa V21 -V33, V22 -V42, dan V23 -V51 menghasilkan AB, CB, BS, BA, atau AC. Variabel yg dapat menurunkan variabel tsb. S, A, C.
47
Pengisian baris ke 4 (k = 1 sampai 3).
j 1 2 3 4 5 B A, C S, A S, C S,A S, A, C Pengisian V24 , periksa V21 -V33, V22 -V42, dan V23 -V51 menghasilkan AB, CB, BS, BA, atau AC. Variabel yg dapat menurunkan variabel tsb. S, A, C.
48
Pengisian baris ke 5 (k = 1 sampai 4).
j 1 2 3 4 5 B A, C S, A S, C S,A S, A, C Pengisian V15 , periksa V11 -V24, V12 -V33, V13 -V42 dan V14-V51 menghasilkan BS, BA, BC, SB, atau AB. Variabel yg dapat menurunkan variabel tsb. S, A, C
49
Pengisian baris ke 5 (k = 1 sampai 4).
j 1 2 3 4 5 B A, C S, A S, C S,A S, A, C Pengisian V15 , periksa V11 -V24, V12 -V33, V13 -V42 dan V14-V51 menghasilkan BS, BA, BC, SB, atau AB. Variabel yg dapat menurunkan variabel tsb. S, A, C
50
Pengisian baris ke 5 (k = 1 sampai 4).
j 1 2 3 4 5 B A, C S, A S, C S,A S, A, C Karena V15 memuat simbol awal maka maka untai ‘baaba’ termasuk ke dalam tata bahasa bebas konteks diatas
51
Latihan Transformasikan tata bahasa bebas konteks berikut kedalam CNF. S aSaA | A A abA | b 2. Gunakan algoritma CYK untuk memeriksa apakah untai ‘aabab’ termasuk dalam tata bahasa bebas konteks berikut. S AB | BC A BA | a B CC | b C AB | a
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.