Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏

Presentasi serupa


Presentasi berjudul: "Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏"— Transcript presentasi:

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

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

3 Contoh Finite State System :
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 Start Final State MWGC-  WC-MG MWC-G W-MGC MGW-C
 -MWGC g m c w 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
Contoh : DFA menerima string dimana jumlah ‘0’, dan jumlah ‘1’-nya genap L = {( )*} State : { q0, q1, q2, q3 } Start state : q0 Final state : { q0 } Simbol input : {0, 1} Fungsi Transisi Dlm Tabel q2 q1 q3 q0 q0* 1 State

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 C B 0, 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
Contoh : Q = {q0,q1,q2,q3}  = {0,1} F = {q3}  : digambarkan tabel berikut String Yang Diterima : 110 01101 String yang terbentuk dari 0 dan 1 dan mengandung 110 L = {(0+1)*110 (0+1)*} q 1 2 3 0, 1 Start q q3 *q3 q q2 q2 q q2 q1 q q1 q0 State

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

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

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

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

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

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

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

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

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 : q0 q1 q2 1 Start

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 State 1 q0 {q0,q1 } q2 q1 q0 * q2 {q0,q1}

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

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)
Finite Automata dengan -move : Memungkinkan transisi atas input kosong (empty) . Contoh q0 q2 q1 Start 2 1

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}

29 Ekuivalensi ε- NFA dan RE
Jenis RE Simbol RE ε- NFA Simbol Hampa ε ER Hampa atau { } ER Umum r q0 q0 q1 q1 r q0

30 Ekuivalensi ε- NFA dan RE
Union r1 + r2 Concantenation r1r2 Kleene Closure R* q1 r1 r2 ε q0 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)*


Download ppt "Pertemuan 2 FINITE AUTOMATA (DFA & NFA)‏"

Presentasi serupa


Iklan oleh Google