1 / 23

Teori Bahasa dan Automata

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata. Finite State Automata. Model matematika suatu sistem yang menerima input dan output diskrit Mesin automata dari bahasa Regular

davin
Download Presentation

Teori Bahasa dan Automata

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. Teori Bahasa dan Automata Finite State Automata & Non Finite State Automata

  2. Finite State Automata • Model matematika suatu sistem yang menerima input dan output diskrit • Mesin automata dari bahasa Regular • Tidak memiliki tempat penyimpanan sehingga kemampuan mengingat terbatas (contoh: elevator/lift) • Aplikatif - berguna untuk merancang sistem nyata. • Aplikasi meliputi : analisis leksikal, text-editor, protokol komunikasi jaringan (kermit) dan parity checker (pengecek parity). Teori Bahasa dan Automata

  3. Finite State Automata • FSA atau AH (Automata Hingga) • didefinisikan sebagai pasangan 5 tupel  M = (Q, ∑, δ, S, F). Q : himpunan hingga state ∑ : himpunan hingga simbol input (alfabet) δ : fungsi transisi, menggambarkan transisi state FSA akibat pembacaan simbol input. Fungsi transisi ini biasanya diberikan dalam bentuk tabel. S Q : state AWAL F Q : himpunan state AKHIR  Teori Bahasa dan Automata

  4. Finite State Automata Contoh : seorang petani dengan seekor serigala, kambing dan seikat rumput berada pada suatu sisi sungai. Tersedia hanya sebuah perahu kecil yang hanya dapat dimuati dengan petani tersebut dengan salah satu serigala, kambing atau rumput. Petani tersebut harus menyeberangkan ketiga bawaannya kesisi lain sungai. Tetapi jika petani meninggalkan serigala dan kambing pada suatu saat, maka kambing akan dimakan serigala. Begitu pula jika kambing ditinggalkan dengan rumput, maka rumput akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara untuk melintasi sungai tanpa menyebabkan kambing atau rumput dimakan. Teori Bahasa dan Automata

  5. 16 kemungkinan kombinasi state Dari 16 kemungkinan kombinasi state , hanya 10 state yang memenuhi syarat. Teori Bahasa dan Automata

  6. P PK P SR - PK PSR - K PKSR - Ø PK PR PS PR PS R - PKS S- PKR PK PK PK PK PKS - R PKR - S Diagram Transisi PS PR PR PS K - PSR P P PK - SR PK PK Ø - PKSR TeoriBahasadan Automata

  7. Deterministic FSA Ada dua jenis FSA : • Deterministic finite automata (DFA) • Non deterministik finite automata.(NFA) • DFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tertentu. • NFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tak tentu. Teori Bahasa dan Automata

  8. Deterministic Finite Automata Deterministic finite automata (DFA)  M = (Q, ∑, δ, S, F), dimana : Q : himpunan state/kedudukan ∑ : himpunan simbol input ∂ : fungsi transisi, dimana ∂  Q x ∑  Q S : State awal (initial state) F : himpunan state akhir (Final State) Language  L(M) : (x| ∂(S,x) di dalam F) Teori Bahasa dan Automata

  9. Deterministic Finite Automata DFA : Q = {q0, q1, q2} δ diberikan dalam tabel berikut : L(M) = {abababaa, aaaabab,aabababa,…} a a b q0 q1 q2 b b a Teori Bahasa dan Automata

  10. Deterministic Finite Automata Telusurilah, apakahkalimat-kalimatberikutditerima DFA diatas : abababaa, aaaabab , aaabbaba Jawab : δ (q0,abababaa)  δ (q0,bababaa)  δ (q1,ababaa)  δ (q0,babaa)  δ (q1,abaa)  δ (q0,baa)  δ (q1,aa)  δ (q0,a)  q0 Tracing berakhir di q0 (state AKHIR)  kalimat abababaa diterima Kesimpulan : Sebuah kalimat diterima oleh DFA di atas jika tracingnya berakhir di salah satu state AKHIR. Teori Bahasa dan Automata

  11. Non Deterministic Finite Automata Non Deterministic finite automata (NFA)  M = (Q, ∑, δ, S, F), dimana : Q : himpunan state/kedudukan ∑ : himpunan simbol input ∂ : fungsi transisi, dimana ∂  Q x (∑ ⋃ ) P(Q) P(Q) : set of all subsets of Q S : State awal (initial state) F : himpunan state akhir (Final State) Language  L(M) : (x| ∂(S,x) di dalam F) Teori Bahasa dan Automata

  12. Non Deterministic Finite Automata Berikut ini sebuah contoh NFA (Q, ∑, δ, S, F). dimana : Q = {q 0, q1 , q2 ,q3 , q4 } δ diberikan dalam tabel berikut : Teori Bahasa dan Automata

  13. a,b,c a,b,c a L(M) = {aabb,…} q1 q0 q1 b a c b q3 q2 q4 a,b,c a,b,c c Teori Bahasa dan Automata

  14. Sebuahkalimatditerima NFA jika :   Salahsatu tracing-nyaberakhirdi state AKHIR, atau himpunan state setelahmembaca string tersebutmengandung state AKHIR Telusurilah, apakahkalimat-kalimatberikutditerima NFA diatas : ab, abc, aabc, aabb Jawab: δ(q0 ,ab)  δ(q0,b)  δ(q1 ,b)  {q0, q2}  {q1 } = {q0 , q1 , q2} Himpunan state TIDAK mengandung state AKHIR kalimatabtidakditerima δ(q0 ,abc)  δ(q0 ,bc)  δ(q1 ,bc)  { δ(q0 ,c)  δ(q2 ,c)}δ(q1 , c) {{ q0 , q3 }{ q2 }}{ q1 } = {q0 , q1 , q2 ,q3 } Himpunan state TIDAK mengandung state AKHIR kalimatabctidakditerima Teori Bahasa dan Automata

  15. Teori Bahasa dan Automata

  16. Ekuivalensi Antar Deterministic Finite Automata • Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1) = L(M2) 0 0 q1 q0 M1 0 q0 M2 Teori Bahasa dan Automata

  17. Reduksi Jumlah State Pada FSA • Reduksi dilakukan untuk mengurangi jumlah state tanpa mengurangi kemampuan untuk menerima suatu bahasa seperti semula (efisiensi) • State pada FSA dapat direduksi apabila terdapat useless state • Hasil dari FSA yang direduksi merupakan ekivalensi dari FSA semula Teori Bahasa dan Automata

  18. Reduksi Jumlah State Pada FSA Pasangan State dapat dikelompokkan berdasarkan: • Distinguishable State (dapat dibedakan) Dua state p dan q dari suatu DFA dikatakan indistinguishable apabila: δ(q,w)  F dan δ(p,w)  F atau δ(q,w) ∉ F dan δ(p,w) ∉ F untuk semua w  S* • Indistinguishable State ( tidak dapat dibedakan) Dua state p dan q dari suatu DFA dikatakan distinguishable jika ada string w  S* hingga: δ(q,w)  F dan δ(p,w) ∉ F Teori Bahasa dan Automata

  19. Reduksi Jumlah State Pada FSA - Relasi Pasangan dua buah state memiliki salah satu kemungkinan : distinguishable atau indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat sebuah relasi : Jika p dan q indistinguishable, dan q dan r indistinguishable maka p, r indistinguishable dan p,q,r indistinguishable Dalam melakukan eveluasi state, didefinisikan suatu relasi : Untuk Q yg merupakan himpunan semua state • D adalah himpunan state-state distinguishable, dimana D  Q • N adalah himpunan state-state indistinguishable, dimana N  Q • maka x  N jika x  Q dan x  D Teori Bahasa dan Automata

  20. Reduksi Jumlah State Pada FSA – Step • Hapuslahsemua state ygtidakdapatdicapaidari state awal (useless state) • Buatlahsemuapasangan state (p, q) yang distinguishable, dimana p  F dan q F. Catatsemuapasangan-pasanganstatetersebut. • Caristate lain yang distinguishabledenganaturan: “Untuksemua (p, q) dansemua a  ∑, hitunglah δ (p, a) = padan δ (q, a) = qa . Jikapasangan (pa, qa) adalahpasanganstate yang distinguishablemakapasangan (p, q) jugatermasukpasangan yang distinguishable. • Semuapasanganstate yang tidaktermasuksebagaistate yang distinguishable merupakanstate-stateindistinguishable. • Beberapa state yang indistinguishable dapatdigabungkanmenjadisatu state. • Sesuaikan transisi dari state-state gabungan tersebut. Teori Bahasa dan Automata

  21. q1 1 0 0 0,1 0 q0 q4 q2 1 0 1 1 0 q3 q5 1 Reduksi Jumlah State Pada FSA – Contoh Sebuah Mesin DFA Lakukan Reduksi state pada DFA diatas? Teori Bahasa dan Automata

  22. Reduksi Jumlah State Pada FSA – Step • State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state). Hapus state q5 • Catat state-state distinguishable, yaitu : q4  F sedang q0, q1, q2, q3 F sehingga pasangan (q0, q4) (q1, q4) (q2, q4) dan (q3, q4) adalah distinguishable. • Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan pasangan dari langkah 2, yaitu : • Untuk pasangan (q0, q1) δ(q0, 0) = q1 dan δ(q1, 0) = q2  belum teridentifikasi δ(q0, 1) = q3 dan δ(q1, 1) = q4  (q3, q4) distinguishable maka (q0, q1) adalah distinguishable. • Untuk pasangan (q0, q2) δ(q0, 0) = q1 dan δ(q2, 0) = q1  belum teridentifikasi δ(q0, 1) = q3 dan δ(q2, 1) = q4  (q3, q4) distinguishable maka (q0, q2) adalah distinguishable. Teori Bahasa dan Automata

  23. Reduksi Jumlah State Pada FSA – Step • Setelah diperiksa semua pasangan state maka terdapat state-state yang distinguishable : (q0,q1), (q0,q2), (q0,q3), (q0,q4), (q1,q4), (q2,q4), (q3,q4) Karena berdasarkan relasi-relasi yang ada, tidak dapat dibuktikan (q1, q2), (q1, q3) dan (q2, q3) distinguishable, sehingga disimpulkan pasangan-pasangan state tersebut indistinguishable. • Karena q1 indistinguishable dengan q2, q2 indistinguishable dengan q3, maka dapat disimpulkan q1, q2, q3 saling indistinguishable dan dapat dijadikan satu state. • Berdasarkan hasil diatas maka hasil dari DFA yang direduksi menjadi: 0 , 1 0 q0 q1,2,3 q4 1 0 , 1 Teori Bahasa dan Automata

More Related