Você está na página 1de 45

Deterministic Finite Automata (DFA)

Non-Deterministic Automata (NFA)


1
Sri Handayaningsih, S.T., M.T.
Email : ning_s12@yahoo.com
Teknik Informatika
Pertemuan Ke-4
TIU dan TIK
1. Mengetahui perbedaan antara DFA
dan NFA
2. Perbedaan DFA dan NFA
3. Ekuivalensi antar FA
TEORI BAHASAOTOMATA
2
3. Ekuivalensi antar FA
4. Definisi Formal NFA
5. Fungsi transisi NFA
6. Contoh-contoh NFA dengan inputan
string yang diterima dan ditolak.
FA
FA dibagi menjadi 2, yaitu :
Jenis FA Definisi Bentuk Transisi
1. DFA
(Deterministic
Finite
FA di dalam
menerima input
mempuyai tepat
satu busur keluar.
TEORI BAHASAOTOMATA
3
Finite
Automata)
satu busur keluar.
2. NFA
(Non Deterministic
Finite Automata)
FA di dalam
menerima input
mempuyai lebih
dari satu busur
keluar atau tidak
punya busur
keluar.
Graph Transisi DFA
TEORI BAHASAOTOMATA
4
o a b
q0 q0 q1
q1 q2 q2
q2 q2 q2
Graph Transisi NFA
TEORI BAHASAOTOMATA
5
o a
q0 {q1,q3}
q1 q2
q2 -
q3 -
Ekuivalensi Antar FA
Diberikan dua mesin FA M1 dan M2.
Masing-masing menerima bahasa L(M1)
dan L(M2).
TEORI BAHASAOTOMATA
6
Kedua mesin tersebut disebut ekuivalen
jika menerima bahasa yang sama yaitu :
L(M1) = L(M2)
q0 q1
a
a
NFA M1
q0 q1
a
a
DFA M2
Graf Transisi M1
Graf Transisi M2
TEORI BAHASAOTOMATA
7
o a
q0 {q0, q1}
q1 -
o a
q0 q1
q1 q1
L(M1) = a
n
a L(M2) = aa
n
Definisi Formal NFA
( ) F q Q M , , , ,
0
o E =
: Q
Himpunana state, mis.
{ }
2 1 0
, , q q q
: E
Inputan alphabet, mis :{ } b a,
TEORI BAHASAOTOMATA
8
: o
:
0
q
: F
: E
Inputan alphabet, mis :{ } b a,
Fungsi Transisi
State awal
State akhir
( ) { }
1 0
1 , q q = o
Fungsi Transisi
o
TEORI BAHASAOTOMATA
9
0
1
1 , 0

