konversi nfa ke dfa
TRANSCRIPT
Konversi NFA ke DFA
1
Sri Handayaningsih, S.T., M.T.Email : [email protected]
Teknik Informatika
Pertemuan Ke-6
TIU dan TIK
Mengetahui cara proses konversi NFA keDFA
TEORI BAHASA OTOMATA2
Formulasi KonversiMengubah NFA Mn = (Qn, ∑n, n, q0n,Fn)
Diubah menjadiDFA Md = (Qd, ∑d, d, q0d,Fd)
Dengan ketentuan :
TEORI BAHASA OTOMATA3
Dengan ketentuan :
1. Qd 2Qn, setiap elemen Qd dapat dituliskan sebagaiqi1, qi2, qi3…qis dengan s = |Qn|
2. Fd = {qi1, qi2, qi3…qis | paling sedikit adalah satu ipsehingga qipFn}
3. d(qi1, qi2, qi3…qis) = rj1, rj2, rj3, … rjs dengan rjp=n(qip,a)
ContohDiketahui sebuah tabeltransisi NFA sbb:A = State awalC = State akhir∑ = {0,1}
n 0 1
A A B
B A,B C
TEORI BAHASA OTOMATA4
∑ = {0,1}Q = {A, B, C} C C A
PenyelesaianBuat gambar graf transisinya
0
1
0
1
0
TEORI BAHASA OTOMATA5
A B1
0C
1
1
Buat state-state baru
ACC
CA,BBBAA
10n
ACC
CABB
BAA
10n
TEORI BAHASA OTOMATA6
ACC
Dibuat state baruAB
BCABAB
ACC
muncul State baruBC
n 0 1
A A B
B AB C
C C A
TEORI BAHASA OTOMATA7
C C A
AB AB BC
BC ABC CA
State Baru
n 0 1
A A B
B AB C
C C A
AB AB BC
TEORI BAHASA OTOMATA8
AB AB BC
BC ABC CA
ABC ABC BC
CA AC BC
Tidakmunculstatebarulagi
Contoh 1. Ekivalensi NFA ke DFADiberikan NFA untuk menerima string yg diakhiri ab
q2
a,b
a b
TEORI BAHASA OTOMATA9
qo q1q2
a b
Pertanyaan :
1. Buat Tabel Transisi NFA
2. Buat Tabel Transisi DFA hasil konversi dari NFA
3. Buat Graf Transisinya
Jawaban
Tabel Transisi NFA
--q2
q2-q1q0q0, q1q0
ban
TEORI BAHASA OTOMATA10
--q2
Dibuat state baruq0q1
2. Tabel Transisi DFA
n a b
q0 q0q1 q0
q1 - q2
q2 - -
TEORI BAHASA OTOMATA11
q2 - -
q0q1 q0q1 q0q2
State Baru
2. Tabel Transisi DFA
n a b
q0 q0q1 q1
q1 - q2
Dihasilkan DFA dengan :
Q = {q0, q1, q2, q0q1, q0q2}
n = {a, b}
State awal = q0
TEORI BAHASA OTOMATA12
q1 - q2
q2 - -
q0q1 q0q1 q0q2
q0q2 q0q1 q1
State awal = q0
State akhir = q2 dan q0q2
3. Graf Transisi DFA
null q1q2
a b
a, b
TEORI BAHASA OTOMATA13
qo q0q1q0q2
b
a b
a
a
b
Kesimpulan
Dari hasil graf transisi state q1, q2 dannull tidak bisa dicapai dari status awal,sehingga :
Dihasilkan DFA dengan :
TEORI BAHASA OTOMATA14
Dihasilkan DFA dengan :
Q = {q0, q0q1, q0q2}
n = {a, b}
State awal = q0
State akhir = q0q2
Hasil Akhir
q0q2
b
a b
a
TEORI BAHASA OTOMATA15
qo q0q1q0q2
a
b
Contoh 2Diberikan sebuah tabel transisi NFA sebagaiberikut :
n a b
q0 {q0, q1} {q1}
TEORI BAHASA OTOMATA16
q0 {q0, q1} {q1}
q1 {q0, q1}
Buat :
1. Graf transisinya
2. Ubah dalam bentuk DFA (Tabel dan Graf transisinya)
Jawaban :
q0 q1
a, ba b
TEORI BAHASA OTOMATA17
b
1. Graf transisi NFA
2. Tabel Transisi NFA ke DFA
n a b
q0 {q0, q1} {q1}
q1 {q0, q1}n a b
TEORI BAHASA OTOMATA18
State baru
n a b
q0 {q0q1} {q1}
q1 {q0q1}
q0q1 q0q1 q0q1
3. Graf Transisi
q0q1
ba
null
a
a, b
TEORI BAHASA OTOMATA19
b
a, b
q0q1
a
Pustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,
Teknik Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D.
Ullman, Introduction to Automata Theory,Languages, and Computation, 2rd, Addison-Wesley,2000
3. Martin C. John, Introduction to Languages and
TEORI BAHASA OTOMATA20
3. Martin C. John, Introduction to Languages andTheory of Computation, McGraw-Hill Internatioanaledition,1991
4. Linz Peter,Introduction to Formal Languages &Automata, DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan KuliahMatematika Informatika, Magister TeknikInformatika ITB, 1998
6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07slide on RPI CSCI 2400