3.2. Non - Deterministic
3.2. Non - Deterministic
Finite Automata
Deterministic Finite Automata
´ Determinism
1
´ Saat berada disuatu state maka state selanjutnya sudah
dapat diketahui.
A 1 B
´ Misal saat berada di state A, sudah dapat diketahui jika
mendapat input 1 akan lanjut ke state B dan jika mendapat
input 0 akan lanjut ke state C.
0 0 0 0
´ Hanya mempunyai 1 state selanjutnya.
´ Misal saat berada di state A, jika mendapat input 1 hanya
1
akan lanjut ke state B C D
´ Tidak mempunyai pilihan state selanjutnya. 1
E
Non-deterministic Finite Automaton (NFA)
´ “non-deterministic”
´Bisa terdapat lebih dari 1 state pada saat yang sama
´Transisi bersifat non-deterministic
1 qj • Setiap transisi memetakan
qi … ke himpunan state
1 qk
• Terdiri dari:
Q ==> finite set of states
∑ ==> finite set of input symbols (alphabet)
q0 ==> astart state
F ==> set of accepting states
δ ==> a transition Q x ∑
Formal Definition
0, 1 ´ L = {himpunan semua string yang berakhir dengan 0}
0
A B
0, 1 0 1
0 A {A, B} {A}
A B
B f f
• Sehingga : ∂ : Q x ∑ -> 2 Q
Contoh
misal : A
0
1. String 100 A
A
1
A
0
0
B Ö
B f
• Jika NFA mempunyai
1 paling sedikit satu final
2. String 01
0
A A C state, maka NFA tersebut
A valid
B f
Contoh 1
0
string : 001 Ö
0, 1 0 0 1
A B Final state
Initial state A B B B
string :101 C
1
Initial state A f
Contoh 2
Susun NFA yang menerima himpunan semua string {0, 1} yang panjangnya 2.
• ∑= {0, 1}
• L = {00, 01, 10, 11}
• String : 00 Ö
0, 1 0, 1 0 0
A B C A B C Final state
• String : 001 C
0 0 1
A B C f
Exercise!
0, 1
0 0, 1
A B
Contoh
´ L3 = {himpunan semua string yang dimulai dengan 10}
1 0 0, 1
A B C
0, 1
0 1 0, 1
A B C
0, 1
1 1
A B C