download

Matakuliah
Tahun
Versi
: T0162/Teori Bahasa dan Automata
: 2005
: 1/0
Pertemuan 4
Non Deterministic Finite Automaton
(NFA)
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• << TIK-99 >>
• << TIK-99>>
2
Outline Materi
•
•
•
•
•
Materi 1
Materi 2
Materi 3
Materi 4
Materi 5
3
Non Deterministic Finite
Automaton (NFA)
• Lebih dari satu transisi untuk input yang
sama dari suatu state.
• Contoh :
4
Non Deterministic Finite
Automaton (NFA)
1
Start
0
q0
0
q3
0
q4
0 1
1
q1
1
q2
0
1
5
Non Deterministic Finite
Automaton (NFA)
String diterima :
• Bila ada suatu path berlabel w dari start
state ke salah satu final state, maka w
diterima.
• Contoh :
Input : 01001
6
Non Deterministic Finite
Automaton (NFA)
q0
0
q0
0
1
q0
1
q3
0
q0
0
q1
0
q0
0
q3
1
q0
1
q3
q0
0
q4
1
q4 : Diterima
• Catatan : mungkin ada lebih dari satu path
yang berlabel w tapi, harus ada
salah satu path yang berakhir di final
state, agar w dapat diterima.
7
Non Deterministic Finite
Automaton (NFA)
Definisi Formal NFA :
M = (O, , , q0, F)
O, , q0, F : seperti pada FA
 : O    2O
• (q,a) : himpunan state p sehingga ada
transisi berlabel a dari q ke p.
8
Non Deterministic Finite
Automaton (NFA)
•  NFA di atas
9
Non Deterministic Finite
Automaton (NFA)
Transisi atas String :
 : O  *  2O

1.
2.
 (q,) = {q}

 (q,w), p dalam
 (q,wa) = {pr dalam 

(r,a)}

 : 2O  *  2O :
 (P,w) =   {q,w}, P  Q

qp 
10
Non Deterministic Finite
Automaton (NFA)
Catatan :
 (q,a) = (q,a)

Language Accepted / diterima :
NFA M = (O, , , q0, F),
L (M) = {w  (q0,w) elemen dari F}
11
Non Deterministic Finite
Automaton (NFA)
Contoh :
NFA di atas dengan input : 01001

= {q0,q3}
 (q0,0)

= (  (q0,0),1)
 (q0,01)
= ({q0,q3},1)
= (q0,1)  (q3,1)
= {q0,q1}


(q0,010) = {q0,q3}

 (q0,0100) = {q0,q3,q4}

 (q0,01001) = {q0,q1,q4}
12
Non Deterministic Finite
Automaton (NFA)
Theorem :
• Bila L adalah L(M) untuk suatu NFA,
maka L diterima suatu FA.
Finite Automata dengan -move :
• Memungkinkan transisi atas input
kosong (empty) .
13
Non Deterministic Finite
Automaton (NFA)
• Contoh :
q0
0

q0
1

q0
2
14
Non Deterministic Finite
Automaton (NFA)
Fungsi Transisi :
 : O  (  {})  2O
(q,a) : a mungkin  atau a  
Tabel transisi :
(Untuk contoh di atas)
15
Non Deterministic Finite
Automaton (NFA)
-Closure (q) :
16
Non Deterministic Finite
Automaton (NFA)
• Himpunan state p dimana ada path dari q
ke p berlabel 
• Contoh :
-Closure (q0) = {q0, q1, q2}
• Bila P himpunan state :

q
-closure (P) = p -closure (q)
17
Non Deterministic Finite
Automaton (NFA)
Transisi dengan String  :
1.  (q,) = -closure (q)


2. (q,wa) = -closure (P),
dimana
P = {puntuk semua r dalam
dalam (r,a)}


(q,w), p
18
Non Deterministic Finite
Automaton (NFA)
3. (R,a) =
4.

 (R,w)
=
 (q,a)
qR

 
qR
(q,w)
dimana R : himpunan state
19
Non Deterministic Finite
Automaton (NFA)
Language Accepted :
• L yang diterima NFA dengan -move :
L(M) = {w(q0,w) dalam F}
• Contoh :
Untuk NFA di atas :
20
Non Deterministic Finite
Automaton (NFA)

(q0,)

 (q0,0)

= -closure (q0) = {q0,q1,q2}
= -closure ((  (q0,),0))
= -closure (({q0,q1,q2},0))
= -closure ((q0,0) (q1,0)
(q2,0)
= -closure ({q0}    )
= -closure ({q0}) = {q0,q1,q2}
21
Non Deterministic Finite
Automaton (NFA)
Selanjutnya :

 (q0,01) = -closure ((  (q0,0),1))
= -closure (({q0,q1,q2},1))
= -closure ({q1}) = {q1,q2}
Theorem :
• Jika L diterima NFA dengan
-transition, maka L diterima NFA tanpa
-Transition.
22
<< CLOSING>>
23