Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏ Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009 Versi: 1/0 Revisi.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏ Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009 Versi: 1/0 Revisi."— Transcript presentasi:

1 1 Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏ Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009 Versi: 1/0 Revisi

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

3 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 4 FINITE AUTOMATA MWGC-  Start WC-MGMWC-G W-MGC MGW-C G-MWCMG-WC  -MWGC g m c g w mg Final State

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

6 6 DETERMINISTIC FINITE AUTOMATA Contoh : DFA menerima string dimana jumlah ‘0’, dan jumlah ‘1’-nya genap L = {( )*} State : { q 0, q 1, q 2, q 3 } Start state : q 0 Final state : { q 0 } Simbol input : {0, 1} Fungsi Transisi Dlm Tabel q2q2 q1q1 q3q3 q3q3 q0q0 q2q2 q0q0 q3q3 q1q1 q1q1 q2q2 q0*q0* 10State

7 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)* } 1 A 0C B ,

8 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 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  (q 0,x) = p, p dalam F. LANGUAGE YANG DITERIMA : Language yang diterima oleh FA M adalah {x   (q 0,x) dalam F} REGULAR LANGUAGE / SET : Language yang diterima oleh suatu FA.

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

11 11 > 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 ( )} 6.L = {(01+00)*} 7.L = {101 (0+1)*}

12 1.L ={(0+1)* 000 (0+1)*} 2.L =[(0+1)* 1001} q1q2q0q3 1 0, Start q1q2q0q Start 1 q

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

14 4.L = {(11)* (00)*} q0 q1q2 q3 q , Start

15 5.L = {(0+1)* 1 ( )} ε

16 5.Disederhanakan menjadi :

17 5.Atau : Start

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

19 Non Deterministic Finite Automaton (NFA) 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 : q0q1q Start

20 Non Deterministic Finite Automaton (NFA) Contoh : Input :  (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 State01  q0{q0,q1 } q2 q1q0q1 * q2q1{q0,q1}

21 Non Deterministic Finite Automaton (NFA) Contoh : Input : Start q2 q1 q0q3 q

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, , , q 0, F) Q, , q 0, 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   *  2 O 1.  (q,  ) = {q} 2.  (q,wa) = {p  r dalam  (q,w), p dalam  (r,a)} :  2 O   *  2 O :  (P,w) =  {q,w}, P  Q Language Accepted / diterima : NFA M = (Q, , , q 0, F), L (M) = {w   (q 0,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) Finite Automata dengan  -move : Memungkinkan transisi atas input kosong (empty) . Contoh q0 q2 q1 Start 0 21 

26 Non Deterministic Finite Automaton dengan  -move (  NFA) Fungsi Transisi :  : O  (   {  })  2 O  (q,a) : a mungkin  atau a    -Closure (q) : Himpunan state p dimana ada path dari q ke p berlabel  Contoh :  -Closure (q 0 ) = {q 0, q 1, q 2 } 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  (q 0,w) dalam F}

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

29 Ekuivalensi ε- NFA dan RE Jenis RESimbol REε- NFA Simbol Hampaε ER Hampa atau { } ER Umumr q0q0 q0q0 q1q1 q1q1 r q0q0

30 Ekuivalensi ε- NFA dan RE Unionr1 + r2 Concantenation r1r2 Kleene ClosureR* q0q0 q1q1 r1r2 εεε q1q1 r1 r2 ε ε ε ε q0q0 ε q0q0 q1q1 r1 εε ε

31 > 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)*


Download ppt "1 Pertemuan 2 FINITE AUTOMATA (DFA & NFA) ‏ Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2009 Versi: 1/0 Revisi."

Presentasi serupa


Iklan oleh Google