Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Ekuivalensi DFA-NDFA dengan ɛ -move Versi 2.

Presentasi serupa


Presentasi berjudul: "Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Ekuivalensi DFA-NDFA dengan ɛ -move Versi 2."— Transcript presentasi:

1 Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Ekuivalensi DFA-NDFA dengan ɛ -move Versi 2

2 Cakupan Bahasan  NDFA dengan ɛ -move  Algoritma ɛ -move ke NDFA  Kenapa harus ekuivalen?  Persamaan VS Perbedaan  Langkah2 penyamaan DFA-NDFA  Contoh permasalahan

3 Non DFA dengan  - move (transisi  )  Dapat merubah state satu ke state lain tanpa membaca input  Tidak bergantung pada suatu input ketika melakukan transisi q0q0 q1q1 q4q4 q3q3 q2q2   b b a dari q 0 tanpa membaca input dapat berpindah ke q 1 dan q3 dari q 4 tanpa membaca input dapat berpindah ke q 2 

4  -closure untuk NFA  -move  Himpunan state yang dapat dicapai dari sebuah state tanpa membaca input.  State yg tidak memiliki transisi , maka  -closurenya adalah state itu sendiri Dari diagram NDFA dengan  -move maka dihasilkan:   -closure (q 0 )=  q 0,q 1,q 2    -closure (q 1 ) =  q 1,q 2    -closure (q 2 ) =  q 2    -closure (q 3 ) =  q 3    -closure (q 4 ) =  q 1,q 2,q 4  q0q0 q1q1 q4q4 q3q3 q2q2   b b a

