FINITE STATE AUTOMATA
(FSA)
Kelas Bahasa
|
Mesin Pengenal Bahasa
|
Regular Grammar, RG
|
|
Ø
Grammar tipe ke-3 : Regular Grammar (RG)
Ciri :aÎ V
, bÎ {V
, V
V
} atau aÎ V
, bÎ {V
, V
V
}








Ø FSA
didefinisikan sebagai pasangan 5 tupel
: (Q, ∑, δ, S, F).
Q :himpunan hingga
state
∑ :himpunan hingga simbol input
(alfabet)
δ :fungsi transisi,
menggambarkan transisi state FSA akibat pembacaan simbol input. Fungsi transisi ini biasanya diberikan dalam bentuk tabel.
S ÎQ : state AWAL
F ÌQ :himpunan state AKHIR
Ø Contoh : FSAuntukmengecek
parity ganjil
Q ={Gnp, Gjl} diagram transisi
∑ = {0,1}
tabeltransisi
δ
|
0
|
1
|
Gnp
|
Gnp
|
Gjl
|
Gjl
|
Gjl
|
Gnp
|
S = Gnp, F = {Gjl}
· Ada dua jenis FSA :
·
Deterministic finite automata (DFA)
·
Non deterministik finite automata.(NFA)
- DFA :transisi
state FSA akibat pembacaan sebuah symbol bersifat tertentu.
δ : Q
´ ∑® Q
-
NFA : transisi
state FSA akibat pembacaan sebuah simbol bersifat tak tentu.
δ
: Q ´ ∑ ® 2Q
DFA :
Q = {q0, q1, q2}
δ diberikan dalam tabel berikut
:
∑= {a, b}
|
δ
|
a
|
b
|
S = q0
|
q0
|
q0
|
q1
|
F = {q0, q1}
|
q1
|
q0
|
q2
|
|
q2
|
q2
|
q2
|
Kalimat yang
diterima oleh DFA : a, b, aa, ab, ba, aba, bab, abab, baba
Kalimat yang
dittolak oleh DFA : bb, abb, abba
DFA
ini menerima semua kalimat yang tersusun dari simbol a dan b yang tidak mengandung
substring bb.
Contoh :
Telusurilah,
apakahkalimat-kalimatberikutditerima DFA di atas :
abababaaèditerima
aaaabab èditerima
aaabbaba èditolak
Jawab :
i)
δ (q0,abababaa) Þ δ (q0,bababaa) Þ δ (q1,ababaa) Þ
δ (q0,babaa) Þ δ (q1,abaa) Þ δ (q0,baa) Þ δ (q1,aa) Þ
δ (q0,a) Þ q0
Tracing berakhir di q0 (state AKHIR) Þkalimat abababaa diterima
ii) δ (q0, aaaabab) Þδ (q0,aaabab) Þδ (q0,aabab) Þ
δ (q0,abab) Þ δ (q0,bab) Þ δ (q1,ab) Þ δ (q0,b) Þ q1
Tracing
berakhir di q1 (state AKHIR) Þkalimat aaaababa diterima
iii) δ (q0, aaabbaba) Þ δ (q0, aabbaba) Þ δ (q0, abbaba) Þ
δ (q0, bbaba) Þ δ (q1,baba) Þ δ (q2,aba) Þ δ (q2,ba) Þ δ (q2,a) Þq2
Tracing
berakhir di q2 (bukan state AKHIR) Þkalimat aaabbaba ditolak
Kesimpulan :
sebuah kalimat diterima oleh
DFA di atas jika tracingnya berakhir di salah satu state AKHIR.
NFA :
Berikut ini sebuah contoh NFA (Q, ∑, δ, S, F).dimana :
Q =
{q
, q
, q
,q
, q
}





δ diberikan dalam tabel berikut
:
∑= {a,
b,c}
|
δ
|
a
|
b
|
c
|
S = q
![]() |
q
![]() |
{q
![]() ![]() |
{q
![]() ![]() |
{q
![]() ![]() |
F = {q
![]() |
q
![]() |
{q
![]() ![]() |
{q
![]() |
{q
![]() |
|
q
![]() |
{q
![]() |
{q
![]() ![]() |
{q
![]() |
|
q
![]() |
{q
![]() |
{q
![]() |
{q
![]() ![]() |
|
q
![]() |
Æ
|
Æ
|
Æ
|
Ilustrasi graf untuk NFA
adalah sebagai berikut :
kalimat yang diterima NFA di atas : aa, bb, cc, aaa, abb,
bcc, cbb
kalimat yang tidak diterima NFA di atas : a, b, c, ab, ba, ac,
bc
Sebuah kalimat di terima NFA jika :
·
salah satu tracing-nya berakhir di state AKHIR, atau
·
himpunan state setelah membaca string tersebut mengandung state AKHIR
Contoh :
Telusurilah, apakah kalimat-kalimat berikut diterima NFA di atas
:
ab, abc, aabc, aabb
Jawab :
1. δ(q
,ab) Þδ(q
,b) Èδ(q
,b) Þ {q
, q
} È {q
} = {q
, q
, q
}









Himpunan state TIDAK mengandung state AKHIR Þkalimat ab tidak diterima
2. δ(q
,abc) Þδ(q
,bc) Èδ(q
,bc) Þ {δ(q
,c) Èδ(q
,c)}Èδ(q
, c)






{{ q
, q
}È{ q
}}È{ q
} = {q
, q
, q
,q
}








Himpunan
state TIDAK mengandung state AKHIR Þkalimatabctidakditerima
3. δ(q
,aabc) Þδ(q
,abc) Èδ(q
,abc)Þ{δ(q
,bc) Èδ(q
,bc)} È





δ (q
,bc)Þ{{δ(q
, c) Èδ(q
,c)} Èδ(q
, c)} Èδ(q
, c)Þ





{{{ q
, q
}È { q
}} È {q
}} È {q
} = {q
, q
, q
,q
}









Himpunan
state TIDAK mengandung state AKHIR Þkalimat aabc tidak diterima
4. δ(q
,aabb) Þδ(q
,abb) Èδ(q
,abb)



Þ{δ(q
,bb) Èδ(q
,bb)} Èδ (q
,bb)



Þ{{δ(q
, b) Èδ(q
,b)} Èδ(q
, b)} Èδ(q
, b)




Þ{{{ q
, q
}È { q
, q
}} È {q
}} È {q
} = {q
, q
, q
, q
}










Himpunan
state mengandung state AKHIR Þkalimat aabb diterima
Download disini
No comments:
Post a Comment