0
Finite State Automata (FSA)
Posted by jujur
on
5:43 AM
Finite state automata (FSA) bukanlah mesin
fisik tetapi suatu model matematika dari
suatu sistem yang menerima input dan output. FSA merupakan mesin automata dari
bahasa regular (tipe 3). Suatu FSA
memiliki state yang banyaknya berhingga, dan dapat berpindah dari suatu state ke state lain. Perubahan state
dinyatakan oleh fungsi transisi.
Suatu FSA secara formal dinyatakan oleh 5
(lima) tupel M = (Q, Σ, δ, S, F) dimana :
Q = Himpunan state / kedudukan
S = Himpunan simbol input / masukan
d =
Fungsi transisi
S
= State awal / kedudukan awal
F
= Himpunan state akhir
FSA
berdasar pada pendefinisian kemampuan berubah state-statenya bisa dikelompokkan
kedalam Deterministic Finite Automata dan Non Deterministic Finite Automata.
Deterministic Finite Automata (DFA)
Pada DFA dari suatu
state ada tepat satu state berikutnya untuk setiap simbol input (masukan) yang
di terima.
Konfigurasi DFA contoh 1 secara formal adalah sebagai berikut :
Q = {q0, q1, q2}
S = {a, b}
S = q0
F = {q2}
Fungsi-fungsi transisinya sebagai berikut :
d (q0, a) = q0, d (q0, b) = q1,
d (q1, a) = q1, d (q1, b) = q2,
d (q2, a) = q1, d (q2, b) = q2.
Jika disajikan dalam tabel transisi :
d
|
a
|
b
|
q0
|
q0
|
q1
|
q1
|
q1
|
q2
|
q2
|
q1
|
q2
|
*
Dalam DFA, selalu dan pasti terdapat satu state berikutnya untuk setiap
pasangan state-input.
Non Deterministic Finite Automata (NFA)
Pada NFA dari suatu
state bisa terdapat nol (0), satu (1), atau lebih busur keluar (transisis)
berlabel simbol yang sama. Jadi setiap pasangna state-input, kita bisa memiliki 0 atau lebih pilihan untuk
state berikutnya
Pada NFA contoh 2 diatas terdapat dua
busur keluar berlabel input ‘a’. Dari state
q0 bila mendapat input ‘a’ bisa berpindah ke state q0 atau q1 yang secara
formal dinyatakan : d (q0, a) =
{q0, q1}
Konfigurasi NFA contoh 2 secara formal adalah sebagai berikut :
Q = {q0, q1 }
S = {a, b}
S = q0
F = {q1}
Fungsi-fungsi transisinya sebagai berikut :
d (q0, a) = {q0,q1}, d (q0, b) =
q1,
d (q1, a) = q1, d (q1, b) =
q1,
Jika disajikan dalam tabel transisi :
d
|
a
|
b
|
q0
|
{q0,q1}
|
{q1}
|
q1
|
{q1}
|
{q1}
|
*
Perhatikan : Dalam cara penulisan state hasil transisi pada tabel transisi
untuk NFA, digunakan kurung kurawal ‘{‘ dan ‘}’karena hasil transisisnya
merupakan suatu himpunan state.
* Pada bagian
ini dapat dilihat NFA dengan lebih dari satu pilihan state berikutnya
Konfigurasi
NFA contoh 3 secara formal adalah sebagai berikut :
Q
= {q0, q1 }
S =
{a, b}
S
= q0
F
= {q1}
Fungsi-fungsi transisinya sebagai
berikut :
d (q0, a) = q1, d (q0, b) =
q0,
d (q1, a) = q0, d (q1, b) = Ø,
Jika disajikan dalam tabel transisi :
d
|
a
|
b
|
q0
|
{q1}
|
{q0}
|
q1
|
{q0}
|
Ø
|