Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

11. BENTUK NORMAL CHOMSKY. 11. 1 Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki: i)Produksi.

Presentasi serupa


Presentasi berjudul: "11. BENTUK NORMAL CHOMSKY. 11. 1 Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki: i)Produksi."— Transcript presentasi:

1 11. BENTUK NORMAL CHOMSKY

2 11. 1 Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki: i)Produksi useless ii)Produksi unit iii)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: i)Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky ii)Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa terminal yang panjangnya > 1 iii)Lakukan penggantian aturan produksi yang mempunyai ruas kanan berupa variabel yang panjangnya > 2 iv)Penggantian ii) dan iii) dapat dilakukan berkali-kali sampai aturan prosuksi mencapai bentuk normal Chomsky. v)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 Penggantian simbol variabel pada aturan produksi pada ruas kanan > 2 CFG

5 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  P 1 A S  aB  S  P 2 B A  bAA  A  P 1 AA  A  P 1 P 3 A  aS  A  P 2 S B  aBB  B  P 2 BB  B  P 2 P 4 B  bS  B  P 1 S Terbentu aturan produksi baru: P 1  b P 2  a P 3  AA P 4  BB

7 Hasil ahir aturan produksi dalam CNF adalah: A  a B  b S  P 1 A S  P 2 B A  P 1 P 3 A  P 2 S B  P 2 P 4 B  P 1 S P 1  b P 2  a P 3  AA P 4  BB

8 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  P 1 B A  bc  A  P 2 P 3 B  Ab  B  AP 2 C  aB  C  P 1 B Terbentu aturan produksi baru: P 1  a P 2  b P 3  c

10 Hasil ahir aturan produksi dalam CNF adalah: S  CA A  a B  BC C  b S  P 1 B A  P 2 P 3 B  AP 2 C  P 1 B P 1  a P 2  b P 3  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 D  i

12 Penggantian aturan produksi: S  aAB ⇒ S  P 1 P 2 S  ch ⇒ S  P 3 P 4 A  dbE ⇒ A  P 5 P 6 A  eEC ⇒ A  P 8 P 9 B  ff ⇒ B  P 10 P 10 C  ADB ⇒ C  AP 11 C  aS ⇒ C  P 1 S E  jD ⇒ E  P 12 D Aturan produksi baru: P 1  a P 2  AB P 3  c P 4  h P 5  d P 6  P 7 E P 7  b P 8  e P 9  EC P 10  f P 11  DB P 12  j

13 Bentuk Normal Chomsky: S  CD B  DD D  i S  P 1 P 2 S  P 3 P 4 A  P 5 P 6 A  P 8 P 9 B  P 10 P 10 C  AP 11 C  P 1 S E  P 12 D P 1  a P 2  AB P 3  c P 4  h P 5  d P 6  P 7 E P 7  b P 8  e P 9  EC P 10  f P 11  DB P 12  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 1.for i := 1 to n do 2.V i1 := {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 begin V ij :=  ; for k:= 1 to (j-1) do V ij := V ij  { A|A  BC adalah suatu produksi, dimana B di V ik dan C di V i+k, j-k } end

16 Penjelasan: 1.n adalah panjang untai yang akan diperiksa, misal untai ‘baaba’, n = |baaba| = 5 2.i menyatakan kolom ke … 3.j menyatakan baris ke …. 4.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 V ij dengan  8. Pernyataan no. 6 dan 7 iterasi untuk memeriksa mana saja yang menjadi anggota V ij.

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 V 1n harus memuat simbol awal

18 baaba i  jj V 11 V 21 V 31 V 41 V 51 2V 12 V 22 V 32 V 42 3V 13 V 23 V 33 4V 14 V 24 5V 15 i  ( 1 – 5) j  1 – 5)

19 baaba i  jj Untuk mengisi sel V 11, periksa aturan produksi yang menghasilkan ‘b’. Dari B  b kita isi V 11 = {B}

