You are on page 1of 25

SEMESTER

PENDEK
2015/2016

OTOMATA DAN TEORI


BAHASA FORMAL

Betha Nurina Sari,M.Kom


PERTEMUAN 4
 Ekuivalensi Non DFA ke DFA

Non DFA dengan  -move
Ekuivalensi NFA → DFA

Dari sebuah mesin Non-deterministic Finite


Automata (NFA) dapat dibuat mesin
Deterministic Finite Automata (DFA)-nya yang
ekuivalen (bersesuaian).

Ekuivalen disini artinya mampu menerima


bahasa yang sama.
Ekuivalensi Non DFA ke DFA
Definisi
Simulasi algoritma

Tahap Pengubahan

Contoh soal
Ekivalensi DFA dan NFA :
 Suatu DFA dapat dipandang sebagai kasus khusus
(subset) dari NFA.
 Jelas bahwa kelas bahasa yang diterima oleh DFA
juga akan diterima oleh NFA
 Namun ternyata DFA juga dapat mensimulasikan
NFA; yaitu untuk setiap NFA kita dapat membuat
DFA yang ekivalen.
 Dapat dibuktikan bahwa DFA dan NFA adalah
ekivalen, sehingga dapat disebut FA saja.
Simulasi NFA oleh DFA :
D
F
A

y
a
n
g

d
i
b
e
n
t
u
k

m
e
n
c
a
t
a
t

s
e
m
u
a

s
t
a
t
e

y
a
n
g

m
u
n
g
k
i
n

p
a
d
a

N
F
A

s
e
t
e
l
a
h

m
e
m
b
a
c
a

i
n
p
u
t

t
e
r
t
e
n
t
u
Algoritma

1. 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. Tentukan state awal : {q0}
4. Tentukan state akhir adalah state yang elemennya
mengandung state akhir.
5. Reduksi state yang tak tercapai oleh state awal.
Tahap pengubahan
 Diketahui NFA sebagai berikut
Tahap pengubahan

(1)
Tahap pengubahan
Tahap pengubahan
Tahap pengubahan
Tahap pengubahan
0 1

q0 {q0, q1} {q1}

q1 Ø {q0, q1}

NFA
Jawaban
 Pada DFA hasil perubahan state-state akhir adalah
semua state yg mengandung {q1}. Maka, state akhirnya
sekarang adalah : state {q1} dan state {q0,q1},
atau secara formal: F = {{q1}, {q0,q1}}

DFA yang
ekuivalen
CONTOH
Jawaban akhir
Non DFA dengan  -move
- Definisi
- Contoh
Non DFA dengan  -move
 Pada NFA dengan Ԑ-move diperbolehkan suatu status berubah
secara spontan tanpa membaca input / berpindah ke suatu
state tanpa membaca input
 ε (epsilon) ----» string kosong / Empty
 Kegunaan dari transisi Ԑ ini adalah : memudahkan untuk
mengkombinasikan Finite State Automata

 Dari state q0 tanpa membaca input dapat pindah ke q1


ε-closure

 ε-closure adalah himpunan state yang dapat dicapai dari


suatu state tanpa membaca input.
Contohnya : (dari gambar di atas)
 ε-closure (q ) = {q ,q }
o o 1

 ε-closure (q1) = {q1}


 ε-closure (q2) = {q2}
Ekuivalensi NFA dengan ε-move ke NFA tanpa ε-
move
• Buat tabel transisi NFA dengan ε-move
• Tentukan ε-closure setiap state

• Carilah fungsi transisi /tabel transisi yang baru (δ’),

rumus :
δ’(state,input)=ε-closure(δ(ε-closure(state),input))
• Tentukan state akhirnya:

• State-state akhir semula ditambah dengan state-state yang

ε-closure nya menuju ke salah satu dari state akhir semula,


rumusnya :
F’ = F ∪ {q | (ε-closure(q) ∩ F ≠ ∅}
Contohnya :
ε a
qo q1 q2

Tabel Transisi
b
δ a b
qo Ø Ø q3
q1 q2 q3 ε-closure setiap state
 ε-closure (q ) = {q ,q }
q2 Ø Ø o o 1

 ε-closure (q1) = {q1}


q3 Ø Ø  ε-closure (q2) = {q2}
 ε-closure (q3) = {q3}
Tabel Transisi yang baru (δ’)
δ’ a b
q0 ε-cl(δ(ε-cl(q0),a)) ε-cl(δ(ε-cl(q0),b))
ε-cl(δ({q0,q1},a)) ε-cl(δ({q0,q1},b))
ε-cl(q2) ε-cl(q3)
{q2} {q3}

q1 ε-cl(δ(ε-cl(q1),a)) ε-cl(δ(ε-cl(q1),b))
ε-cl(δ({q1},a)) ε-cl(δ({q1},b))
ε-cl(q2) ε-cl(q3)
{q2} {q3}

q2 ε-cl(δ(ε-cl(q2),a)) ε-cl(δ(ε-cl(q2),b))
ε-cl(δ({q2},a)) ε-cl(δ({q2},b))
ε-cl(∅) ε-cl(∅)
∅ ∅

q3 ε-cl(δ(ε-cl(q3),a)) ε-cl(δ(ε-cl(q3),b))
ε-cl(δ({q3},a)) ε-cl(δ({q3},b))
ε-cl(∅) ε-cl(∅)
∅ ∅
NFA tanpa Ԑ-move yang ekuivalen dengan NFA Ԑ-
move

a q2

qo q1

b
b
q3

gambar (2)
NEXT >>
UTS : Bahan pertemuan 1-3
Sifat Open Note : buat note di 1 lembar A4
(tulis tangan/printed)

You might also like