Anda di halaman 1dari 23

Finite State Automata &

Non Finite State Automata

Materi untuk Kuliah Mhs STMIK Adhi Guna


Suluh sw

Model matematika suatu sistem yang menerima


input dan output diskrit
Mesin automata dari bahasa Regular
Tidak memiliki tempat penyimpanan sehingga
kemampuan mengingat terbatas
(contoh: elevator/lift)

Teori Bahasa dan Automata

Suluh sw

Aplikatif - berguna untuk merancang sistem nyata.


Aplikasi meliputi :
analisis leksikal, text-editor, protokol komunikasi
jaringan (kermit) dan parity checker (pengecek
parity).

Suluh sw

FSA atau AH (Automata Hingga)


Sebagai pasangan 5 tupel M = (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
Teori Bahasa dan Automata

Suluh sw

Contoh :
Seorang petani dengan seekor serigala, kambing dan seikat
rumput berada pada suatu sisi sungai. Tersedia hanya sebuah
perahu kecil yang hanya dapat dimuati dengan petani tersebut
dengan salah satu serigala, kambing atau rumput. Petani
tersebut harus menyeberangkan ketiga bawaannya kesisi lain
sungai. Tetapi jika petani meninggalkan serigala dan kambing
pada suatu saat, maka kambing akan dimakan serigala. Begitu
pula jika kambing ditinggalkan dengan rumput, maka rumput
akan dimakan oleh kambing. Mungkinkah ditemukan suatu cara
untuk melintasi sungai tanpa menyebabkan kambing atau
rumput dimakan.
Teori Bahasa dan Automata

Suluh sw

16 kemungkinan kombinasi state


Sisi
kiri

Sisi
Kanan

Simbol
State

Sisi kiri

Sisi Kanan

Simbol State

PSKR

PSKR

PSKR

SR

SR

PK

PK

SR PK

PSR

PSR K

SK

PR

SK PR

PKR

S PKR

KR

PS

KR PS

PKS R

PSR

PSR K

PKS
K

PSR

K PSR

PSK

PSK R

PK

SR

PK SR

PKR
PK

PKR S

PSKR

PSKR

SR

PK SR

PR

SK

PR SK

PS

KR

PS KR

PSR

K PSR

PSK

R PSK

S PKR

SKR

PKR
P

SKR

P SKR

PSKR

PSKR

PSKR

SR PK

Dari 16 kemungkinan kombinasi


state , hanya 8 state yang
memenuhi syarat.

SKR P

Teori Bahasa dan Automata

Suluh sw

PK
PKSR -

SR - PK

PK

PSR - K

PS

PK

Diagram Transisi

PR

PS

R - PKS

S- PKR
PK

PK

PK
PKS - R

PKR - S
PR

PR

PS

PR

PS

K - PSR
P
P

PK - SR
PK

PK
- PKSR
Teori Bahasa dan Automata

Suluh sw

Ada dua jenis FSA :


Deterministic finite automata (DFA)
Non deterministik finite automata.(NFA)
DFA : transisi state FSA akibat pembacaan sebuah simbol bersifat
tertentu.
NFA : transisi state FSA akibat pembacaan sebuah simbol bersifat
tak tentu.

Teori Bahasa dan Automata

Suluh sw

Deterministic finite automata (DFA) M = (Q, , , S, F),


dimana :
Q

S
F

: himpunan state/kedudukan
: himpunan simbol input
: fungsi transisi, dimana Q x Q
: State awal (initial state)
: himpunan state akhir (Final State)

Language L(M) : (x| (S,x) di dalam F)

Teori Bahasa dan Automata

Suluh sw

DFA :
Q = {q0, q1, q2}
diberikan dalam tabel berikut :
= {a, b}

S = q0

q0

q0

q1

F = {q0, q1}

q1

q0

q2

q2

q2

q2

L(M) =
{abababaa, aaaabab,aabababa,}

a
b
q0

q1
a

q2

Teori Bahasa dan Automata

Suluh sw

Telusurilah, apakah kalimat-kalimat


berikut diterima ?
abababaa, aaaabab , aaabbaba
Jawab :
(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
Kesimpulan :
Sebuah kalimat diterima oleh DFA di atas jika tracingnya
berakhir di salah satu state AKHIR.

Teori Bahasa dan Automata

Suluh sw

Non Deterministic finite automata (NFA) M = (Q, , , S, F),


dimana :
Q : himpunan state/kedudukan
: himpunan simbol input
: fungsi transisi, dimana Q x ( ) P(Q)
P(Q) : set of all subsets of Q
S : State awal (initial state)
F : himpunan state akhir (Final State)

Language L(M) : (x| (S,x) di dalam F)

Teori Bahasa dan Automata

Suluh sw

02
4
13

Berikut ini sebuah contoh NFA (Q, , ,


S, F). dimana :
Q = {q 0, q1 , q2 ,q3 , q4 }
diberikan dalam tabel berikut :
= {a, b,c}

S = q0

q0

{q0 , q 1}

{q0 , q2 }

{q0 , q3 }

F = {q4}

q1

{q1 , q4 }

{q1 }

{q 1}

q2

{q2 }

{q 2, q4 }

{q 2}

q3

{q3 }

{q3 }

{q 3, q4 }

q4

Teori Bahasa dan Automata

Suluh sw

= {a, b,c}

S = q0

q0

{q0 , q 1}

{q0 , q2 }

{q0 , q3 }

F = {q4 }

q1

{q1 , q4 }

{q1 }

{q 1}

q2

{q2 }

{q 2, q4 }

{q 2}

q3

{q3 }

{q3 }

{q 3, q4 }

q4

a,b,c

a,b,c
a

a
b

q3
a,b,c

L(M) = {aabb,}

q1
q1

q0

q2

q4

a,b,c
c

Teori Bahasa dan Automata

Suluh sw

Sebuah kalimat di terima NFA jika :


Salah satu tracing-nya berakhir di state AKHIR, atau
himpunan state setelah membaca string tersebut mengandung state AKHIR
Telusurilah, apakah kalimat-kalimat berikut
diterima NFA di atas :
ab, abc, aabc, aabb

Jawab:
(q0 ,ab) (q0,b) (q1 ,b) {q0, q2} {q1 } = {q0 , q1 , q2}
Himpunan state TIDAK mengandung state AKHIR kalimat ab tidak diterima
(q0 ,abc) (q0 ,bc) (q1 ,bc) { (q0 ,c) (q2 ,c)}(q1 , c)
{{ q0 , q3 }{ q2 }}{ q1 } = {q0 , q1 , q2 ,q3 }
Himpunan state TIDAK mengandung state AKHIR kalimat abc tidak diterima

Teori Bahasa dan Automata

Suluh sw

Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1)


= L(M2)
0
0

q1

q0
M1

0
q0
M2

Teori Bahasa dan Automata

Suluh sw

Reduksi dilakukan untuk mengurangi jumlah state tanpa


mengurangi kemampuan untuk menerima suatu bahasa
seperti semula (efisiensi)
State pada FSA dapat direduksi apabila terdapat useless
state
Hasil dari FSA yang direduksi merupakan ekivalensi dari
FSA semula

Teori Bahasa dan Automata

Suluh sw

Pasangan State dapat dikelompokkan berdasarkan:


Distinguishable State (dapat dibedakan)
Dua state p dan q dari suatu DFA dikatakan indistinguishable
apabila:
(q,w) F dan (p,w) F atau (q,w) F dan (p,w) F
untuk semua w S*
Indistinguishable State ( tidak dapat dibedakan)
Dua state p dan q dari suatu DFA dikatakan distinguishable jika ada
string w S* hingga:
(q,w) F dan (p,w) F
Teori Bahasa dan Automata

Suluh sw

Pasangan dua buah state memiliki salah satu kemungkinan : distinguishable


atau indistinguishable tetapi tidak kedua-duanya. Dalam hal ini terdapat
sebuah relasi :
Jika
dan
maka

p dan q indistinguishable,
q dan r indistinguishable
p, r
indistinguishable dan
p,q,r
indistinguishable

Dalam melakukan eveluasi state, didefinisikan suatu relasi : Untuk Q yg


merupakan himpunan semua state
D
adalah himpunan state-state distinguishable, dimana D Q
N
adalah himpunan state-state indistinguishable, dimana N Q
maka x N jika x Q dan x D
Teori Bahasa dan Automata

Suluh sw

Hapuslah semua state yg tidak dapat dicapai dari state awal


(useless state)
Buatlah semua pasangan state (p, q) yang distinguishable, dimana
p F dan q F. Catat semua pasangan-pasangan state tersebut.
Cari state lain yang distinguishable dengan aturan:
Untuk semua (p, q) dan semua a , hitunglah (p, a) = pa dan (q,
a) = qa . Jika pasangan (pa, qa) adalah pasangan state yang
distinguishable maka pasangan (p, q) juga termasuk pasangan yang
distinguishable.
Semua pasangan state yang tidak termasuk sebagai state yang
distinguishable merupakanstate-state indistinguishable.
Beberapa state yang indistinguishable dapat digabungkan menjadi
satu state.
Sesuaikan transisi dari state-state gabungan tersebut.
Teori Bahasa dan Automata

Suluh sw

Sebuah Mesin DFA


q1

0,1

0
q0

q2
1

0
q3

q4

0
q5

Lakukan Reduksi state pada


DFA diatas?

Teori Bahasa dan Automata

Suluh sw

State q5 tidak dapat dicapai dari state awal dengan jalan apapun (useless
state). Hapus state q5
Catat state-state distinguishable, yaitu :
q4 F sedang q0, q1, q2, q3 F sehingga pasangan
(q0, q4) (q1, q4) (q2, q4) dan (q3, q4) adalah distinguishable.
Pasangan-pasangan state lain yang distinguishable diturunkan berdasarkan
pasangan dari langkah 2, yaitu :
Untuk pasangan (q0, q1)
(q0, 0) = q1 dan (q1, 0) = q2 belum teridentifikasi
(q0, 1) = q3 dan (q1, 1) = q4 (q3, q4) distinguishable
maka
(q0, q1) adalah distinguishable.
Untuk pasangan (q0, q2)
(q0, 0) = q1 dan (q2, 0) = q1 belum teridentifikasi
(q0, 1) = q3 dan (q2, 1) = q4 (q3, q4) distinguishable
maka
(q0, q2) adalah distinguishable.
Teori Bahasa dan Automata

Suluh sw

Setelah diperiksa semua pasangan state maka terdapat state-state yang


distinguishable : (q0,q1), (q0,q2), (q0,q3), (q0,q4), (q1,q4), (q2,q4), (q3,q4)
Karena berdasarkan relasi-relasi yang ada, tidak dapat dibuktikan (q1, q2),
(q1, q3) dan (q2, q3) distinguishable, sehingga disimpulkan pasanganpasangan state tersebut indistinguishable.

Karena q1 indistinguishable dengan q2, q2 indistinguishable dengan q3,


maka dapat disimpulkan q1, q2, q3 saling indistinguishable dan dapat
dijadikan satu state.

Berdasarkan hasil diatas maka hasil dari DFA yang direduksi menjadi:
0,1
0
q0

0,1

q1,2,3

q4

Teori Bahasa dan Automata

Suluh sw

Anda mungkin juga menyukai