Anda di halaman 1dari 12

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

´ Sederhana dan mudah desainnya


Non Deterministic Finite Automata
´ Non Deterministic
´ Dalam NFA, Saat berada di state tertentu
akan lanjut ke multiple state B
´ State berikutnya dipilih secara random 1
0
´ Semua state berikutnya dapat dipilih secara
paralel 0 C
A
1
D
e

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

• Didefiniskan dengan 5-tuple: {Q, ∑ , δ, q0,F }

• 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

NFA = (Q, ∑, δ, q0, F),


dimana :
Q : himpunan semua state -> {A, B}
∑ : input -> {1, 0}
q0 : State awal / Initial State -> A
F : Himpunan final state -> B
∂ :Qx∑
∂ :Qx∑

0, 1 0 1
0 A {A, B} {A}
A B
B f f

• A -> A, B, AB, f 2 state ada 4 kemungkinan transisi 22

• Misal terdapat 3 state , A, B, C:


• A -> A, B, C, AB, AC, BC, ABC, f 3 state ada 8 kemungkinan transisi 23

• Sehingga : ∂ : Q x ∑ -> 2 Q
Contoh

0, 1 • L = {himpunan semua string yang


A 0 berakhir dengan 0}
B

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

• L1 = himpunan semua string yang dimulai dengan ’0’


= {0, 00, 01, 000, 010, 011, 0000, ………..}

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!

´ Gambarkan bentuk NFA dari Bahasa berikut ini:


´ L1 = {himpunan semua string yang berakhir dengan 1}
´ L2 = {himpunan semua string yang mengandung 0}
´ L3 = {himpunan semua string yang dimulai dengan 10}
´ L4 = {himpunan semua string yang mengandung 01}
´ L5 = {himpunan semua string yang berakhir dengan 11}
Contoh
´ L1 = {himpunan semua string yang berakhir dengan 1}

01, 001, 0001, 0*1, 1, 101, 1101, ………..


0, 1
1
A B

´ L2 = {himpunan semua string yang mengandung 0}

0, 1
0 0, 1
A B
Contoh
´ L3 = {himpunan semua string yang dimulai dengan 10}

1 0 0, 1
A B C

´ L4 = {himpunan semua string yang mengandung 01}

0, 1
0 1 0, 1
A B C

´ L5 = {himpunan semua string yang berakhir dengan 11}

0, 1
1 1
A B C

Anda mungkin juga menyukai