download

Matakuliah
Tahun
: T0162/Teori Bahasa dan Automata
: 2009
Pertemuan 6
DFA State Minimization
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• << TIK-99 >>
• << TIK-99>>
2
Outline Materi
•
•
•
•
•
Materi 1
Materi 2
Materi 3
Materi 4
Materi 5
3
Minimisasi DFA
Untuk suatu Language yang sama dapat dibuat
beberapa DFA dengan jumlah state berbedabeda.
Contoh: DFA untuk string biner yang berakhir
dengan 1.
M1
M2
M3
A
0
0
B
0
0
1
A
0
1
D
1
B
0
A
1
1
C
0
0
C
1
1
0
1
B
1
4
• Suatu DFA mempunyai jumlah state
minimal jika semua statenya
distinguishable.
• State p dan q disebut “distinguishable” jika

terdapat string x dimana  (p, x) dalam F,

dan  (q, x) tidak dalam F.
5
• Misal (p,a) = p’ dan (q,a) = q’. Jika p’
dan q’ distinguishable, maka p dan q juga
distinguishable.
• Pasangan state yang tidak distinguishable
merupakan relasi ekuivalen.
6
Minimisasi DFA
Algoritma : (Table-filling)
begin
1. for p in F and q in Q-F do mark (p, q);
2. for setiap pasang (p, q) dalam F  F
atau (Q-F)  (Q-F) do
3. if untuk suatu input a, ((p,a), (q, a))
diberi mark then
begin
4. mark (p, q)
7
KONVERSI NFA MENJADI DFA
Lanjutan..
5. secara rekursif mark semua
pasangan untuk list (p, q)
end
6. for semua simbol input a do
7. tempatkan semua (p, q) pada list
untuk ((p,a), (q, a)) kecuali jika
(p,a) = (q, a)
end
8
KONVERSI NFA MENJADI DFA
Lanjutan..
Contoh :
Minimumkan DFA berikut :
0
Start
0
a
1
e
f
0
c
0
0
1
1
1
b
1
0
1
g
d
1
0
h
1
0
9
KONVERSI NFA MENJADI DFA
Lanjutan..
Buat tabel berikut :
X : pasangan state distinguishable
: pasangan state ekuivalen
10
KONVERSI NFA MENJADI DFA
Lanjutan..
Perhatikan pasangan state :
r = (p, a) dan s = (q, a) untuk setiap
simbol a.
Jika r dan s berbeda untuk string x, maka
p dan q berbeda karena string ax.
Jika (r, s) belum mendapat ‘X’, maka (p, q)
ditempatkan di list (r, s).
11
Minimisasi DFA
Minimum DFA adalah
a, e
0
0
1
1
0
b, h
0
1
c
g
1
0
d, f
1
12
<< CLOSING>>
13