20 baaba i  jj B Untuk mengisi sel V 11, perika aturan produksi yang menghasilkan ‘b’. Dari B  b kita isi V 11 = {B}

21 baaba i  jj B Untuk mengisi sel V 21, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 21 = {A,C}

22 baaba i  jj BA, C Untuk mengisi sel V 21, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 21 = {A,C}

23 baaba i  jj BA, C Untuk mengisi sel V 31, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 31 = {A,C}

24 baaba i  jj BA, C Untuk mengisi sel V 31, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 31 = {A,C}

25 baaba i  jj BA, C Untuk mengisi sel V 41, periksa aturan produksi yang menghasilkan ‘b’. Dari B  b kita isi V 41 = {A,C}

26 baaba i  jj BA, C B Untuk mengisi sel V 41, periksa aturan produksi yang menghasilkan ‘b’. Dari B  b kita isi V 41 = {A,C}

27 baaba i  jj BA, C B Untuk mengisi sel V 51, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 51 = {A,C}

28 baaba i  jj BA, C B Untuk mengisi sel V 51, periksa aturan produksi yang menghasilkan ‘a’. Dari A  a dan C  a kita isi V 51 = {A,C}

29 baaba i  jj BA, C B Pengisian baris selanjutnya. Pengisian V ij, periksa V ik, V i+k, j–k

30 baaba i  j  BA, C B Pengisian baris ke 2 (k = 1). Pengisian V 12, periksa V 11 -V 1+1, 2–1  V 11 -V 21. Dari V 11, V 21 menghasilkan BA atau BC. Variabel yang dapat menurunkan BA atau BC adalah S dan A

31 baaba i  j  BA, C B 2S, A Pengisian baris ke 2 (k = 1). Pengisian V 12, periksa V 11 -V 1+1, 2–1  V 11 -V 21. Dari V 11, V 21 menghasilkan BA atau BC. Variabel yang dapat menurunkan BA atau BC adalah S dan A

32 baaba i  j  BA, C B 2S, A Pengisian baris ke 2 (k = 1). Pengisian V 22, periksa V 21 -V 2+1, 2–1  V 21 -V 31. Dari V 21, V 31 menghasilkan AA, AC, CA, atau CC. Variabel yg dapat menurunkan AA, AC, CA, atau CC adalah B

33 baaba i  j  BA, C B 2S, AB Pengisian baris ke 2 (k = 1). Pengisian V 22, periksa V 21 -V 2+1, 2–1  V 21 -V 31. Dari V 21, V 31 menghasilkan AA, AC, CA, atau CC. Variabel yg dapat menurunkan AA, AC, CA, atau CC adalah B

34 baaba i  j  BA, C B 2S, AB Pengisian baris ke 2 (k = 1). Pengisian V 32, periksa V 31 -V 3+1, 2–1  V 31 -V 41. Dari V 31, V 41 menghasilkan AB, atau CB. Variabel yg dapat menurunkan AB atau CB adalah S dan C

35 baaba i  j  BA, C B 2S, ABS, C Pengisian baris ke 2 (k = 1). Pengisian V 32, periksa V 31 -V 3+1, 2–1  V 31 -V 41. Dari V 31, V 41 menghasilkan AB, atau CB. Variabel yg dapat menurunkan AB atau CB adalah S dan C

36 baaba i  j  BA, C B 2S, ABS, C Pengisian baris ke 2 (k = 1). Pengisian V 42, periksa V 41 -V 4+1, 2–1  V 41 -V 51. Dari V 41, V 51 menghasilkan BA, BC. Variabel yang dapat menurunkan BA atau BC S dan A

37 baaba i  j  BA, C B 2S, ABS, CS,A Pengisian baris ke 2 (k = 1). Pengisian V 42, periksa V 41 -V 4+1, 2–1  V 41 -V 51. Dari V 41, V 51 menghasilkan BA, BC. Variabel yang dapat menurunkan BA atau BC S dan A