5 Algoritma ɛ -move ke NDFA  Buat tabel transisi NFA dengan  -move awal  Tentukan  -closure untuk setiap state  Carilah setiap fungsi transisi hasil perubahan dari NFA dengan  - move ke NFA tanpa  -move (kita sebut saja sebagai  ’) dimana  ’ didapatkan dengan rumus:  ’(state, input) =  _closure (  (  _closure(state, input))  Berdasarkan hasil diatas, kita bisa membuat tabel transisi dan diagram transisi dari NFA tanpa  -move yang ekivalen dengan NFA dengan  - move tersebut.  Jangan lupa menentukan state-state akhir untuk Non-deterministic Finite Automata tanpa  -move tersebut, yaitu state-state akhir semula ditambah dengan state-state yang  _closure –nya menuju ke salah satu dari state akhir semula. Dalam bahasa formalnya: F’ = F   q  (  -closure (q)  F) 

6 Contoh 1: q0q0 q1q1 a b b q2q2   Buatlah NDFA tanpa  -move yang ekivalen dengan NDFA  -move dibawah !

7 1. 2.  ab q0q0 q0q0 q1q1 q2q2 q2q2 q2q2 Tentukan  -closure untuk setiap state:   _ closure (q 0 ) =  q 0,q 1    _ closure (q 1 ) =  q 1    _ closure (q2) =  q0,q1,q2 

8 3. Tentukan  ’:   ’(q0,a) =  _closure (  (  _closure(q0),a)) =  _closure (  (  q0,q1 ,a)) =(q0,a) U (q1,a)=q0 U  = q0, sehingga  _closure (q0) =  q0,q1    ’(q0,b) =  _closure (  (  _closure(q0),b)) =  _closure (  (  q0,q1 ,b)) =(q0,b) U (q1,b)=  U q2= q2 sehingga  _closure (q2)=  q0,q1,q2    ’(q1,a) =  _closure (  (  _closure(q1),a)) =  _closure (  (  q1 ,a)) =  _closure (  ) =    ’(q1,b) =  _closure (  (  _closure(q1),b)) =  _closure (  (  q1 ,b)) = (q1,b) = q2 sehingga  _closure (q2) =  q0,q1,q2    ’(q2,a) =  _closure (  (  _closure(q2),a)) =  _closure (  (  q0,q1,q2 ,a)) = (q0,a)U(q1,a)U(q2,a)=q0U  U  =q0, sehingga  _closure (q0) =  q0,q1    ’(q2,b) =  _closure (  (  _closure(q2),b)) =  _closure (  (  q0,q1,q2 ,b)) =  _closure (q2) =  q0,q1,q2 

9 4. 5.  ab q0  q0,q1  q0,q1,q2  q1  q0,q1,q2  q2  q0,q1  q0,q1,q2  Tentukan State Akhir - Himpunan state akhir semula adalah  q0  - Cari  _closure yang memuat state q0  dikenai masing2 input   _close (q0,a) U  _close (q0,b) (q0,q1)a U (q0,q1)b hasilnya q0 U q2 jadi F = {q0,q2}

10 q0q0 b q1q1 a,b b b q2q2 b b

11 Kenapa harus ekuivalen?  Ada apa dengan NFA ? konsep yang sulit diimplementasikan.  Komputer sepenuhnya deterministic.  Kenapa dipelajari ? Lebih dekat ke sistem nyata  Tujuannya menerima bahasa yang sama

12 DFA vs NDFA KeteranganDFANDFA TopologiLebih ringkasLebih kompleks Penyerapan string dalam 1 state Tunggal (tdk mendua)Bisa lebih dari 1 State kosong {Ø}Hampir tidak adaBesar kemungkinan ada State baruTidak adaAda state baru yg terbentuk Final stateTetap sesuai keadaanBisa bertambah

13 Algoritma Ekuivalen NDFA-DFA 1. Buat semua state yang merupakan subset dari state semula. jumlah state menjadi 2 Q 2. Telusuri transisi state–state yang baru terbentuk, dari diagram transisi. 3. Fokus yang “mendua” 4. Tentukan state awal 5. Tentukan state akhir adalah state yang elemennya mengandung state akhir 6. Rename state yang tersisa (*optional)

14 Contoh 1 :  Diberikan tabel transisi NDFA δpr Q0{Q1,Q2}- Q1-Q2 Q1 Dengan initial state = Q0 Final state = Q1 Bagaimanakah DFA yg ekuivalen?

15 Mari kita kerjakan sama-sama

16 Contoh 2:  Buatlah DFA yang ekuivalen dengan NDFA berikut : Q={P,Q,R,S} ∑={0,1} S=P F={Q,S} δ01 PQ,SQ QRQ,R RSP S-P

17 P S Q R > 0, Ø 0

18 δ01 PQ,SQ QRQ,R RSP S-P Q,SRP,Q,R Q,RR,SP,Q,R Q,R,SP,Q,R R,SSP Q,R,SR,SP,Q,R Fokus pada “yg mendua” awal : a){Q,S} b){Q,R} 1.(Q,0) U (S,0)= R U Ø = R (Q,1) U (S,1)= {Q,R} U P= {P,Q,R} 2.(Q,0) U (R,0)= R U S={R,S} (Q,1) U (R,1)= {Q,R} U P = {P,Q,R} 3.(P,0) U (Q,0) U (R,0) = {Q,S} U R U S={Q,R,S} (P,1) U (Q,1) U (R,1) = Q U {Q,R} U P = {P,Q,R} 4.(R,0) U (S,0) = S U Ø = S (R,1) U (S,1) = P U P = P 5.(Q,0) U (R,0) U (S,0) = R U S U Ø = {R,S} (Q,1) U (R,1) U (S,1) = {Q,R} U P U P= {P,Q,R} State awal = 4, muncul state baru berjumlah 5, shg total state setelah ekuivalen = 9

19 Shg DFA yg ekuivalen dgn NDFA tadi adalah …. P S Q R Q,S P,Q,R R,S Q,R Q,R,S >

20 Kemudian boleh di rename state2 baru P S Q R T(Q,S) V(P,Q,R) W(R,S) U(Q,R) X(Q,R,S) >


Download ppt "Teori Bahasa dan Otomata 2 sks Rifki Indra Perwira, S.Kom Ekuivalensi DFA-NDFA dengan ɛ -move Versi 2."

Presentasi serupa


Iklan oleh Google