1 / 39

11. BENTUK NORMAL CHOMSKY

11. BENTUK NORMAL CHOMSKY. 11. 1 Pengetian 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 :

Download Presentation

11. BENTUK NORMAL CHOMSKY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 11. BENTUK NORMAL CHOMSKY

  2. 11. 1 Pengetian Tata bahasabebeaskonteksdapatdibuatmenjadibentuk normal Chomsky dengansyarattidakmemiliki: Produksiuseless Produksi unit Produksi Bentuk normal Chomsky mempunyairuaskanansebuah terminal atauduavariabel, seperti: A  BC A  b B  a C  BA | d

  3. 11. 2 Pembentukanbentuk normal Chomsky Langkah-langkahpembentukanbentuk normal Chomsky: Biarkanaturanproduksi yang sudahdalambentuk normal Chomsky Lakukanpenggantianaturanproduksi yang mempunyairuaskananberupa terminal yang panjangnya > 1 Lakukanpenggantianaturanproduksi yang mempunyairuaskananberupavariabel yang panjangnya > 2 Penggantian ii) dan iii) dapatdilakukanberkali-kali sampaiaturanprosuksimencapaibentuk normal Chomsky. Selamamelakukanpenggantian, kemungkinanakandiperolehaturanproduksidanvariabelbaru.

  4. Prosespembentukanbentuk normal Chomsky Biarkan yang sudah CNF Bilaperlu, buat variabeldan aturanproduksi baru Penggantiansimbol terminal padaaturan prod. padaruas kanan > 1 CFG yang sudah disederhanakan CFG Penggantiansimbol variabelpadaaturan prod. padaruas kanan > 2

  5. Contoh 11.1 Berikutadalahtatabahasabebaskonteks yang sudahdisederhanakan. S  bA | aB A  bAA | aS | a B  aBB | bS | b Dari aturanproduksidiatas, aturanproduksi yang sudahdalambentuk normal Chomsky (CNF) adalah: A  a B  b

  6. Aturanproduksi yang belumdalam 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 Terbentuaturanproduksibaru: P1  b P2  a P3  AA P4  BB

  7. Hasilahiraturanproduksidalam 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. Contoh 11.2 Berikutadalahtatabahasabebaskonteks yang sudahdisederhanakan. S  aB | CA A  a | bc B  BC | Ab C  aB | b Dari aturanproduksidiatas, aturanproduksi yang sudahdalambentuk normal Chomsky (CNF) adalah: S  CA A  a B  BC C  b

  9. Aturanproduksi yang belumdalam CNF adalah: S  aB  S P1B A  bc  A P2P3 B  Ab  B AP2 C  aB  C P1B Terbentuaturanproduksibaru: P1  a P2  b P3  c

  10. Hasilahiraturanproduksidalam 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. Contoh11.3 Tata bahasabebaskonteks S  aAB | ch | CD A  dbE | eEC B  ff | DD C  ADB |aS D  i E  jD Aturanproduksi yang sudahdalambentuk CNF adalah: S  CD B  DD D  i

  12. Aturanproduksi 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 aturanproduksi: S  aAB⇒ S  P1 P2 S  ch⇒ S  P3 P4 A  dbE⇒ A  P5 P6 A  eEC⇒ A  P8 P9 B  ff ⇒ B  P10P10 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  P10P10 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 diciptakanoleh J. Cocke, D.H.Younger, dan T. Kasami. Syaratuntuk menggunakanalgoritmainiadalahtatabahasa harussudahdalambentuk Normal Chomsky.

  15. Algoritma CYK • begin • for i := 1 to n do • Vi1 := {A|A a aturanproduksidimana • simbolkeiadalah a}; • 3. for j := 2 to n do • 4. for i := 1 to (n – j + 1) do • begin • Vij := ; • for k:= 1 to (j-1) do • Vij := Vij  { A|A  BC adalahsuatu • produksi, dimana B diVikdan C di • Vi+k, j-k} • end • end

  16. Penjelasan: n adalahpanjanguntai yang akandiperiksa, misaluntai ‘baaba’, n = |baaba| = 5 imenyatakankolomke … j menyatakanbariske …. Pernyataan no. 1 dan 2 untukmengisitabelbaris pertamakolomke (1 – n) 5. Pernyataan no 3 iterasidaribariske 2 sampai n 6. Pernyataan no. 4 iterasiuntukmengisikolom 1 sampai (n baris +1) padasuatubaris 7. Pernyataan no 5 inisialisasiVijdengan 8. Pernyataan no. 6 dan 7 iterasiuntukmemeriksa manasaja yang menjadianggotaVij.

  17. Contoh11.4 Diketahuitatabahasabebaskonteks: S  AB | BC A  BA | a B  CC | b C  AB | a Periksa, apakahuntai ‘baaba’ termasukkedalam bahasatersebut. Penyelesaian: Syarat agar sebuahuntaitermasukkedalam tatabahasatertentuadalah V1nharusmemuat simbolawal

  18. i ( 1 – 5) j  1 – 5)

  19. Untukmengisisel V11, perikaaturanproduksi yang menghasilkan ‘b’ . Dari B  b kitaisi V11 = {B}

  20. Untukmengisisel V21, perikaaturanproduksi yang menghasilkan ‘a’ . Dari A  a dan C a kitaisiV21 = {A,C}

  21. Untukmengisisel V31, perikaaturanproduksi yang menghasilkan ‘a’ . Dari A  a dan C a kitaisiV31 = {A,C}

  22. Untukmengisisel V41, perikaaturanproduksi yang menghasilkan ‘b’ . Dari B  b kitaisi V41 = {A,C}

  23. Untukmengisisel V51, perikaaturanproduksi yang menghasilkan ‘a’ . Dari A  a dan C a kitaisiV51 = {A,C}

  24. Pengisianbarisselanjutnya. PengisianVij , periksaVik, Vi+k, j–k

  25. Pengisianbariske 2 (k = 1). Pengisian V12 , periksa V11 -V1+1, 2–1 V11 -V21. Dari V11, V21menghasilkan BA atau BC. Variabel yang dapatmenurunkan BA atau BC adalah S dan A

  26. Pengisianbariske 2 (k = 1). Pengisian V22 , periksa V21 -V2+1, 2–1 V21 -V31. Dari V21, V31menghasilkan AA, AC, CA, atau CC. Variabelygdapatmenurunkan AA, AC, CA, atau CC adalah B

  27. Pengisianbariske 2 (k = 1). Pengisian V32 , periksa V31 -V 3+1, 2–1 V31 -V41. Dari V31, V41menghasilkan AB, atau CB. Variabelygdapatmenurunkan AB atau CB adalah S dan C

  28. Pengisianbariske 2 (k = 1). Pengisian V42 , periksa V41 -V 4+1, 2–1 V41 -V51. Dari V41, V51menghasilkan BA, BC. Variabel yang dapatmenurunkan BA atau BC S dan A

  29. Pengisianbariske 3 (k = 1 sampai 2). Pengisian V13 , periksa V11 -V22dan V12 -V31, menghasilkan BB, SA, SC, AA, atau AC. Variabelygdapatmenurunkanvariabeltsb. tidakadaatau.

  30. Pengisianbariske 3 (k = 1 sampai 2). Pengisian V23 , periksa V21 -V32dan V22 -V41, menghasilkan AS, AC, CS, CC, atau BB. Variabelygdapatmenurunkanvariabeltsb. adalahvariabel B

  31. Pengisianbariske 3 (k = 1 sampai 2). Pengisian V33 , periksa V31 -V42dan V32 -V51, menghasilkan AS, AA, CS, CA, SA, SC, CA, atau CC. Variabelygdapatmenurunkanvariabeltsb. Adalah B.

  32. Pengisianbariske 4 (k = 1 sampai 3). Pengisian V14 , periksa V1 1-V23, V12 -V32, dan V13 -V41 menghasilkan BB, SS, SC, AS, atau AC. Variabelygdapatmenurunkanvariabeltsb. tidakada.

  33. Pengisianbariske 4 (k = 1 sampai 3). Pengisian V24 , periksa V21 -V33, V22 -V42, dan V23 -V51 menghasilkan AB, CB, BS, BA, atau AC. Variabelygdapatmenurunkanvariabeltsb. S, A, C.

  34. Pengisianbariske 5 (k = 1 sampai 4). Pengisian V15 , periksa V11 -V24, V12 -V33, V13 -V42dan V14-V51menghasilkan BS, BA, BC, SB, atau AB. Variabelygdapatmenurunkanvariabeltsb. S, A, C

  35. Pengisianbariske 5 (k = 1 sampai 4). Karena V15memuatsimbolawalmakamakauntai ‘baaba’ termasukkedalamtatabahasabebaskonteksdiatas

  36. Latihan Transformasikantatabahasabebaskonteksberikutkedalam CNF. S  aSaA | A A  abA | b 2. Gunakanalgoritma CYK untukmemeriksaapakahuntai ‘aabab’ termasukdalamtatabahasabebaskonteksberikut. S  AB | BC A  BA | a B  CC | b C  AB | a

More Related