38 baaba i  j  BA, C B 2S, ABS, CS,A Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 13, periksa V 11 -V 22 dan V 12 -V 31, menghasilkan BB, SA, SC, AA, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada atau .

39 baaba i  j  BA, C B 2S, ABS, CS,A 3  4 5 Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 13, periksa V 11 -V 22 dan V 12 -V 31, menghasilkan BB, SA, SC, AA, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada atau .

40 baaba i  j  BA, C B 2S, ABS, CS,A 3  4 5 Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 23, periksa V 21 -V 32 dan V 22 -V 41, menghasilkan AS, AC, CS, CC, atau BB. Variabel yg dapat menurunkan variabel tsb. adalah variabel B

41 baaba i  j  BA, C B 2S, ABS, CS,A 3  B 4 5 Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 23, periksa V 21 -V 32 dan V 22 -V 41, menghasilkan AS, AC, CS, CC, atau BB. Variabel yg dapat menurunkan variabel tsb. adalah variabel B

42 baaba i  j  BA, C B 2S, ABS, CS,A 3  B 4 5 Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 33, periksa V 31 -V 42 dan V 32 -V 51, menghasilkan AS, AA, CS, CA, SA, SC, CA, atau CC. Variabel yg dapat menurunkan variabel tsb. Adalah B.

43 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4 5 Pengisian baris ke 3 (k = 1 sampai 2). Pengisian V 33, periksa V 31 -V 42 dan V 32 -V 51, menghasilkan AS, AA, CS, CA, SA, SC, CA, atau CC. Variabel yg dapat menurunkan variabel tsb. Adalah B.

44 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4 5 Pengisian baris ke 4 (k = 1 sampai 3). Pengisian V 14, periksa V 1 1 -V 23, V 12 -V 32, dan V 13 -V 41 menghasilkan BB, SS, SC, AS, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada.

45 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  5 Pengisian baris ke 4 (k = 1 sampai 3). Pengisian V 14, periksa V 1 1 -V 23, V 12 -V 32, dan V 13 -V 41 menghasilkan BB, SS, SC, AS, atau AC. Variabel yg dapat menurunkan variabel tsb. tidak ada.

46 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  5 Pengisian baris ke 4 (k = 1 sampai 3). Pengisian V 24, periksa V 21 -V 33, V 22 -V 42, dan V 23 -V 51 menghasilkan AB, CB, BS, BA, atau AC. Variabel yg dapat menurunkan variabel tsb. S, A, C.

47 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  S, A, C 5 Pengisian baris ke 4 (k = 1 sampai 3). Pengisian V 24, periksa V 21 -V 33, V 22 -V 42, dan V 23 -V 51 menghasilkan AB, CB, BS, BA, atau AC. Variabel yg dapat menurunkan variabel tsb. S, A, C.

48 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  S, A, C 5 Pengisian baris ke 5 (k = 1 sampai 4). Pengisian V 15, periksa V 11 -V 24, V 12 -V 33, V 13 -V 42 dan V 14 -V 51 menghasilkan BS, BA, BC, SB, atau AB. Variabel yg dapat menurunkan variabel tsb. S, A, C

49 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  S, A, C 5 Pengisian baris ke 5 (k = 1 sampai 4). Pengisian V 15, periksa V 11 -V 24, V 12 -V 33, V 13 -V 42 dan V 14 -V 51 menghasilkan BS, BA, BC, SB, atau AB. Variabel yg dapat menurunkan variabel tsb. S, A, C

50 baaba i  j  BA, C B 2S, ABS, CS,A 3  BB 4  S, A, C 5 Pengisian baris ke 5 (k = 1 sampai 4). Karena V 15 memuat simbol awal maka maka untai ‘baaba’ termasuk ke dalam tata bahasa bebas konteks diatas

51 Latihan 1.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


Download ppt "11. BENTUK NORMAL CHOMSKY. 11. 1 Pengertian Tata bahasa bebeas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tidak memiliki: i)Produksi."

Presentasi serupa


Iklan oleh Google