0
q
1
q
2
q
} , { ) 0 , (
2 0 1
q q q = o
TEORI BAHASAOTOMATA
10
0
q
0
1
1 , 0

1
q
2
q
} , { ) , (
2 0 0
q q q = o
TEORI BAHASAOTOMATA
11
0
q
0
1
1 , 0

1
q
2
q
C = ) 1 , (
2
q o
TEORI BAHASAOTOMATA
12
0
q
0
1
1 , 0

1
q
2
q
1
q
2
q
a
} {a Alphabet =
Nondeterministic Finite Automaton (NFA)
TEORI BAHASAOTOMATA
13
3
q
a
a
0
q
1
q
2
q
a
Dua Pilihan
} {a Alphabet =
TEORI BAHASAOTOMATA
14
3
q
a
a
0
q
1
q
2
q
a
Dua Pilihan
Tdk ada
Transisi
} {a Alphabet =
TEORI BAHASAOTOMATA
15
Tdk ada
Transisi
3
q
a
a
0
q
Transisi
a a
1
q
2
q
Pilihan Pertama
a
TEORI BAHASAOTOMATA
16
0
q
3
q
a
a
a a
1
q
2
q
a
First Choice
TEORI BAHASAOTOMATA
17
0
q
3
q
a
a
a a
1
q
2
q
First Choice
a
TEORI BAHASAOTOMATA
18
0
q
3
q
a
a
a a
1
q
2
q
a
diterima
Pilihan Pertama
Inputan sudah selesai
TEORI BAHASAOTOMATA
19
0
q
3
q
a
a
a a
1
q
2
q
Pilihan Kedua
a
TEORI BAHASAOTOMATA
20
0
q
3
q
a
a
a a
1
q
2
q
Pilihan Kedua
a
TEORI BAHASAOTOMATA
21
0
q
a
a
3
q
a a
1
q
2
q
a
Pilihan Kedua
TEORI BAHASAOTOMATA
22
0
q
a
a
3
q
Tdk ada transisi:
automata error
a a
1
q
2
q
a
Pilihan Kedua
Inputan belum selesai
TEORI BAHASAOTOMATA
23
0
q
a
a
3
q
ditolak
Sebuah NFA menerima string, jika:
Kamputasi pada NFA menerima string
Seluruh inputan dimasukkan dan
automata dimulai dari state awal
Komputasi adalah :
TEORI BAHASAOTOMATA
24
automata dimulai dari state awal
menuju ke state akhir
Contoh 1
aa
Apakah diterima oleh NFA:
1
q
2
q
a
diterima
1
q
2
q
a
pilihan 1
pilihan 2
TEORI BAHASAOTOMATA
25
0
q
1
q
2
q
3
q
a
a
a
0
q
1
q
2
q
a
a
a
3
q
ditolak
Diagram transisi yang dipilih adalah pilihan 1.
Karena komputasi dapat diterima
aa
a
1
q
2
q
Contoh yang Tidak Diterima
a
TEORI BAHASAOTOMATA
26
0
q
3
q
a
a
a
1
q
2
q
a
Pilihan Pertama
TEORI BAHASAOTOMATA
27
0
q
3
q
a
a
a
1
q
2
q
a
Pilihan Pertama
ditolak
TEORI BAHASAOTOMATA
28
0
q
3
q
a
a
Pilihan Kedua
a
1
q
2
q
a
TEORI BAHASAOTOMATA
29
0
q
3
q
a
a
Pilihan Kedua
a
1
q
2
q
a
TEORI BAHASAOTOMATA
30
0
q
a
a
3
q
Pilihan Kedua
a
1
q
2
q
a
TEORI BAHASAOTOMATA
31
0
q
a
a
3
q ditolak
Sebuah NFA Menolak string, jika:
Tidak ada komputasi pada NFA yang menerima
string.
seluruh inputan selesai dimasukkan
Untuk setiap komputasi:
TEORI BAHASAOTOMATA
32
seluruh inputan selesai dimasukkan
dan automata tidak sampai pada
State akhir.
Inputan belum selesai dimasukkan
ATAU
Contoh 2
a Apakah ditolak oleh NFA:
1
q
2
q
a
1
q
2
q
a
ditolak
TEORI BAHASAOTOMATA
33
0
q
1
q
2
q
a
a
a
3
q
ditolak
0
q
1
q
2
q
a
a
a
3
q
Seluruh komputasi yang mungkin ditolak
Contoh Yang Ditolak
a a
1
q
2
q
a
a
TEORI BAHASAOTOMATA
34
0
q
3
q
a
a
a a
1
q
2
q
a
Pilihan Pertama
a
TEORI BAHASAOTOMATA
35
0
q
3
q
a
a
a a
1
q
2
q
Pilihan Pertama
a
a
TEORI BAHASAOTOMATA
36
0
q
3
q
a
a
Tidak ada transisi:
Automata error
a a
1
q
2
q
a
ditolak
Pilihan Pertama
a
Inputan tidak terselesaikan
TEORI BAHASAOTOMATA
37
0
q
3
q
a
a
a a
1
q
2
q
Pilihan Kedua
a
a
TEORI BAHASAOTOMATA
38
0
q
3
q
a
a
a a
1
q
2
q
Pilihan Kedua
a
a
TEORI BAHASAOTOMATA
39
0
q
a
a
3
q
a a
1
q
2
q
a
Pilihan Kedua
a
TEORI BAHASAOTOMATA
40
0
q
a
a
3
q
Tidak ada transisi:
Automata error
a a
1
q
2
q
a
Pilihan Kedua
a
Inputan tidak terselesaikan
TEORI BAHASAOTOMATA
41
0
q
a
a
3
q
ditolak
aaa Ditolak oleh NFA
1
q
2
q
a
ditolak
1
q
2
q
a
TEORI BAHASAOTOMATA
42
0
q
1
q
2
q
3
q
a
a
a
0
q
1
q
2
q
a
a
a
3
q
ditolak
Seluruh komputasi yang mungkin ditolak
1
q
2
q
a
L(M)?
TEORI BAHASAOTOMATA
43
3
q
a
a
0
q
1
q
2
q
a
Bahasa yang menerima:
} {aa L =
TEORI BAHASAOTOMATA
44
3
q
a
a
0
q
Pustaka
1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,
Teknik Informatika UAD, 2005
2. 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 Theory of
TEORI BAHASAOTOMATA
45
3. Martin C. John, Introduction to Languages and Theory of
Computation, McGraw-Hill Internatioanal edition,1991
4. Linz Peter,Introduction to Formal Languages & Automata,
DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan Kuliah Matematika
Informatika, Magister Teknik Informatika ITB, 1998
6. Hinrich Schtze, IMS, Uni Stuttgart, WS 2006/07,
Slides based on RPI CSCI 2400

Você também pode gostar