Pertemuan 2
String
Output
“Accept”
Finite or
Automata “Reject”
Gbr. Mesin 1
Deterministic Finite Automata
(DFA)
5 tuple pada mesin 1 :
Q = {q0, q1, q2, q3, q4} q0
δ a
q1
b
q5
∑ = {a, b} q1 q5 q2
q2 q5 q3
S = q0 q3 q4 q5
q4 q5 q5
F = {q5} q5 q5 q5
a b b a
Input String
a,b
q5
a a b a,b
b
q0 a q1 b q2 b q3 a q4
Initial state
Scanning the Input a
a b b a
a,b
q5
b a a b a,b
q0 a q1 b q2 b q3 a q4
Scanning the Input b
a b b a
a,b
q5
b a a b a,b
q0 a q1 b q2 b q3 a q4
Scanning the Input b
a b b a
a,b
q5
b a a b a,b
q0 a q1 b q2 b q3 a q4
Input finished
a,b
q5
a a a,b
b b
q0 a q1 b q2 b q3 a q4
Diterima
(berakhir di stat
Akhir)
A Rejection Case
a b a
Input String
a,b
q5
a a b a,b
b
q0 a q1 b q2 b q3 a q4
Scanning the Input a
a b a
a,b
q5
b a a b a,b
q0 a q1 b q2 b q3 a q4
Scanning the Input b
a b a
a,b
q5
b a a b a,b
q0 a q1 b q2 b q3 a q4
Input finished
a,b
Ditolak
(tidakberakhir di state
q5 Akhir)
b a a b a,b
q0 a q1 b q2 b q3 a q4
Non Deterministic Finite Automata
(NFA)
Non Deterministic Finite Automata adalah suatu state bias terdapat 0,1 atau
lebih busur keluar ( transisi ) berlabel symbol input yang sama.
Gbr. Mesin 2
Non Deterministic Finite State Automata
(NFA)
5 tuple pada mesi 1 :
δ a
Q = {q0, q1, q2, q3}
q0 {q1, q3}
∑ = {a} q1 {q2}
S = q0 q2 {θ}
q3 {θ}
F = {q2}
a a
q1 a q2
a
q0 a
q3
20
1. Pilihan pertama
a a
q1 a q2
a
q0 a
q3
21
1. Pilihan pertama
a a
All input is consumed
q1 a q2 “diterima”
q0 a
q3
2. Pilihan ke dua
a a
q1 a q2
a
q0 a
q3
Pilihan ke dua
a a
Input cannot be consumed
q1 a q2
a
Automaton Halts
q0 a
“ditolak”
q3
Reduksi Jumlah State Pada FSA
Pasangan State dapat dikelompokkan berdasarkan:
q1
0 1
0 0 0,1
q0 q4
q2 1
1 0
0 1
q3 q5
1
Lakukan Reduksi state pada DFA
diatas?
Reduksi Jumlah State Pada FSA – Step
• State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless state).
Hapus state q5
• Berdasarkan hasil diatas maka hasil dari DFA yang direduksi menjadi:
0 0,1
q0 0,1 q1,2,3 1 q4
Kesimpulan reduksi