Teori Bahasa dan Otomata 2 sks

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

description

Teori Bahasa dan Otomata 2 sks. Ekuivalensi DFA-NDFA dengan ɛ-move Versi 2. Rifki Indra Perwira, S.Kom [email protected]. Cakupan Bahasan. NDFA dengan ɛ-move Algoritma ɛ-move ke NDFA Kenapa harus ekuivalen? Persamaan VS Perbedaan Langkah2 penyamaan DFA-NDFA Contoh permasalahan. - PowerPoint PPT Presentation

Transcript of Teori Bahasa dan Otomata 2 sks

Page 1: Teori Bahasa dan Otomata 2 sks

Teori Bahasa dan Otomata2 sks

Rifki Indra Perwira, [email protected]

Ekuivalensi DFA-NDFA dengan ɛ-move

Versi 2

Page 2: Teori Bahasa dan Otomata 2 sks

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

Page 3: Teori Bahasa dan Otomata 2 sks

Non DFA dengan - move (transisi ) Dapat merubah state satu ke state lain tanpa membaca input Tidak bergantung pada suatu input ketika melakukan transisi

q0 q1

q4q3q2

b

b

a

dari q0 tanpa membaca input dapat berpindah ke q1 dan q3dari q4 tanpa membaca input dapat berpindah ke q2

Page 4: Teori Bahasa dan Otomata 2 sks

-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 (q0)= q0,q1,q2 -closure (q1) = q1,q2 -closure (q2) = q2 -closure (q3) = q3 -closure (q4) = q1,q2,q4

q0 q1

q4q3

q2

b

b

a

Page 5: Teori Bahasa dan Otomata 2 sks

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)

Page 6: Teori Bahasa dan Otomata 2 sks

Contoh 1:

q0q1

a

b

b

q2

Buatlah NDFA tanpa -move yang ekivalen dengan NDFA -move dibawah !

Page 7: Teori Bahasa dan Otomata 2 sks

1.

2.

a b

q0 q0

q1 q2

q2 q2

Tentukan -closure untuk setiap state: _ closure (q0) = q0,q1 _ closure (q1) = q1 _ closure (q2) = q0,q1,q2

Page 8: Teori Bahasa dan Otomata 2 sks

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)=q0UU =q0, sehingga _closure (q0) = q0,q1

’(q2,b) = _closure ((_closure(q2),b)) = _closure ((q0,q1,q2,b)) = _closure (q2) = q0,q1,q2

Page 9: Teori Bahasa dan Otomata 2 sks

4.

5.

a b

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}

Page 10: Teori Bahasa dan Otomata 2 sks

q0

b

q1

a,bb

b

q2

b

b

a,b

a,ba,b

Page 11: Teori Bahasa dan Otomata 2 sks

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

Page 12: Teori Bahasa dan Otomata 2 sks

DFA vs NDFA

Keterangan DFA NDFA

Topologi Lebih ringkas Lebih kompleks

Penyerapan string dalam 1 state

Tunggal (tdk mendua) Bisa lebih dari 1

State kosong {Ø} Hampir tidak ada Besar kemungkinan ada

State baru Tidak ada Ada state baru yg terbentuk

Final state Tetap sesuai keadaan Bisa bertambah

Page 13: Teori Bahasa dan Otomata 2 sks

Algoritma Ekuivalen NDFA-DFA1. Buat semua state yang merupakan subset dari state

semula. jumlah state menjadi 2Q

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)

Page 14: Teori Bahasa dan Otomata 2 sks

Contoh 1 : Diberikan tabel transisi NDFA

δ p r

Q0 {Q1,Q2} -

Q1 - Q2

Q2 Q1 Q1

Dengan initial state = Q0 Final state = Q1

Bagaimanakah DFA yg ekuivalen?

Page 15: Teori Bahasa dan Otomata 2 sks

Mari kita kerjakan sama-sama

Page 16: Teori Bahasa dan Otomata 2 sks

Contoh 2: Buatlah DFA yang ekuivalen dengan

NDFA berikut :

Q={P,Q,R,S}

∑={0,1}

S=P

F={Q,S}

δ 0 1

P Q,S Q

Q R Q,R

R S P

S - P

Page 17: Teori Bahasa dan Otomata 2 sks

P

S

Q

R>

0,1

0

0,1

1

0

1

0

Page 18: Teori Bahasa dan Otomata 2 sks

δ 0 1

P Q,S Q

Q R Q,R

R S P

S - P

Q,S R P,Q,R

Q,R R,S P,Q,R

P,Q,R Q,R,S P,Q,R

R,S S P

Q,R,S R,S P,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 = P5.(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

Page 19: Teori Bahasa dan Otomata 2 sks

Shg DFA yg ekuivalen dgn NDFA tadi adalah ….

P S

Q R

Q,S

P,Q,RR,S

Q,R

Q,R,S

>

0

10

1

0

1

1

0

1

0

1

0

1

1

0

1

0

Page 20: Teori Bahasa dan Otomata 2 sks

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)

>

0

10

1

0

1

1

0

1

0

1

0

1

1

0

1

0