Deterministic Finite Automata(DFA ... - Teori Bahasa Otomata · PDF filePustaka 1. Tedy...
Transcript of Deterministic Finite Automata(DFA ... - Teori Bahasa Otomata · PDF filePustaka 1. Tedy...
Deterministic Finite Automata (DFA)Non-Deterministic Automata (NFA)
1
Sri Handayaningsih, S.T., M.T.Email : [email protected]
Teknik Informatika
Pertemuan Ke-4
TIU dan TIK
1. Mengetahui perbedaan antara DFAdan NFA
2. Perbedaan DFA dan NFA3. Ekuivalensi antar FA
TEORI BAHASA OTOMATA2
3. Ekuivalensi antar FA4. Definisi Formal NFA5. Fungsi transisi NFA6. Contoh-contoh NFA dengan inputan
string yang diterima dan ditolak.
FAFA dibagi menjadi 2, yaitu :
Jenis FA Definisi Bentuk Transisi
1. DFA(Deterministic
Finite
FA di dalammenerima inputmempuyai tepatsatu busur keluar.
TEORI BAHASA OTOMATA3
FiniteAutomata)
satu busur keluar.
2. NFA(Non DeterministicFinite Automata)
FA di dalammenerima inputmempuyai lebihdari satu busurkeluar atau tidakpunya busurkeluar.
Graph Transisi DFA
TEORI BAHASA OTOMATA4
a b
q0 q0 q1
q1 q2 q2
q2 q2 q2
Graph Transisi NFA
TEORI BAHASA OTOMATA5
a
q0 {q1,q3}
q1 q2q2 -q3 -
Ekuivalensi Antar FA
Diberikan dua mesin FA M1 dan M2.Masing-masing menerima bahasa L(M1)dan L(M2).
TEORI BAHASA OTOMATA6
Kedua mesin tersebut disebut ekuivalenjika menerima bahasa yang sama yaitu :
L(M1) = L(M2)
q0 q1a
a
NFA M1q0 q1
a
a
DFA M2
Graf Transisi M1 Graf Transisi M2
TEORI BAHASA OTOMATA7
a
q0 {q0, q1}
q1 -
a
q0 q1
q1 q1
L(M1) = ana L(M2) = aan
Definisi Formal NFA FqQM ,,,, 0
:Q Himpunana state, mis. 210 ,, qqq
: Inputan alphabet, mis : ba,
TEORI BAHASA OTOMATA8
:
:0q
:F
: Inputan alphabet, mis : ba,
Fungsi Transisi
State awal
State akhir
10 1, qq
Fungsi Transisi
TEORI BAHASA OTOMATA9
0
11,0
0q 1q 2q
},{)0,( 201 qqq
TEORI BAHASA OTOMATA10
0q0
11,0
1q 2q
},{),( 200 qqq
TEORI BAHASA OTOMATA11
0q0
11,0
1q 2q
)1,( 2q
TEORI BAHASA OTOMATA12
0q0
11,0
1q 2q
1q 2qa
}{aAlphabet =
Nondeterministic Finite Automaton (NFA)
TEORI BAHASA OTOMATA13
3q
a
a0q
1q 2qaDua Pilihan
}{aAlphabet =
TEORI BAHASA OTOMATA14
3q
a
a0q
1q 2qaDua Pilihan Tdk adaTransisi
}{aAlphabet =
TEORI BAHASA OTOMATA15
Tdk adaTransisi
3q
a
a0q
Transisi
a a
1q 2q
Pilihan Pertama
a
TEORI BAHASA OTOMATA16
0q
3q
a
a
a a
1q 2qa
First Choice
TEORI BAHASA OTOMATA17
0q
3q
a
a
a a
1q 2q
First Choice
a
TEORI BAHASA OTOMATA18
0q
3q
a
a
a a
1q 2qa diterima
Pilihan Pertama
Inputan sudah selesai
TEORI BAHASA OTOMATA19
0q
3q
a
a
a a
1q 2q
Pilihan Kedua
a
TEORI BAHASA OTOMATA20
0q
3q
a
a
a a
1q 2q
Pilihan Kedua
a
TEORI BAHASA OTOMATA21
0q
a
a
3q
a a
1q 2qa
Pilihan Kedua
TEORI BAHASA OTOMATA22
0q
a
a
3q Tdk ada transisi:automata error
a a
1q 2qa
Pilihan Kedua
Inputan belum selesai
TEORI BAHASA OTOMATA23
0q
a
a
3q “ditolak”
Sebuah NFA menerima string, jika:Kamputasi pada NFA menerima string
Seluruh inputan dimasukkan danautomata dimulai dari state awal
Komputasi adalah :
TEORI BAHASA OTOMATA24
automata dimulai dari state awalmenuju ke state akhir
Contoh 1aaApakah diterima oleh NFA:
1q 2qa
“diterima”
1q 2qa
pilihan 1 pilihan 2
TEORI BAHASA OTOMATA25
0q
1q 2q
3q
a
a
a
0q
1q 2qa
a
a
3q “ditolak”
Diagram transisi yang dipilih adalah pilihan 1.Karena komputasi dapat diterima aa
a
1q 2q
Contoh yang Tidak Diterima
a
TEORI BAHASA OTOMATA26
0q
3q
a
a
a
1q 2qa
Pilihan Pertama
TEORI BAHASA OTOMATA27
0q
3q
a
a
a
1q 2qa
Pilihan Pertama
“ditolak”
TEORI BAHASA OTOMATA28
0q
3q
a
a
Pilihan Kedua
a
1q 2qa
TEORI BAHASA OTOMATA29
0q
3q
a
a
Pilihan Kedua
a
1q 2qa
TEORI BAHASA OTOMATA30
0q
a
a
3q
Pilihan Kedua
a
1q 2qa
TEORI BAHASA OTOMATA31
0q
a
a
3q “ditolak”
Sebuah NFA Menolak string, jika:Tidak ada komputasi pada NFA yang menerimastring.
• seluruh inputan selesai dimasukkan
Untuk setiap komputasi:
TEORI BAHASA OTOMATA32
• seluruh inputan selesai dimasukkandan automata tidak sampai pada
State akhir.
•Inputan belum selesai dimasukkanATAU
Contoh 2aApakah ditolak oleh NFA:
1q 2qa1q 2qa
“ditolak”
TEORI BAHASA OTOMATA33
0q
1q 2qa
a
a
3q “ditolak”0q
1q 2qa
a
a
3q
Seluruh komputasi yang mungkin “ditolak”
Contoh Yang Ditolak
a a
1q 2qa
a
TEORI BAHASA OTOMATA34
0q
3q
a
a
a a
1q 2qa
Pilihan Pertama
a
TEORI BAHASA OTOMATA35
0q
3q
a
a
a a
1q 2q
Pilihan Pertama
a
a
TEORI BAHASA OTOMATA36
0q
3q
a
a Tidak ada transisi:Automata error
a a
1q 2qa “ditolak”
Pilihan Pertama
aInputan tidak terselesaikan
TEORI BAHASA OTOMATA37
0q
3q
a
a
a a
1q 2q
Pilihan Kedua
a
a
TEORI BAHASA OTOMATA38
0q
3q
a
a
a a
1q 2q
Pilihan Kedua
a
a
TEORI BAHASA OTOMATA39
0q
a
a
3q
a a
1q 2qa
Pilihan Kedua
a
TEORI BAHASA OTOMATA40
0q
a
a
3q Tidak ada transisi:Automata error
a a
1q 2qa
Pilihan Kedua
aInputan tidak terselesaikan
TEORI BAHASA OTOMATA41
0q
a
a
3q “ditolak”
aaa Ditolak oleh NFA
1q 2qa
“ditolak”1q 2qa
TEORI BAHASA OTOMATA42
0q
1q 2q
3q
a
a
a
0q
1q 2qa
a
a
3q “ditolak”
Seluruh komputasi yang mungkin “ditolak”
1q 2qa
L(M)?
TEORI BAHASA OTOMATA43
3q
a
a0q
1q 2qa
Bahasa yang menerima: }{aaL
TEORI BAHASA OTOMATA44
3q
a
a0q
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, andComputation, 2rd, Addison-Wesley,2000
3. Martin C. John, Introduction to Languages and Theory of
TEORI BAHASA OTOMATA45
3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991
4. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998
6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400