1 / 31

Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏

Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2009 Versi : 1/0 Revisi. Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏. FINITE AUTOMATA. Sistem Finite State : • Finite Automaton (DFA) ‏ • Non-Deterministic Finite Automaton • Push Down Automata • Turing Machine

regis
Télécharger la présentation

Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏

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. Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2009 Versi : 1/0 Revisi Pertemuan 2FINITE AUTOMATA (DFA & NFA)‏

  2. FINITE AUTOMATA Sistem Finite State : • Finite Automaton (DFA)‏ • Non-Deterministic Finite Automaton • Push Down Automata • Turing Machine • Linear Bounded Automata ε- NFA NFA RE DFA

  3. FINITE AUTOMATA Contoh Finite State System : System Elevator Switching circuit Program text editor Contoh : Manusia (m), serigala (w), kambing (g), sayur (c) menyeberang sungai : Keadaan awal : MWGC ---  Keadaan akhir :  --- MWGC

  4. FINITE AUTOMATA g m Start  MWGC- WC-MG MWC-G c W-MGC g MGW-C w g m  -MWGC MG-WC G-MWC Final State

  5. DETERMINISTIC FINITE AUTOMATA • Dinotasikan dengan DFA A= { Q, , , q0, F} Dimana : Q : Himpunan Hingga Stata  : Himpunan Hingga simbol input  : Fungsi transisi Q x  Q q0 : Stata awal (q0 Q )‏ F : Himpunan Hingga Stata Penerima (F  Q )‏ • Contoh : Diketahui DFA • Dimana • Lebih jelas bila direpresentasikan dalam tabel :

  6. DETERMINISTIC FINITE AUTOMATA State 0 1 q0* q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 Contoh : DFA menerima string dimana jumlah ‘0’, dan jumlah ‘1’-nya genap L = {(11+ 00 + 0101 + 1010 + 0110 + 1001)*} State : { q0, q1, q2, q3 } Start state : q0 Final state : { q0 } Simbol input : {0, 1} Fungsi Transisi Dlm Tabel

  7. DETERMINISTIC FINITE AUTOMATA Buatlah DFA yang menerima language L = {w | w merupakan string yang merupakan urutan 0 berjumlah genap yang diikuti 1 berjumlah genap} atau L = { (00)* (11)* } 0, 1 0 1 C 0 0 0 0 1 1 A B 1 1

  8. DETERMINISTIC FINITE AUTOMATA (q, a) : dalam state ‘q’, membaca input ‘a’ Fungsi Transisi untuk String : Q *  Q (q,) = q {tanpa membaca simbol input tidak bisa berganti state} Untuk semua string w dan input a, (q, wa) = ( (q,w),a) =p = (q,w) = (p,a)‏  dan selalu sejalan : (q,a) = ( (q,),a) = (q,a)‏

  9. DETERMINISTIC FINITE AUTOMATA (q,w) : adalah state dimana FA akan berada setelah membaca string w, dengan start state q;  (q,w) = p, ada path berlabel w dari state q ke p. STRING YANG DITERIMA : String x diterima bila  (q0,x) = p, p dalam F. LANGUAGE YANG DITERIMA : Language yang diterima oleh FA M adalah {x | (q0,x) dalam F} REGULAR LANGUAGE / SET : Language yang diterima oleh suatu FA.

  10. DETERMINISTIC FINITE AUTOMATA 1 0 0, 1 1 1 0 q q q q 0 1 2 3 0 State 0 1 q0 q0 q1 q1 q0 q2 q2 q3 q2 *q3 q3 q3 Contoh : Q = {q0,q1,q2,q3}  = {0,1} F = {q3}  : digambarkan tabel berikut String Yang Diterima : 110 01101 00110111 String yang terbentuk dari 0 dan 1 dan mengandung 110 L = {(0+1)*110 (0+1)*} Start

  11. <<Latihan>> Buatlah DFA yang menerima language dari alphabet {0,1} dengan ketentuan : 1. L ={(0+1)* 000 (0+1)*} 2. L =[(0+1)* 1001} 3. L = {(01 (0+1)*) + ((0+1)* 01)} 4. L = {(11)* (00)*} 5. L = {(0+1)* 1 (00+10+01+11)} 6. L = {(01+00)*} 7. L = {101 (0+1)*}

  12. 1 0,1 Start 0 0 0 q0 q1 q2 q3 1 1 0 1 1 0 Start 1 0 0 1 q0 q1 q2 q3 q4 1 0 1. L ={(0+1)* 000 (0+1)*} 2. L =[(0+1)* 1001}

  13. 0,1 1 q1 q2 0 0 Start q0 0 1 0 q4 1 q5 q3 0 1 1 3. L = {(01 (0+1)*) + ((0+1)* 01)}

  14. 0,1 0 q1 q2 1 1 1 1 Start 0 q0 0 q3 q4 0 4. L = {(11)* (00)*}

  15. ε 1 0 1 0 0 1 0 1 10 11 00 01 0 0 1 0 1 1 1 0 1 0 1 000 001 010 011 100 101 110 111 1 0 1 0 1 1 0 0 1 0 0 1 5. L = {(0+1)* 1 (00+10+01+11)}

  16. 0 1 1 0 0 0 1 0 1 000 001 010 011 100 101 110 111 1 1 0 0 1 0 1 5. Disederhanakan menjadi :

  17. 011 1 0 1 1 101 1 110 0 111 Start 1 000 001 0 1 1 0 0 010 0 1 0 0 100 5. Atau :

  18. q1 0, 1 0 0 1 Start 1 0 1 q3 q0 q1 q2 0, 1 0,1 q1 1 0 q0 q2 0,1 6. L = {(01+00)*} 7. L = {101 (0+1)*}

  19. Non Deterministic Finite Automaton (NFA) 0 1 0 1 Start q0 0 q1 0 q2 1 1 • Nondeterministic finite automata (NFA) mempunyai fungsi transisi yang menetapkan nol atau lebih state untuk sebuah simbol input. • NFA menerima string jika hasil akhir penelusuran string berakhir di salah satu final state. • String diterima : Bila ada suatu path berlabel w dari start state ke salah satu final state, maka w diterima. • Contoh :

  20. Non Deterministic Finite Automaton (NFA) • Contoh : Input : 01101 (q0, 01101) =  ( (q0,0), 1101) =  ({q0,q1}, 1101) =  ({ (q0,1)U  (q1,1)}, 101) =  ({q2, q1},101) =  ({ (q2,1)U  (q1,1)}, 01) =  ({q0,q1},01) =  ({ (q0,0)U  (q1,0)}, 1)=  ({q0,q1},1) =  { (q0,1)U (q1,1)} = {q2, q1} => Krn q2 merupakan stata penerima maka string tsb diterima

  21. Non Deterministic Finite Automaton (NFA) 1 0 q0 q3 Start 0 1 0 q1 q4 0 1 1 q2 0 1 • Contoh : Input : 01001

  22. Non Deterministic Finite Automaton (NFA) • Catatan : mungkin ada lebih dari satu path yang berlabel w tapi, harus ada salah satu path yang berakhir di final state, agar w dapat diterima.

  23. Non Deterministic Finite Automaton (NFA) Definisi Formal NFA : M = (Q, , , q0, F) Q, , q0, F : seperti pada FA  : Q  Q • (q,a) : himpunan state p sehingga ada transisi berlabel a dari q ke p. Boleh lebih dari 1 next-state

  24. Non Deterministic Finite Automaton (NFA) Transisi atas String :  : Q *  2O 1.  (q,) = {q} 2.  (q,wa) = {pr dalam  (q,w), p dalam (r,a)} :  2O*  2O : (P,w) =  {q,w}, P  Q Language Accepted / diterima : NFA M = (Q, , , q0, F), L (M) = {w  (q0,w) elemen dari F} Theorem : • Bila L adalah L(M) untuk suatu NFA, maka L diterima suatu FA.

  25. Non Deterministic Finite Automaton dengan -move ( NFA) q0 q1 q2 Start   1 2 0 Finite Automata dengan -move : • Memungkinkan transisi atas input kosong (empty) . • Contoh

  26. Non Deterministic Finite Automaton dengan -move ( NFA) Fungsi Transisi :  : O  ( {})  2O (q,a) : a mungkin  atau a  -Closure (q) : • Himpunan state p dimana ada path dari q ke p berlabel  • Contoh : -Closure (q0) = {q0, q1, q2} • Bila P himpunan state : -closure (P) = -closure (q)

  27. Non Deterministic Finite Automaton dengan -move ( NFA) Transisi dengan String  : 1.  (q,) = -closure (q) 2.  (q,wa) = -closure (P), Dimana P = {puntuk semua r dalam  (q,w), p dalam (r,a)} 3. (R,a) = (q,a) 4.  (R,w) =  (q,w) Dimana R : himpunan state Language Accepted : • L yang diterima NFA dengan -move : L(M) = {w(q0,w) dalam F}

  28. Non Deterministic Finite Automaton dengan -move ( NFA) Contoh Untuk  -NFA di atas : 1. (q0,0) = -closure (q0) = {q0,q1,q2} = -closure (({q0,q1,q2},0)) = -closure ((q0,0) (q1,0)(q2,0)) = -closure ({q0} ) = -closure ({q0}) = {q0,q1,q2}  Accepted 2. (q0,01) = -closure ( (q0,0),1) = -closure (({q0,q1,q2},1)) = -closure ({q1}) = {q1,q2}  Accepted

  29. Ekuivalensi ε- NFA dan RE q0 q0 q1 q0 r q1

  30. Ekuivalensi ε- NFA dan RE ε r1 ε q0 q1 r2 ε ε q0 ε ε ε q1 r1 r2 ε q0 ε ε q1 r1 ε

  31. <<Latihan>> • Buatlah NFA yang menerima language dari alphabet {0,1} dengan ketentuan String dengan simbol ke-2 dari kanan adalah 1 • Buatlah ε- NFA dari RE berikut : a. (a + b)*. ab b. aa + (ab)* c. (aa)* b d. (01 + 1)* (01)*

More Related