Anda di halaman 1dari 22

Teori Bahasa dan Automata

Finite State Automata &


Non Finite State Automata
Finite State Automata

• 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)

• Aplikatif - berguna untuk merancang sistem nyata.

• Aplikasi meliputi : analisis leksikal, text-editor, protokol komunikasi


jaringan (kermit) dan parity checker (pengecek parity).

7 March 2013 Teori Bahasa dan Automata 2


Finite State Automata

• FSA atau AH (Automata Hingga)


• didefinisikan 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

7 March 2013 Teori Bahasa dan Automata 3


Finite State Automata

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.

7 March 2013 Teori Bahasa dan Automata 4


16 kemungkinan kombinasi state
Sisi kiri Sisi Kanan Simbol State
Sisi kiri Sisi Kanan Simbol State PSKR Ø PSKR – Ø
SR PK SR – PK
PSKR Ø PSKR – Ø
PSR K PSR – K
SR PK SR – PK
PSK R PSK – R
SK PR SK – PR
KR PS KR – PS PKR S PKR – S
PSR K PSR – K PK SR PK – SR
PSK R PSK – R K PSR K – PSR
PKR S PKR – S
R PSK R – PSK
PK SR PK – SR
S PKR S – PKR
PR SK PR – SK
PS KR PS – KR Ø PSKR Ø – PSKR
K PSR K – PSR
R PSK R – PSK
S PKR S – PKR Dari 16 kemungkinan kombinasi
SKR P SKR – P state , hanya 10 state yang
P SKR P – SKR memenuhi syarat.
Ø PSKR Ø – PSKR

7 March 2013 5
Teori Bahasa dan Automata
PK P

P
PKSR - Ø SR - PK PSR - K
PK
PR
PS
PR
PS
R - PKS S- PKR

PK
PK PK
PK

PKS - R
PKR - S
Diagram Transisi
PS
PR
PR PS

K - PSR

P
PK - SR

PK PK

Ø - PKSR
7 March 2013 Teori Bahasa dan Automata 6
Deterministic FSA

Ada dua jenis FSA :

• Deterministic finite automata (DFA)


• Non deterministik finite automata.(NFA)

• DFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tertentu.
δ : Q  ∑ Q
• NFA : transisi state FSA akibat pembacaan sebuah simbol bersifat tak
tentu.
δ : Q  ∑  2Q

7 March 2013 Teori Bahasa dan Automata 7


Deterministic Finite Automata

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


dimana :

Q : himpunan state/kedudukan
∑ : himpunan simbol input
∂ : fungsi transisi, dimana ∂  Q x ∑  Q
S : State awal (initial state)
F : himpunan state akhir (Final State)

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

7 March 2013 Teori Bahasa dan Automata 8


Deterministic Finite Automata
DFA :
Q = {q0, q1, q2}
δ diberikan dalam tabel berikut :

∑= {a, b} δ a b
S = q0 q0 q0 q1 L(M) =
F = {q0, q1} q1 q0 q2 {abababaa, aaaabab,aabababa,…}
q2 q2 q2
a
a
b

q0 q1 q2 b

a b

7 March 2013 Teori Bahasa dan Automata 9


Deterministic Finite Automata
Telusurilah, apakah kalimat-kalimat berikut diterima DFA di atas :
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.

7 March 2013 Teori Bahasa dan Automata 10


Non Deterministic Finite Automata

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)

7 March 2013 Teori Bahasa dan Automata 11


13024

Non Deterministic Finite Automata


Berikut ini sebuah contoh NFA (Q, ∑, δ, S, F). dimana :
Q = {q 0, q1 , q2 ,q3 , q4 }

δ diberikan dalam tabel berikut :

∑= {a, b,c} δ 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   

7 March 2013 Teori Bahasa dan Automata 12


∑= {a, b,c} δ 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
L(M) = {aabb,…}
q0 q1
q1
b a
c
b
q3 q2 q4

a,b,c a,b,c
c

7 March 2013 Teori Bahasa dan Automata 13


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

7 March 2013 Teori Bahasa dan Automata 14


Ekuivalensi Antar Deterministic Finite Automata
• Dua DFA M1 dan M2 dinyatakan ekivalen apabila L(M1) =
L(M2)
0

0
q0 q1
M1

q0

M2

7 March 2013 Teori Bahasa dan Automata 15


Reduksi Jumlah State Pada FSA

• 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

7 March 2013 Teori Bahasa dan Automata 16


Reduksi Jumlah State Pada FSA
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

7 March 2013 Teori Bahasa dan Automata 17


Reduksi Jumlah State Pada FSA - Relasi
Pasangan dua buah state memiliki salah satu kemungkinan :
distinguishable atau indistinguishable tetapi tidak kedua-duanya. Dalam
hal ini terdapat sebuah relasi :

Jika p dan q indistinguishable,


dan q dan r indistinguishable
maka 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

7 March 2013 Teori Bahasa dan Automata 18


Reduksi Jumlah State Pada FSA – Step
• 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.

7 March 2013 Teori Bahasa dan Automata 19


Reduksi Jumlah State Pada FSA – Contoh

Sebuah Mesin DFA

q1
0 1

0 0 0,1
q0 q4
1
q2

1 0
0 1

q3 q5
1
Lakukan Reduksi state pada
DFA diatas?

7 March 2013 Teori Bahasa dan Automata 20


Reduksi Jumlah State Pada FSA – Step
• 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.
7 March 2013 Teori Bahasa dan Automata 21
Reduksi Jumlah State Pada FSA – Step
• 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 pasangan-pasangan 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 0,1

q0 0,1 q1,2,3 1 q4

7 March 2013 Teori Bahasa dan Automata 22

Anda mungkin juga menyukai